Приложение с phonegap-plugin-push 2.0.0 android вылетает при отправке сообщения - PullRequest
0 голосов
/ 07 мая 2018

Я использую phonegap-push-plugin 2.0.0 и FCM. Приложение Android вылетает при отправке уведомлений. Вот соответствующие коды.

Файл config.xml:

<platform name="android">
    <resource-file src="google-services.json" target="/google-services.json" />
</platform>

<plugin name="cordova-plugin-device" spec="2.0.2" source="npm" />   
<plugin name="phonegap-plugin-push" spec="2.0.0" source="npm">
    <variable name="SENDER_ID" value="1:XXXXXXXX:android:YYYYYYY" />
</plugin>

В коде Javascript:

function onDeviceReady() 
{
    registerForFCMPushNotifications();
    //... more code
}

function registerForFCMPushNotifications()
{
    var notificationObj = PushNotification.init({
        android: {
            senderID: "XXXXXXXXX",
            badge: "true",
            sound: "true",
            vibrate: "true",
            topics: ["all"],
            forceShow: "false"
        },
        ios: {
        },
        windows: {}
    });

    notificationObj.on('registration', function(data) {alert('Id='+data.registrationId);});
    notificationObj.on('notification', function(data) {alert("Got notification");});
    notificationObj.on('error', function(e) {alert( e.message );});
}

Идентификатор отправителя взят из самой консоли FCM.

Наблюдаемое поведение: Если уведомление отправляется во время работы моего приложения, оно выдает сообщение, что, к сожалению, приложение остановлено.

Если уведомление отправляется, когда приложение не запущено, уведомление не отображается на телефоне.

Пожалуйста, совет.

1 Ответ

0 голосов
/ 10 мая 2018

Удалить / из файла ресурсов /google-services.json, чтобы он стал

<resource-file src="google-services.json" target="google-services.json" />

убедитесь, что google-services.json находится в корневом каталоге

в config.xml

<plugin name="phonegap-plugin-push" spec="^2.0.0">
    <variable name="SENDER_ID" value="XXXXXXXXXX" />
</plugin>

также включает SENDER_ID в package.json (если используется для других сборок)

  "phonegap-plugin-push": {
    "SENDER_ID": "XXXXXXXXXX"
  }
...