使用HTTP协议发送Firebase云消息

时间:2017-09-25 06:51:21

标签: android ios firebase firebase-cloud-messaging

我想使用FCM为Android,iOS和网络构建聊天应用。我希望我的消息存储在我的服务器中,所以我的想法是将消息从我的应用程序发送到我的服务器,然后从我的服务器发送到使用firebase的其他app用户。我发现了这种方法(https://firebase.google.com/docs/cloud-messaging/http-server-ref)来发送邮件,但我的问题是,是否会使用xmpp将邮件传递给我的应用程序?传递信息会有什么额外的延迟吗?我可能会和50个参与者聊天,这会有问题吗?

1 个答案:

答案 0 :(得分:0)

您可以使用PHP发送带有curl的消息

function sendGCM($message, $id) {


    $url = 'https://fcm.googleapis.com/fcm/send';

    $fields = array (
            'registration_ids' => array (
                    $id
            ),
            'data' => array (
                    "message" => $message
            )
    );
    $fields = json_encode ( $fields );

    $headers = array (
            'Authorization: key=' . "YOUR_KEY_HERE",
            'Content-Type: application/json'
    );

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

    $result = curl_exec ( $ch );
    echo $result;
    curl_close ( $ch );
}

?>

$ message是您要发送到设备的消息

$ id是设备注册令牌

YOUR_KEY_HERE是您的服务器API密钥(或旧版服务器API密钥)