我在firebase中创建了一个带有多个应用程序的项目。每个应用程序都有不同的包。
第一个应用:
package="com.example.miguelprades.notificacacionesfirebase2"
可以订阅主题(并创建它们)。我使用下面的代码
FirebaseMessaging.getInstance().subscribeToTopic("Noticias2");
但第二个申请:
package = "com.miguelprades.bandolero"
无法订阅第一个应用创建的主题,也无法创建新主题。但是,我可以通过控制台向两个应用程序发送通知。
我的问题是,如何使用第二个应用创建主题?如果它不可行,我如何将通知发送到我在控制台中制作的具体包?
我使用以下代码发送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;
}