APNS JSON PAYLOAD - больше аргументов - PullRequest
9 голосов
/ 10 мая 2011

Мне нужно добавить некоторые аргументы в полезную нагрузку json для службы APNS.Как я могу это сделать?Это документация Apple: http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/ApplePushService/ApplePushService.html#//apple_ref/doc/uid/TP40008194-CH100-SW1

Когда я пытаюсь отправить сообщение с помощью кнопок закрытия и просмотра, мне нужно добавить еще два аргумента, которые нужны моему мобильному приложению.Есть идеи?

Ответы [ 3 ]

25 голосов
/ 13 мая 2011

Не уверен, что вы уже получили ответ.Но это то, что упоминается в документации

Поставщики могут указывать пользовательские значения полезной нагрузки вне зарезервированного Apple пространства имен aps.В пользовательских значениях должны использоваться структурированные и примитивные типы JSON: словарь (объект), массив, строка, число и логическое значение.

Поэтому, чтобы добавить пользовательские значения в полезную нагрузку, просто добавьте их в качестве ключапары в вашей полезной нагрузке.Примерно так

{
    "aps":{
        "alert":"Your Message",
        "sound":"push1.wav"
     },
     "custom_key1":"value1",
     "custom_key2":"value2"
}

Здесь custom_key1 и custom_key2 - ваши пользовательские ключи, а value1 и value2 - их значения.

1 голос
/ 06 июля 2015

На случай, если кому-то все еще интересно:

$body = (array('aps' => array('alert' => $message,'sound' => $sound_file_wav),   "some_key" => "custom_id"));
$payload = json_encode($body);
0 голосов
/ 21 апреля 2014

Я использую следующее в PHP

$title = 'My Test Message';
$sound = 'doorbell.caf';
$msgpayload=json_encode(array('aps' => array('alert' => $title,'sound' => $sound,)));


$response = $sns->publish(array(
    'TopicArn' => $TopicArn,
    'MessageStructure' => 'json',
    'Message' => json_encode(array(
        'default' => $title,
        'APNS_SANDBOX' => $msgpayload
    ))
));
...