Не удалось зарегистрироваться для получения push-уведомлений в Oracle JET

Я выполнил шаги, указанные в ссылке ниже.

https://community.oracle.com/community/cloud_computing/oracle-cloud-developer-solutions/blog/2016/08/16/your-first-push-notification-based-oracle-jet-hybrid-application

Но я не могу зарегистрироваться для получения push-уведомлений при входе в систему.

function registerDeviceForMCSPush(mcsBackend) {  
    var defer = $.Deferred();  
    if (typeof PushNotification !== 'undefined') {  
        try {  
            var push = PushNotification.init({  
                "android": {  
                    // TODO replace Google Project Number here  
                    senderID: "55926"
                }  
            });  
            push.on('registration', function (data) {  
                var regId = data.registrationId;  
                deviceHandshakeforCordova(mcsBackend, regId);  
            });  
            push.on('notification', function (data) {  
                alert("Push Notification from Oracle MCS: " + data.message);  
            });  
            push.on('error', function (e) {  
                alert("Push Notification Error=" + e.message);  
            });  
        } catch (ex) {  
            alert("Error registering device with MCS" + ex);  
            defer.reject();  
        }  
    } else {  
        alert("PushNotification NOT Defined!");  
        defer.reject();  
    }  
    return $.when(defer);  
}  

Я получаю предупреждающее сообщение «Push-уведомление не определено» из кода


person Janaki Narayanan    schedule 31.03.2017    source источник
comment
Какую ссылку вы тоже имеете в виду? Этот?: community.oracle.com/community/cloud_computing/   -  person Chris Muir    schedule 01.04.2017
comment
Вы уверены, что это предупреждающее сообщение, которое вы получаете? В вашем коде нет сообщения, соответствующего тому, что вы описываете. Скорее, в финальном оповещении есть что-то похожее PushNotification NOT Defined!   -  person Chris Muir    schedule 01.04.2017
comment
вы можете найти это предупреждающее сообщение в другой части кода else { alert(PushNotification NOT Defined!); отложить.отклонить(); }   -  person Janaki Narayanan    schedule 01.04.2017


Ответы (1)


Oracle JET на базе Cordova не поставляется с готовыми push-уведомлениями, вместо этого обычно добавляется сторонний плагин Cordova, такой как https://github.com/phonegap/phonegap-plugin-push. Я подозреваю, что ошибка, которую вы получаете, указывает на то, что вы не добавили сторонний плагин.

Вы добавляете это в свой проект JET,

а) cd'ing в каталог вашего приложения, а затем cd'ing в гибридный каталог

б) выполнение следующей команды:

Плагин Cordova add phonegap-plugin-push --variable SENDER_ID="XXXXXXXX"

... где XXXXXXX соответствует номеру проекта в консоли разработчика Firebase.

В этом видео объясняется полный набор шагов по настройке push-уведомлений в JET с помощью Oracle Mobile Cloud Service в соответствии с шагами из статьи, и он должен помочь вам узнать, как все это работает: https://youtu.be/6n-1-bo2_iQ

person Chris Muir    schedule 01.04.2017
comment
Я добавил плагин, как описано в ссылке. Я добавил плагин в гибридную папку проекта (поскольку он запросил проект Cordova) - person Janaki Narayanan; 01.04.2017