Firebase通知。在同一个项目中订阅包含不同应用的主题

时间:2016-11-06 15:11:52

标签: android firebase firebase-cloud-messaging firebase-notifications

我在firebase中创建了一个带有多个应用程序的项目。每个应用程序都有不同的包。 One Project

第一个应用:

 package="com.example.miguelprades.notificacacionesfirebase2" 

可以订阅主题(并创建它们)。我使用下面的代码

FirebaseMessaging.getInstance().subscribeToTopic("Noticias2");

但第二个申请:

package = "com.miguelprades.bandolero"

无法订阅第一个应用创建的主题,也无法创建新主题。但是,我可以通过控制台向两个应用程序发送通知。

Send notificatios via packages

我的问题是,如何使用第二个应用创建主题?如果它不可行,我如何将通知发送到我在控制台中制作的具体包?

我使用以下代码发送nofications,这段代码可能对某人有用。

public function SendNotificationFirebase($titulo ,$mensaje,$paquete,$serverKey){
    $message = array("message" => "$titulo");
    $notification = array("message" => $titulo, "body" => $mensaje, "icon" => "ic_launcher");
    $url = 'http://fcm.googleapis.com/fcm/send';

    $fields = array(
        'to' => "/topics/Noticias3",
        'data' => $message,
        'notification' => $notification);


    $headers = array(
        'Authorization:key = '.$serverKey,
        '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_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;
}

0 个答案:

没有答案