我是PHP开发的初学者,我想make push notification
使用firebase云消息传递到my iOS App
。如果我通过firebase控制台撰写邮件,我可以将Firebase Cloud Messaging控制台的通知发送到我的客户端应用程序。
但如果我从我自己的PHP服务器撰写邮件,则无法在我的客户端应用中收到通知。我的后端服务器似乎无法连接到iOS firebase cloud messaging
。我错过了像我的PHP代码中编写的API密钥吗?
我使用APNs身份验证密钥连接APN和FCM,而不是APNs证书。
我也为我的Android应用程序制作了push notification
,我可以将notification from Firebase console
以及我自己的服务器发送到我的client app
。
我对从firebase到我的PHP脚本的API感到困惑。我应该从我的Firebase复制并粘贴到我的PHP脚本的API Access密钥是什么?
define( 'API_ACCESS_KEY', 'YOUR-SERVER-API-ACCESS-KEY-GOES-HERE' );
我收到了回复消息
无效(传统)已发送的服务器密钥或发件人未获得授权 执行请求。
这是我在PHP脚本中使用的完整代码,用于将通知发送到我的iOS应用程序。
<?php
#API access key from Google API's Console
define( 'API_ACCESS_KEY', 'YOUR-SERVER-API-ACCESS-KEY-GOES-HERE' );
$registrationIds = $_GET['id'];
#prep the bundle
$msg = array
(
'body' => 'Body Of Notification',
'title' => 'Title Of Notification',
'icon' => 'myicon',/*Default Icon*/
'sound' => 'mySound'/*Default sound*/
);
$fields = array
(
'to' => $registrationIds,
'notification' => $msg
);
$headers = array
(
'Authorization: key=' . API_ACCESS_KEY,
'Content-Type: application/json'
);
#Send Reponse To FireBase Server
$ch = curl_init();
curl_setopt( $ch,CURLOPT_URL, 'https://fcm.googleapis.com/fcm/send' );
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 );
#Echo Result Of FireBase Server
echo $result;
这里出了什么问题?提前谢谢:)