我正在尝试使用Android设备进行WL 6.0推送通知。推送通知工作正常。我也试图使用Polling。根据信息中心的文档,
对于轮询我们需要调用另一个过程,并且在我们从该过程方法得到响应的某些时间间隔之后,推送完成。如果我错了,请纠正我。
所以,据此,我已经声明了一个名为getNotificationsFromBackend
的新程序并调用了它。
WL.Server.createEventSource({
name: 'PushEventSource',
onDeviceSubscribe: 'deviceSubscribeFunc',
onDeviceUnsubscribe: 'deviceUnsubscribeFunc',
securityTest:'PushApplication-strong-mobile-securityTest',
poll: {
interval : 3,
onPoll: getNotificationsFromBackend
}
});
function getNotificationsFromBackend() {
WL.Logger.debug("hi");
}
现在,我遇到的问题是当我点击Subscribe
时(来自示例应用),控制台说它无法找到适配器。不知道什么是错的,请帮帮我。
我在控制台中得到这个,
[ERROR ] FWLSE0020E: Ajax request exception: Adapter 'PushAdapter' does not exist [project PushNotificationsProject]
[ERROR ] FWLSE0117E: Error code: 1, error description: INTERNAL_ERROR, error message: FWLSE0069E: An internal error occurred during gadget request [project PushNotificationsProject]Adapter 'PushAdapter' does not exist, User Identity {wl_authenticityRealm=null, wl_remoteDisableRealm=(name:null, loginModule:NullLoginModule), wl_antiXSRFRealm=(name:rcs7pje8os4fk6p59en152iqrq, loginModule:WLAntiXSRFLoginModule), PushAppRealm=(name:ss, loginModule:PushAppLoginModule), wl_deviceAutoProvisioningRealm=null, wl_deviceNoProvisioningRealm=(name:c343dd38-7688-35e2-8dde-2c6acaae1930, loginModule:WLDeviceNoProvisioningLoginModule), myserver=(name:ss, loginModule:PushAppLoginModule), wl_anonymousUserRealm=null}. [project PushNotificationsProject]
com.worklight.common.log.filters.ErrorFilter
答案 0 :(得分:1)
问题的原因是您的适配器未成功部署。我尝试了这个代码,它工作正常。按指定的时间间隔收到通知。
WL.Server.createEventSource({
name: 'PushEventSource',
onDeviceSubscribe: 'deviceSubscribeFunc',
onDeviceUnsubscribe: 'deviceUnsubscribeFunc',
securityTest:'PushApplication-strong-mobile-securityTest',
poll: {
interval : 3,
onPoll: 'getNotificationsFromBackend'
}
});
function getNotificationsFromBackend() {
WL.Logger.debug("hi");
submitNotification("User1","This is Poll Notification");
}
适配器代码的问题似乎缺少onPoll
参数的函数名称的引号。