以下代码用于从php脚本向我的ios应用程序发送消息:
$url = 'https://android.googleapis.com/gcm/send';
$fields = array(
'registration_ids' => $devices,
'data' => array("message"=>"hi")
);
$headers = array(
'Authorization: key=' . $apiKey,
'Content-Type: application/json'
);
$ch = curl_init();
curl_setopt( $ch,CURLOPT_URL, $url );
curl_setopt( $ch,CURLOPT_POST, true );
curl_setopt( $ch,CURLOPT_HTTPHEADER, $headers );
curl_setopt( $ch,CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch,CURLOPT_SSL_VERIFYPEER, false );
curl_setopt( $ch,CURLOPT_POSTFIELDS, json_encode( $fields ) );
$result = curl_exec($ch );
curl_close( $ch );
此代码功能正常但我希望能够发送推送通知而不仅仅是消息。但是,当我按照Google云消息传递文档中的描述添加通知有效负载时,方法应用程序:didReceiveRemoteNotification:fetchCompletionHandler:不会被调用。
$fields = array(
'registration_ids' => $devices,
'content_available' => true ,
'notification' => array("title" => "title", "body"=>"body"),
'data' => array("message"=>"hi")
);
我有一个apns开发证书,我在代理中注册了我的app通知。我也成功从谷歌获得了一个设备令牌。非常感谢您的帮助。谢谢!
答案 0 :(得分:1)
您是否正在使用Apple Watch进行测试。 title
中的notification
密钥仅用于根据此处https://developers.google.com/cloud-messaging/server-ref的监视。
您应该只在body
词典中使用notification
键,然后查看它是否有效。