push не инициируется при попытке создать гибридное приложение для Android

Я пытаюсь реализовать push-уведомления с помощью bluemix и mobilefirst. Я использовал следующие ссылки для реализации

  1. http://www.ibm.com/developerworks/library/mo-cordova-push-app/
  2. http://mbaas-gettingstarted.ng.bluemix.net/hybrid#initialize-push -

Когда я запускаю приведенный ниже код, в консоли появляется следующее сообщение:

initPush вызвал ---------------- main.js: 29 вызов bluemix initialize со значениями ---------------------- IBMBluemixHybrid.js: 2956 [ИНФОРМАЦИЯ] [ПО УМОЛЧАНИЮ] Гибридная инициализация ["applicationid", "applicationsecret", "applicationroute"]

Я также не вижу сведений об устройстве в списке зарегистрированных bluemix. Не могли бы вы мне помочь?

var values = {
            applicationId:"applicationId",
            applicationRoute:"applicationRoute",
            applicationSecret:"applicationSecret"
        };
        console.log("initPush called---------------------------------");           
           console.log("calling bluemix initialize with values--------------------------------");

           IBMBluemix.initialize(values).then(function(status) {
              console.log("IBM Bluemix Initialized", status);
              return IBMPush.initializeService();
           }, function (err) {
              console.error("IBM Bluemix initialized failed" , err);
           }).then(function(pushObj) {
                  function pushReceived(info) {
                       console.log("registerListener - " + info.alert);
                       alert('got a push message! ' + info.alert);
                  }
              console.log("IBM Push Initialized", pushObj);
              push = pushObj;
              return push.registerDevice("LisaTest","Lisa123","pushReceived");
           }, function (err) {
              console.error("IBM Bluemix Push initialized failed" , err);
           }); 

person Sharan Ainapurapu    schedule 22.10.2015    source источник


Ответы (1)


В коде необходимо заменить applicationId, applicationRoute и applicationSecret.

var values = {
        applicationId:"applicationId",
        applicationRoute:"applicationRoute",
        applicationSecret:"applicationSecret"
    };

с теми, которые получены из вашего внутреннего приложения Bluemix.

На панели управления bluemix для вашего приложения щелкните мобильные параметры в правом верхнем углу, чтобы увидеть свой идентификатор и маршрут.

введите здесь описание изображения  введите описание изображения здесь

Чтобы получить секрет, перейдите на панель управления Mobile Application Security по ссылке справа, и ваш секрет будет отображаться на этой странице. введите здесь описание изображения

person James Young IBM    schedule 22.10.2015
comment
Спасибо за быстрый ответ. Я установил ценности, которые вы разделяли. Я не хотел делиться подробностями, поэтому заменил applicationId, applicationRoute и applicationSecret. Это не сработало даже тогда. Я не думаю, что обратный вызов будет успешным или неудачным. - person Sharan Ainapurapu; 26.10.2015
comment
Я открыл файл condova.js внутри проекта. Я видел что-то под названием var PLATFORM_VERSION_BUILD_LABEL = '3.6.4'. Я предполагаю, что это версия кордовы. Поправьте меня, если я ошибаюсь. Я использую mobilefirst 7.1. Возможно, эти цифры могут дать вам некоторую подсказку. Дайте мне знать, если вам нужна дополнительная информация - person Sharan Ainapurapu; 26.10.2015
comment
Вы можете проверить версию Cordova на своем терминале, запустив cordova -v, если вы изначально использовали NPM для установки Cordova, вы можете перейти на версию 4.3, удалив Cordova с помощью npm -g uninstall cordova, а затем переустановив 4.3 с npm -g install [email protected] - person James Young IBM; 26.10.2015
comment
Это не обязательно означает, что версия Cordova, установленная на моем ноутбуке, должна совпадать с версией в проекте MF, верно? Повлияет ли это на MF, выполняя упомянутый вами процесс? - person Sharan Ainapurapu; 26.10.2015
comment
PLATFORM_VERSION_BUILD_LABEL, на который вы ссылались, - это просто версия сборки Cordova для платформы (ios, android, web) и не связана с версией CLI / lib, которую вы изменили до версии 4.3. Я не верю, что это повлияет на ваш MF, если это произойдет, просто отмените процесс и переустановите Cordova без спецификации @ 4.3.0. - person James Young IBM; 26.10.2015