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
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
))
));