Не могу получить pushwoosh для получения уведомлений на Android Cordova - PullRequest
0 голосов
/ 17 января 2019

По какой-то причине я не понимаю, я не получаю PN на моем устройстве Android.

Я настроил GCM в console.firebase.google.com.

Я поместил сгенерированный файл google-services.json в папку platform/android моего проекта cordova.

Я конечно установил плагин cordova pushwoosh-phonegap-plugin.

Я добавил и назвал этот код при загрузке моего приложения:

function initPushwoosh(store) {
    var pushwoosh = cordova.require("pushwoosh-cordova-plugin.PushNotification");

    // Should be called before pushwoosh.onDeviceReady
    document.addEventListener('push-notification', function(event) {
        console.log('RECEIVED PN: ',event);
    });

    // Initialize Pushwoosh. This will trigger all pending push notifications on start.
    pushwoosh.onDeviceReady({
        appid: "...",
        projectid: "..."
    });

    if (myApp.pnToken == null) {
        pushwoosh.registerDevice(
            function(status) {
                var pushToken = status.pushToken;
                console.log('received token',pushToken);
            },
            function(status) {
                console.error(status);
            }
        );
    }
    else {
        pushwoosh.getPushwooshHWID(function(pwid){console.log('PUSHWOOSH ID: ',pwid);});
    }
}

Во время выполнения я вижу, что мое приложение успешно подписалось на PUSHWOOSH (я получаю токен pw и у меня есть идентификатор клиента pw), и я вижу свое уникальное тестовое устройство Android в подсчете «подписчиков» Android в интерфейсе администратора Pushwoosh.

Однако событие «push-уведомления» никогда не запускается, когда я отправляю образец уведомления из интерфейса администратора PW ...

Вот еще немного информации с частью logcats:

    01-17 11:26:57.144 9254-9653/my.app D/Pushwoosh: [CordovaPlugin] Plugin Method Called: onDeviceReady
    01-17 11:26:57.145 9254-9653/my.app I/Pushwoosh: [NotificationManager] App ID: XXXXX-XXXXX
    01-17 11:26:57.147 9254-9653/my.app I/Pushwoosh: [NotificationManager] Sender ID: XXXXXXXXXX
    01-17 11:26:57.149 9254-9254/my.app D/Pushwoosh: onAppReady
        sendAppOpenEndTagMigrate
    01-17 11:26:57.154 9254-9653/my.app D/Pushwoosh: [CordovaPlugin] Plugin Method Called: getPushwooshHWID
    01-17 11:26:57.160 9254-9254/my.app D/Pushwoosh: [[BusinessCase]] trigger welcome-inapp
        [BusinessCase] welcome-inapp condition not satisfied
        [[BusinessCase]] trigger app-update-message
    01-17 11:26:57.161 9254-9254/my.app D/Pushwoosh: [BusinessCase] app-update-message condition not satisfied
    01-17 11:26:57.172 9254-9254/my.app D/Pushwoosh: [JobServiceEngineImpl] onStartJob: android.app.job.JobParameters@344323
    01-17 11:26:57.183 9254-18165/my.app D/Pushwoosh: [RequestManager] Try To send: applicationOpen; baseUrl: https://DB224-ABAD6.api.pushwoosh.com/json/1.3/

    01-17 11:26:57.588 9254-18165/my.app I/Pushwoosh: [RequestManager] 
        x
        |     Pushwoosh request:
        | Url: https://xxxxx.api.pushwoosh.com/json/1.3/applicationOpen
        | Payload: {"request":{"application":"XXXXXX","hwid":"xxxxxx","v":"5.11.0","device_type":3,"userId":"xxxxx","device_name":"Phone","language":"fr","timezone":3600,"android_package":"my.app","jailbroken":1,"device_model":"Samsung SM-G950F","os_version":"8.0.0","app_version":"1.3.4","notificationTypes":6}}
        | Response: {"status_code":200,"status_message":"OK","response":{"required_inapps":[]}}
        x

Что может быть не так?

Несколько вопросов: - platform/android - правильное место для файла google-services.json? - Другой вопрос: нужен ли какой-либо из этих шагов с плагином cordova? - Последний шаг (очевидно, необязательный) конфигурации Firebase SDK не заканчивается:

enter image description here

Может ли это иметь какое-либо значение?

1 Ответ

0 голосов
/ 18 января 2019

ОК, у меня было 2 вопроса: Сначала я использовал «старый» тип ключа сервера FCM, а мне следовало использовать новый. Во-вторых, я ожидал получить push-уведомление, когда приложение находится на переднем плане, прослушивая событие 'push-notification'. Вместо этого я должен был прослушать событие 'receive-push' ... Это решило проблемы, с которыми я столкнулся при получении уведомлений (и их драгоценного userdata в моем коде js).

...