在devextreme项目中获取不到RegistationID值

registrationid
android
收不到消息
标签: #<Tag:0x00007fb837bf8de8> #<Tag:0x00007fb837bf8ca8> #<Tag:0x00007fb837bf8b68>

(chellel) #1

我成功集成了JPush插件到我的eclipse中,并获取得到RegistatonID,现在我需要把jpush-phonegap-plugin插件添加到devextreme项目中,
比如引用device插件:

  <plugin name="cordova-plugin-device" />

就可以在我的项目中正常使用:

  function onDeviceReady() {
            alert(device.cordova);//获取在设备上运行的Cordova版本。
        }

现在我引用JPush插件:

  <plugin name="jpush-phonegap-plugin">
    <param name="APP_KEY" value="这里是APP_KEY的值"></param>
  </plugin>

然后在我的index.js中使用:

        document.addEventListener("deviceready", onDeviceReady, false);
        function onDeviceReady() {
            alert(device.cordova);//获取在设备上运行的Cordova版本。
            document.addEventListener("jpush.receiveRegistrationId", function (event: any) {
                alert("receiveRegistrationId" + JSON.stringify(event));
                alert(event.registrationId);
            }, false)
            initiateUI();
        }

        function getRegistrationID() {
            window.JPush.getRegistrationID(onGetRegistrationID);
        };

        function onGetRegistrationID(data) {
            try {
                alert("JPushPlugin:registrationID is " + data);

                if (data.length == 0) {
                    var t1 = window.setTimeout(getRegistrationID, 2000);
                }

                // $("#registrationId").html(data);
                alert(data);
            } catch (exception) {
                alert(exception);
            }
        };
        function initiateUI() {
            try {

                window.JPush.init();
                window.JPush.setDebugMode(true);
                window.setTimeout(getRegistrationID, 2000);

                if (device.platform != "Android") {
                    window.JPush.setApplicationIconBadgeNumber(0);
                }
            } catch (exception) {
                alert(exception);
            }
        }

这时获取不到RegistationID值,

检查 AppKey 和应用包名是否对应、是否调用了 init 方法
两种情况都有符合,我的项目包名是com.devextreme.NotifySomeone,在onDeviceReady中也初始化了JPush。


#2

开启 debug 取一下你的日志,如果拿不到registrationID ,除了可能需要延迟获取外,就是集成失败,日志里面会有相关的提示。