我一直在寻找文档但似乎无法找到我的问题的答案。与Apple不同,生产和开发APN分离,允许进行测试,Android是否有类似的功能?我们有生产中的应用程序,但需要在内部测试推送通知而不影响我们的用户群。通过制作两个Firebase项目,是实现这一目标的唯一方法吗?
编辑: 并非所有的测试设备都可以看到,因为我们的一些测试是通过beta测试进行的。 谢谢
答案 0 :(得分:0)
很简单。获取要测试通知的设备/模拟器。 运行你的应用程序通过编写以下内容获取该设备的firebase密钥:
String firebaseKey = FirebaseInstanceId.getInstance().getToken();
现在,在您的服务器中使用此代码仅向该设备发送通知。
function sendSingleNotification($id, $message){
$fields = array(
'to' => $id,
'data' => $message,
);
$url = 'https://fcm.googleapis.com/fcm/send';
$headers = array(
'Authorization: key=' . API_ACCESS_KEY,
'Content-Type: application/json'
);
// Open connection
$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_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
$result = curl_exec($ch);
if ($result === FALSE) {
die('Curl failed: ' . curl_error($ch));
}
curl_close($ch);
return $result;
}