开发者

APNS JSON PAYLOAD - more arguments

开发者 https://www.devze.com 2023-03-05 09:26 出处:网络
I need to add some arguments to a json payload for APNS service. How can i do this? this is the documentation of apple: http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Concept

I need to add some arguments to a json payload for APNS service. How can i do this? this is the documentation of apple: http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/ApplePushService/ApplePushService.html#//a开发者_JAVA技巧pple_ref/doc/uid/TP40008194-CH100-SW1

When i try to send a message with close and view buttons, i need to add two more arguments that my mobile application needs. Any idea?


Not sure if you got the answer yet. But this is what the documentation mentions

Providers can specify custom payload values outside the Apple-reserved aps namespace. Custom values must use the JSON structured and primitive types: dictionary (object), array, string, number, and Boolean.

So in order to add custom values to your payload, just add them as key-value pairs in your payload. Something like this

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

Here custom_key1 and custom_key2 are your custom keys and value1 and value2 are their values.


In case someone is still wondering :

$body = (array('aps' => array('alert' => $message,'sound' => $sound_file_wav),   "some_key" => "custom_id"));
$payload = json_encode($body);


I use the following in 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
    ))
));
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号