通过Firebase云消息传递信息

时间:2018-05-24 08:00:22

标签: php android firebase firebase-cloud-messaging

我目前正在尝试为我的Android应用程序使用云消息传递。服务器使用php-curl通过PHP发送消息。

问题是服务器的响应始终是:

  

401:未经授权

我使用Firebase控制台中的WebAPI Access密钥作为我的应用程序,因此这绝对是正确的。下面是我用来发送数据的代码:

<?php

$fields = array(
    'to' => "<MY-RECIPIENT-TOKEN>",
    'notification' => array(
        'body' => 'Test message :)',
        'title' => 'Test',
        'icon' => 'myicon',
        'sound' => 'mySound'
    )
);

$headers = array(
    'Authorization:key=<MY AUTH KEY IS HERE>',
    'Content-Type:application/json'
);

$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;

从应用收到MY-RECIPIENT-TOKENMY AUTH KEY IS HERE是Firebase控制台的密钥。

我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

没关系。问题不在代码中,代码很好。如果有人偶然发现:FCM控制台中有2个键。当您转到项目设置时,您将找到Web-API-Key。这是您正在寻找的钥匙!你需要去设置 - &gt;云消息传递。在那里,您将看到更长的服务器密钥。 这个是您想要使用的密钥!