1

私はプロのプログラマーではありません。PHP と Javascript で管理していますが、Pushwoosh メソッドを機能的な PHP または Javascript に変換するのに苦労しています。これは、変換の助けが必要な方法です:

メソッド /setTags

デバイスのタグ値を設定する

リクエスト:

{
  "request":{
    "application":"DEAD0-BEEF0",
    "hwid": 'device hardware id',
    "tags": {
      "tag1": "string value",
      "tag2": 42,
      "tag3": "string",
      "tag4": 3.14
    }
  }
}

これは、彼らがメソッドを投稿する方法です。これについて何か助けはありますか?

setTags に PHP を書きましたが、まだトークンの取得に取り組んでいるため、まだ確認できませんでした。このリンクについて質問があります。

Phonegap/Pushwoosh Android デバイス ID/トークンの取得

これは setTags 用の私の PHP です。これは JSON を使用して正しく見えますか? (私は自分のプロジェクトに遅れをとっています!)

<?php

define('PW_AUTH', 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
define('PW_APPLICATION', 'xxxxxxxxxx');
define('HW_ID', 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');

function doPostRequest($url, $data, $optional_headers = null) {
    $params = array(
        'http' => array(
            'method' => 'POST',
            'content' => $data
        ));
    if ($optional_headers !== null)
        $params['http']['header'] = $optional_headers;

    $ctx = stream_context_create($params);
    $fp = fopen($url, 'rb', false, $ctx);
    if (!$fp)
        throw new Exception("Problem with $url, $php_errmsg");

    $response = @stream_get_contents($fp);
    if ($response === false)
        return false;
    return $response;
}

function pwCall( $action, $data = array() ) {
    $url = 'https://cp.pushwoosh.com/json/1.3/' . $action;
    $json = json_encode( array( 'request' => $data ) );
    $res = doPostRequest( $url, $json, 'Content-Type: application/json' );
    print_r( @json_decode( $res, true ) );
}

pwCall( 'setTags', array(
    'application' => PW_APPLICATION,
    'auth' => PW_AUTH,
    'hwid' => HW_ID,
    'tags' => array(
                array(
                    'tag1' => 'string value',
                    'tag2' => 42,
                    'tag3' => 'string',
                    'tag4' => 3.14
                )
            )
        )
    );

?>

4

1 に答える 1

0

この JSON を変換してタグを Pushwoosh に送信する必要はありません。デバイスから Pushwoosh サーバーに直接送信されています。

于 2012-11-27T17:41:56.723 に答える