Firebase:php推送通知给多个devics

时间:2017-12-08 12:51:10

标签: php android firebase google-cloud-messaging

我正在使用以下代码向一个Android设备发送推送通知

function send_notification($message, $token){
    define( 'API_ACCESS_KEY', 'mykey');
     $msg = array
          (
            'body'  =>$message,
            'title' => 'You have a new message ',

          );
    $fields = array
            (
                'to'        => $token, 
                'notification'  => $msg
            );

    $headers = array
            (
                'Authorization: key=' . API_ACCESS_KEY,
                '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 );
        echo $result;
        curl_close( $ch );
}

我成功将其发送到一个设备,如果我想将其发送到多个设备ID,我必须在哪里循环以及数据格式是什么。请帮忙

2 个答案:

答案 0 :(得分:2)

Docs here显示如何为多播消息的收件人指定registration_ids。将$fields['to']替换为$fields['registration_ids'],其中包含一系列字符串,其中包含您的收件人'令牌。

答案 1 :(得分:0)

试试这个:

for($i=0;$i<count($TokenArray);$i++){
  send_notification($message, $TokenArray[$i]);
}