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 回答