Closed Jeff-Tian closed 9 years ago
嗯,应该不用,我之后详细看下
升级到最新的 2.40 了,也在 cordova 5.1.1 (cordova-android 4.0.2) 上实验过了。能正常接收推送。安装最新的试下?
cordova plugin add https://github.com/gengen1988/xgpush-cordova --save \
--variable ACCESS_ID="Your Access ID" \
--variable ACCESS_KEY="Your Access Key"
还有,看看包名是不是匹配?
我安装了最新的,还是不行。包名是不是匹配是指?在哪里看是否匹配?
我用 cordova 极光推送倒是成功了。我发现用极光推送有在 device ready 后做一个初始化,但是在这里没有发现这样的代码(号称不用,安装完就能收到通知),所以有点疑惑是不是因为没有正常初始化?如何强制初始化,并向信鸽发送设备信息呢?
我感觉我这边 APP 启动后 Register_Push() 没有被调用……
包名匹配是指,cordova 的 widget id 与信鸽注册的包名一致。
如果不一致,请修改 config.xml 中 widget 元素的 id 属性,保证和信鸽应用的一致。然后删了 platforms 和 plugins 文件夹,重新添加 platform 并执行 cordova prepare
。
插件初始化的时候已经注册了,所以安装后就能收。
文件: xgpush-cordova/src/android/v2/XGPushPlugin.java,34 行
// initialize
Context context = cordova.getActivity().getApplicationContext();
XGPushManager.registerPush(context);
如果要手动注册,直接在 js 里写:
xgpush.registerPush(function() {
// 成功后的回调
alert('register success');
}, function(errCode) {
// 失败后的回调
alert('error: ' + errCode);
});
目标平台是不是 arm 的手机?不是的话需要复制相应的 so 文件到 libs 里。
我在 device ready
事件里调用 registerPush()
,在设备上运行时报 Class not found
错误,请问是为什么?
xgpush.registerPush(function () {
console.log('XG success');
}, function (reason) {
console.error('XG Error');
// 这里报 Class not found 错误
console.error(reason);
});
另外,我用的目标手机是 arm 型的。
可不可以加个 QQ ?我的是 37179130.
这部分我正在改造中。完成后我会发个 release
改造完成了,我测过各个功能都没问题。装最新版吧
是不是执行了下面的命令后还需要什么配置呢?
cordova plugin add https://github.com/gengen1988/XGPush --save \ --variable ACCESS_ID="Your Access ID" \ --variable ACCESS_KEY="Your Access Key"