Поэтому я хочу настроить таргетинг на один конкретный токен устройства через Urban Airship, но независимо от того, что я делаю, все мои устройства получают сообщение, предназначенное для определенного токена устройства.
Вот мой 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); //var_dump($push); $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);
URL, который вы используете, предназначен для трансляции. Чтобы отправить уведомление определенным устройствам, URL-адрес, который вы должны использовать, это «https://go.urbanairship.com/api/push/»
Urban Airship предоставил образец кода PHP для решения вашей проблемы.
Посмотрите здесь -> https://github.com/urbanairship/php-library/blob/master/sample.php