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
))
));
精彩评论