1

我正在使用 Android 设备尝试 WL 6.0 推送通知。推送通知工作正常。我也尝试使用轮询。根据信息中心的文档,

对于轮询,我们需要调用另一个过程,并且在某些时间间隔后,当我们从该过程中获得响应时,方法推送完成。如果我错了,请纠正我。

因此,按照这个我已经声明了一个名为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
4

1 回答 1

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参数的函数名称缺少引号。

于 2013-10-03T11:14:47.000 回答