Отправка устройства на устройство с помощью urbanairship с использованием Android и PHP

я использую этот код

define('APPKEY','XXXXXXXXXXXXXX'); 
define('PUSHSECRET', 'XXXXXXXXXXXXX '); // Master Secret
define('PUSHURL', 'https://go.urbanairship.com/api/push/broadcast/'); 


$msg = "This is a message intended for my iPad 3";

$devicetokens = array();
$devicetokens[0] = $devicetoken;

$contents = array(); 
$contents['badge'] = "1"; 
$contents['alert'] = $msg; 
$contents['sound'] = "default"; 

$push = array("aps" => $contents, "device_tokens" =>$devicetokens); 


$json = json_encode($push); 
$session = curl_init(PUSHURL); 
curl_setopt($session, CURLOPT_USERPWD, APPKEY . ':' . PUSHSECRET); 
curl_setopt($session, CURLOPT_POST, True); 
curl_setopt($session, CURLOPT_POSTFIELDS, $json); 
curl_setopt($session, CURLOPT_HEADER, False); 
curl_setopt($session, CURLOPT_RETURNTRANSFER, True); 
curl_setopt($session, CURLOPT_HTTPHEADER, array('Content-Type:application/json')); 
$content = curl_exec($session); 

var_dump($content); // just for testing what was sent

 // Check if any error occured 
$response = curl_getinfo($session);

Но ничего не происходит - я получаю "device_token содержит недопустимый токен устройства" ОШИБКА

Нужно ли отправлять токен устройства в определенном формате JSON? Я не могу найти документацию для этого метода. Я получил его из этот вопрос

заранее спасибо


person d4c0d312    schedule 25.08.2013    source источник


Ответы (1)


Хорошо, я получил это работает

Правильный формат: здесь

Необходимо изменить порядок и имена объектов и атрибутов JSON.

$msg = "This is a message intended for Nexus";

$devicetokens    = array(); 
$devicetoken     = "YOUR DEVICE TOKEN"; 
$devicetokens[0] = $devicetoken;

$contents = array(); 
$contents['alert'] = $msg; 
$contents['sound'] = "default";

$push = array("apids" =>$devicetokens, "android" => $contents);

$json = json_encode($push);
person d4c0d312    schedule 26.08.2013