使用FCM将通知发送到ios app bundle id

时间:2017-06-06 07:10:48

标签: javascript php firebase firebase-cloud-messaging

我正在建立一个api来在youtube频道上传视频。其中一项要求是,无论何时将视频成功上传到YouTube服务器,都必须使用Firebase Cloud Messaging将通知发送到ios应用包ID。 我在fcm控制台中使用bundle id com.tbox.ygtp注册了我的应用程序 我试图谷歌如何发送通知到ios应用程序,我发现以下API

 $url = 'https://fcm.googleapis.com/fcm/send';
    $server_key = 'AAAAylThdyA:APA91bGISSU********VTqHJqBnV81B3jfJzAice07E********HHLXTVylMU1OWSHvdyoZMVNlM8t9p9tXH_4OKm********fEOatp_alw9qMlQNT507lLWLt1N_FMHel1JCCWcuQjD';

    $fields = array();
    //$fields['data'] = $data;
    $fields['notification'] = array('body'=>$data);
    if(is_array($target)){
        $fields['registration_ids'] = $target;
    }else{
        $fields['to'] = $target;
    }
    //header with content_type and api key
    $headers = array(
        'Content-Type:application/json',
      'Authorization:key='.$server_key
    );

    $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('FCM Send Error: ' . curl_error($ch));
    }
    curl_close($ch);

    return $result;

此Api向设备令牌发送通知。但是我需要在应用程序包ID上发送通知。 有人可以指导我如何使用FCM将通知发送到应用程序包ID。

1 个答案:

答案 0 :(得分:0)

目前没有API或参数可用于仅向特定的捆绑包ID发送消息。此选项仅在通过Firebase Notifications Console发送邮件时可用。

作为一种变通方法,您可以使用Topic Messaging,通过订阅用户主题(您可以将其命名为您的包ID或更简单的别名),然后只需使用主题名称发送消息给用户。