【发布时间】:2017-03-28 17:51:10
【问题描述】:
我创建了一个简单的 php 代码来向我的 android 设备发送通知,这些设备具有来自 firebase 实现的 google 登录方法。他们的令牌已经存储在我的数据库中。当我执行我的 php 时,它不会发送通知。不管是谁,如果我通过 firebase 通知控制台发送通知,它就可以工作。这是我的 php 代码。
function sendGCM($message, $registration_ids) {
//FCM URL
$url = "https://fcm.googleapis.com/fcm/send";
//prepare data
$fields = array (
'registration_ids' => array ($registration_ids),
'data' => array ("message" => $message)
);
$fields = json_encode ( $fields );
//header data
$headers = array ('Authorization: key=<YOUR_API_KEY>', 'Content-Type: application/json');
//initiate curl request
$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_POSTFIELDS, $fields );
// execute curl request
$result = curl_exec ( $ch );
//close curl request
curl_close ( $ch );
//return output
return $result;
}
错误: 当我执行这个 php 文件时,抛出这个错误:
{
"multicast_id": 5359746182596118281,
"success": 0,
"failure": 1,
"canonical_ids": 0,
"results": [
{
"error": "InvalidRegistration"
}
]
}
【问题讨论】:
-
您是否在 google 上查找过您的问题?有一整页关于 firebase 错误代码here 在 Stackoverflow 上发布之前,您应该尝试做一些研究。此外,可以不在这里显示您的 API 密钥,但请确保它已在您的代码中的标头中设置。
-
可能是因为您在注册 ID 中传递了一个数组,因此它变成了不正确的数组数组。尝试发送单个字符串令牌 ID,它应该可以工作。我已经开始工作了。
-
单个字符串?听起来很有趣,我会尝试并告诉你它是否有效
-
我已经试过了,但不是这样。
标签: php firebase firebase-cloud-messaging