我需要为APNS服务的json有效负载添加一些参数。我怎样才能做到这一点? 这是apple的文档:http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/ApplePushService/ApplePushService.html#//apple_ref/doc/uid/TP40008194-CH100-SW1
当我尝试发送带有关闭和查看按钮的消息时,我需要再添加两个我的移动应用程序所需的参数。 有什么想法吗?
答案 0 :(得分:25)
不确定你是否得到了答案。但这就是文档提到的内容
提供商可以指定自定义有效负载 苹果保留的aps以外的价值观 命名空间。自定义值必须使用 JSON结构化和原始类型: 字典(对象),数组,字符串, 数字和布尔值。
因此,为了向您的有效负载添加自定义值,只需将它们作为键值对添加到您的有效负载中。像这样的东西
{
"aps":{
"alert":"Your Message",
"sound":"push1.wav"
},
"custom_key1":"value1",
"custom_key2":"value2"
}
此处custom_key1
和custom_key2
是您的自定义密钥,value1
和value2
是他们的值。
答案 1 :(得分:1)
如果有人还在想:
$body = (array('aps' => array('alert' => $message,'sound' => $sound_file_wav), "some_key" => "custom_id"));
$payload = json_encode($body);
答案 2 :(得分:0)
我在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
))
));