分离生产的Android推送通知&发展

时间:2017-01-31 17:07:56

标签: android firebase push-notification firebase-cloud-messaging

我一直在寻找文档但似乎无法找到我的问题的答案。与Apple不同,生产和开发APN分离,允许进行测试,Android是否有类似的功能?我们有生产中的应用程序,但需要在内部测试推送通知而不影响我们的用户群。通过制作两个Firebase项目,是实现这一目标的唯一方法吗?

编辑: 并非所有的测试设备都可以看到,因为我们的一些测试是通过beta测试进行的。 谢谢

1 个答案:

答案 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;

}