[英]PhonegapPluginPush - getting "OK" as push data
当应用程序被终止时,我们试图从推送中获取数据。
这里有一个堆栈信息:
Android: 8
device: Xiaomi Redmi 5
cordova: 7.1.0
cordova-android: 6.4.0
phonegap-plugin-push: 2.1.2
注册和处理程序集
用户注册FCM令牌和 exec。 以下代码。 最后
push.on('notification', (data) => {
.... statement_1
callbackA(data);
})
push.subscribe('notification', (data) => {
.... statement_2
// This statement is called only if
// app is closed and the user taps
// onto notification in the shade
})
由于 Android / App Closed 的问题,我们正在注册和订阅同一个“通知”事件。 (通常,如果用户在应用程序被终止时点击通知,则不会触发“通知”事件 - 请参阅https://github.com/phonegap/phonegap-plugin-push/issues/2859 )
服务器推送请求示例
{
"registration_ids" : [ "...." ],
"priority" : 5,
"data" : {
"title" : "Push with URL",
"message" : "Questo invece è un esempio di push con un URL ",
"purpose" : "NEWS",
"id" : "2",
"notId" : 5,
"url" : "https://www.ciao.it/",
"actions":[
{
"title":"Accept",
"callback":"show",
"foreground":true
}
]
}
}
问题是现在,事件被正确触发,但插件传递广告数据“OK”字符串而不是推送两个语句(1-2)的数据。
怎么了??
(仅供参考:正常场景[背景,前景]就像一个魅力!)
超级感谢提前
我们解决考虑 ADB logcat。
在app重新打开的过程中,很明显监听器是在插件的intent处理完之后注册的。
所以,作为主“.run”模块语句的第一行,我们把下面的代码
$ionicPlatform.ready(function() {
if (ionic.Platform.isAndroid()) {
var push = PushNotification.init({
android: {}
});
push.on("notification", function(data) {
$$PushManager.init(data);
});
}
});
有了上面的行,我们就可以用负责它的服务来处理推送。
西蒙
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.