[英]IBM Worklight 6.3 MobileFirst Push notification : Unable to subscribe
I am trying to integrate push notifications in my MobileFirst project. 我正在尝试将推送通知集成到我的MobileFirst项目中。 I am successfully able to connect to the MobileFirst server but, when I try to subscribe my device for push notifications, I get the following error in console, Can't subscribe, notification token is not updated on the server.
我可以成功连接到MobileFirst服务器,但是,当我尝试为推送通知订阅我的设备时,控制台出现以下错误: 无法订阅,服务器上的通知令牌未更新。
There is a possibility that, I am not able to get the WL.Client.Push.onReadyToSubscribe
function triggered. 我有可能无法触发
WL.Client.Push.onReadyToSubscribe
函数。
Please find the code along with log messages: 请找到代码以及日志消息:
Client side code (main.js): 客户端代码(main.js):
function wlCommonInit(){
// Common initialization code goes here
HybridJS.init();
WL.Client.connect({onSuccess: connectSuccess, onFailure: connectFailure});
}
function connectSuccess() {
alert("Successfully connected to MobileFirst Server.");
}
function connectFailure() {
alert ("Failed connecting to MobileFirst Server.");
WL.SimpleDialog.show("Push Notifications", "Failed connecting to MobileFirst Server. Try again later.",
[{
text : 'Reload',
handler : WL.Client.reloadapp
},
{
text: 'Close',
handler : function() {}
}]
);
}
alert("WL.Client.Push : "+WL.Client.Push);
//if (WL.Client.Push){
WL.Client.Push.onReadyToSubscribe = function() {
alert("onReadyToSubscribe");
WL.Client.Push.registerEventSourceCallback(
"myPush",
"PushAdapter",
"PushEventSource",
pushNotificationReceived);
};
//}
function isPushSupported() {
alert("In isPushSupported() function");
var isSupported = false;
isSupported = WL.Client.Push.isPushSupported();
alert(isSupported);
}
//--------------------------------- Subscribe ------------------------------------
function doSubscribe() {
alert("In do subscribe");
WL.Client.Push.subscribe("myPush", {
onSuccess: doSubscribeSuccess,
onFailure: doSubscribeFailure
});
}
function doSubscribeSuccess() {
alert("doSubscribeSuccess");
}
function doSubscribeFailure() {
alert("doSubscribeFailure");
}
//------------------------------- Handle received notification ---------------------------------------
function pushNotificationReceived(props, payload) {
alert("pushNotificationReceived invoked");
alert("props :: " + JSON.stringify(props));
alert("payload :: " + JSON.stringify(payload));
}
Steps followed and the remaining files used are as it is from the sample project provided in the link https://developer.ibm.com/mobilefirstplatform/documentation/getting-started-6-3/notifications/push-notifications-hybrid-applications/ 遵循的步骤和使用的其余文件均来自链接https://developer.ibm.com/mobilefirstplatform/documentation/getting-started-6-3/notifications/push-notifications-hybrid-applications中提供的示例项目。 /
Log messages: 日志消息:
12-31 05:26:01.694: D/NONE(9035): Clearing notification subscriptions.
12-31 05:26:01.710: D/NONE(9035): Clearing tag notification subscriptions.
12-31 05:26:01.730: D/NONE(9035): Send new server notification token id.
12-31 05:26:01.742: D/NONE(9035): Updating tag notification subscriptions.
12-31 05:26:01.766: D/GCMHelperUtil(9035): GCMHelperUtil.register in GCMHelperUtil.java:34 :: Registering with GCM server with senderId: 390717241217
12-31 05:26:01.790: D/NONE(9035): response [/apps/services/api/MyProject/android/init] success: /*-secure-
12-31 05:26:01.790: D/NONE(9035): {"userPrefs":{},"WL-Authentication-Success":{"wl_directUpdateRealm":{"userId":"null","attributes":{},"isUserAuthenticated":1,"displayName":"null","deviceId":"null"},"wl_remoteDisableRealm":{"userId":"null","attributes":{},"isUserAuthenticated":1,"displayName":"null","deviceId":"null"},"PushAppRealm":{"userId":"admin","attributes":{},"isUserAuthenticated":1,"displayName":"admin","deviceId":"admin"},"wl_antiXSRFRealm":{"userId":"iff3d23vg53u04sd8gf9vsajeo","attributes":{},"isUserAuthenticated":1,"displayName":"iff3d23vg53u04sd8gf9vsajeo","deviceId":"iff3d23vg53u04sd8gf9vsajeo"},"wl_deviceNoProvisioningRealm":{"userId":"5bd68445-7e7f-3ece-9072-6d4e5d910bff","attributes":{"mobileClientData":"com.worklight.core.auth.ext.MobileClientData@77b4a0fd"},"isUserAuthenticated":1,"displayName":"5bd68445-7e7f-3ece-9072-6d4e5d910bff","deviceId":"5bd68445-7e7f-3ece-9072-6d4e5d910bff"}},"notificationSubscriptionState":{"tags":["Push.ALL"],"credentials":"390717241217"},"gadgetProps":{"ENVIRONMENT":"android"},"userInfo":{"SubscribeServlet":{"userId":null,"attributes":{},"isUserAuthenticated":0,"displayName":null,"deviceId":null},"wl_directUpdateRealm":{"userId":"null","attributes":{},"isUserAuthenticated":1,"displayName":"null","deviceId":"null"},"SingleStepAuthRealm":{"userId":null,"attributes":{},"isUserAuthenticated":0,"displayName":null,"deviceId":null},"WorklightConsole":{"userId":null,"attributes":{},"isUserAuthenticated":0,"displayName":null,"deviceId":null},"wl_deviceAutoProvisioningRealm":{"userId":null,"attributes":{},"isUserAuthenticated":0,"displayName":null,"deviceId":null},"wl_deviceNoProvisioningRealm":{"userId":"5bd68445-7e7f-3ece-9072-6d4e5d910bff","attributes":{"mobileClientData":"com.worklight.core.auth.ext.MobileClientData@77b4a0fd"},"isUserAuthenticated":1,"displayName":"5bd68445-7e7f-3ece-9072-6d4e5d910bff","deviceId":"5bd68445-7e7f-3ece-9072-6d4e5d910bff"},"wl_anonymousUserRealm":{"userId":null,"attributes":{},"isUserAuthenticated":0,"displayName":null,"deviceId":null},"wl_authenticityRealm":{"userId":null,"attributes":{},"isUserAuthenticated":0,"displayName":null,"deviceId":null},"SampleAppRealm":{"userId":null,"attributes":{},"isUserAuthenticated":0,"displayName":null,"deviceId":null},"wl_remoteDisableRealm":{"userId":"null","attributes":{},"isUserAuthenticated":1,"displayName":"null","deviceId":"null"},"PushAppRealm":{"userId":"admin","attributes":{},"isUserAuthenticated":1,"displayName":"admin","deviceId":"admin"},"wl_antiXSRFRealm":{"userId":"iff3d23vg53u04sd8gf9vsajeo","attributes":{},"isUserAuthenticated":1,"displayName":"iff3d23vg53u04sd8gf9vsajeo","deviceId":"iff3d23vg53u04sd8gf9vsajeo"},"myserver":{"userId":"admin","attributes":{},"isUserAuthenticated":1,"displayName":"admin","deviceId":"admin"}}}*/
12-31 05:26:01.830: D/NONE(9035): wlclient connect success
12-31 05:30:09.419: E/NONE(9035): Can't subscribe, notification token is not updated on the server
Swami, your issue is nothing to do with code. 斯瓦米(Swami),您的问题与代码无关。 It is worklight configuration related issue.
这是与Worklight配置相关的问题。 This same code/example worked for me.
相同的代码/示例对我有用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.