Установки плагина для разбора Phonegap отображаются, но уведомления не принимаются

#android #parsing #cordova #push-notification

#Android #синтаксический анализ #кордова #push-уведомление

Вопрос:

Я получаю установку, отображаемую в браузере Parse data, правильное имя приложения, номер версии, идентификатор установки, и я подписываюсь на канал на основе идентификатора сеанса пользователя, все это отображается в правильных столбцах, но столбец deviceToken пуст (хотя я не уверен, нужен ли Androidэто или просто iOS)

Когда я пытаюсь отправить push из Parse, он показывает правильное количество получателей, статус отображается как выполненный в Parse, но PN никогда не приходит на телефон.

Это приложение Cordova 3.5.0, это код, который я использую в deviceready функции. Опять же, я не уверен, что мне нужно получить installationId, поскольку я его не использую, но во всех руководствах, которые я видел, кажется, упоминается это после метода инициализации:

 // init parse
window.parsePlugin.initialize(
    "app_id", 
    "client_key",
    function() {
        console.log( 'PARSE INIT OK' );
        window.parsePlugin.getInstallationId(function(id) {
            installationID = id;        

        }, function(e) {
            console.log("Error Getting ID: "   e.code   " : "   e.message);
        })
    }, 
    function( e ) {
        console.log( 'PARSE FAILED' );
    }
);
 

Я вижу сообщение «PARSE INIT OK» в logCat в Eclipse.

Я установил плагин из этого репозитория: https://github.com/benjie/phonegap-parse-plugin

Ответ №1:

На данный момент я исправил это, вручную добавив следующее к своей основной деятельности:

 // register device for parse
Parse.initialize(this, "app_id", "client_key");
PushService.setDefaultPushCallback(this, MyApp.class);
ParseAnalytics.trackAppOpened(getIntent());
ParseInstallation.getCurrentInstallation().saveInBackground();
 

Это работает, но я бы предпочел не изменять основной класс Activity — я надеюсь, что я сделал что-то простое неправильно с плагином, но пока это работает.

Если я смогу найти способ заставить плагин использовать перехват для добавления кода в класс onCreate, я обновлю ответ