Плагин cordova fcm на Android-данные.wasTapped не работает

Я пытаюсь использовать плагин cordova fcm на Android для реализации данных, отправленных Firebase Cloud Messaging. Я успешно получил уведомления, но когда я их использую, они не дают предупреждение, которое я хочу.

Вот код, используемый в index.js:

onDeviceReady: function() { app.receivedEvent('deviceready'); FCMPlugin.onNotification( function(data){ if(data.wasTapped){ //Notification was received on device tray and tapped by the user. alert( JSON.stringify(data) ); }else{ //Notification was received in foreground. Maybe the user needs to be notified. alert( JSON.stringify(data) ); } }, function(msg){ alert('onNotification callback successfully registered: ' + msg); }, function(err){ alert('Error registering onNotification callback: ' + err); } ); }, 

И вот код php, который я использовал для отправки уведомления:

  function pushAndroidNotification ($productUrl, $message, $deviceToken) { $url = 'https://fcm.googleapis.com/fcm/send'; $fields = array( 'registration_ids' => array($deviceToken), 'notification' => array( "title" => "rBUX", "body" => $message, "icon" => "name_of_icon" ), 'data' => array("url" => $productUrl) ); $jfields = json_encode($fields); echo "\r\n<br>Post json:".$jfields; $headers = array( 'Authorization: key = AIzaSyBPRoJ7zgmevPYIzoDweVgNTbmsPBW5ofo', '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, $jfields); $result = curl_exec($ch); if ($result === FALSE) { echo "\r\n<br>Notify Failed:".curl_error($ch); die('Curl failed: '.curl_error($ch)); }else{ echo "\r\n<br>Notify passed:".$result; } $jresponse = json_decode($result, true); curl_close($ch); return $jresponse; } 

Но каждый раз, когда я запускаю приложение, я вижу предупреждение «успешно зарегистрированный обратный вызов onNotification: OK», поэтому плагин FCM не полностью отключен. Я хотел бы запустить url, когда я нажимаю на уведомление, но на данный момент кажется, что я даже не могу использовать данные. Если кто-нибудь знает, как это решить, пожалуйста, скажите мне, и, пожалуйста, дайте мне знать, как использовать строковые данные для запуска URL-адреса в кордове inAppBrowser, спасибо.

Для плагина «cordova-plugin-fcm» вам нужно установить click_action в FCM_PLUGIN_ACTIVITY в части полезной нагрузки уведомления.

Я получил следующее со своего веб-сайта :

 { "notification":{ "title":"Notification title", //Any value "body":"Notification body", //Any value "sound":"default", //If you want notification sound "click_action":"FCM_PLUGIN_ACTIVITY", //Must be present for Android "icon":"fcm_push_icon" //White icon Android resource }, "data":{ "param1":"value1", //Any data to be retrieved in the notification callback "param2":"value2" }, "to":"/topics/topicExample", //Topic or single device "priority":"high", //If not set, notification won't be delivered on completely closed iOS app "restricted_package_name":"" //Optional. Set for application filtering }