IBM MobileFirst 6.3 在应用程序启动时触发推送事件源回调
Posted
技术标签:
【中文标题】IBM MobileFirst 6.3 在应用程序启动时触发推送事件源回调【英文标题】:IBM MobileFirst 6.3 Firing Push Event Source Callback on app startup 【发布时间】:2015-02-19 16:25:30 【问题描述】:我想知道什么时候建议打电话
WL.Client.Push.registerEventSourceCallback
如果我们在应用关闭时通过点击推送通知打开应用时可以调用回调。
当我检查http://www-01.ibm.com/support/knowledgecenter/SSZH4A_6.2.0/com.ibm.worklight.apiref.doc/html/refjavascript-client/html/WL.Client.Push.html?cp=SSZH4A_6.2.0%2F10-0-0-1-8 ,我会读
ios 和 android 注册一个回调方法,只要有 通知从指定的事件源到达。如果 通知在应用程序未运行时到达,移动 操作系统在指定的回调处启动应用程序
我从这里了解到的是应用程序可以在启动时调用推送通知回调(当它关闭时)。
但是当我检查https://developer.ibm.com/mobilefirstplatform/documentation/getting-started-6-3/notifications/push-notifications-hybrid-applications/时,我可以阅读
如果应用程序在推送时处于后台模式(或非活动状态) 通知到达时,调用此回调函数 应用程序返回前台。
我的理解是启动时不会触发推送回调。
哪个页面是正确的,如果可以在应用启动时调用事件源回调,是否有任何示例?
【问题讨论】:
“我的理解是启动时不会触发推送回调。”。我不认为这是正确的。该链接表示回调函数 is 在启动时调用。为什么你认为不是? 可能结论是错误的,但该声明仅讨论应用程序在后台并返回前台的情况。我的问题是关于应用程序关闭(不在后台)的情况 公平点。不过,我认为这两种情况下的行为是相同的。我认为这应该很快就能得到验证。 @AndrewFerrier 我验证并确认行为是相同的。让我感到困惑的是,回调不是在启动时直接触发,而是在身份验证后触发,这是正确的做法。 对我来说这听起来像是正确的行为。您确实需要对框架进行身份验证,以验证您有权接收推送通知内容 - 它与用户以及设备相关联。 【参考方案1】:对我来说这听起来并不矛盾。
当应用关闭时,在启动时调用回调。 当应用打开(在后台)并返回到前台时,它会在应用返回到前台时调用。
【讨论】:
在这种情况下,我们应该何时调用 WL.Client.Push.registerEventSourceCallback ?我试图在 wlCommonInit() 中调用它,但它不起作用。 @idan Adar:有没有办法在应用程序关闭/杀死时获取事件?每当 Internet 连接发生变化时,我都会发送一个事件。【参考方案2】:经过测试和调试,我可以确认即使应用程序关闭,它也可以正常工作。 认证后调用事件源回调。
关于我什么时候推荐注册回调函数的问题,应该是在应用程序准备好订阅推送的时候,就像IBM提供的示例中一样:
if (WL.Client.Push)
WL.Client.Push.onReadyToSubscribe = function()
alert("onReadyToSubscribe");
WL.Client.Push.registerEventSourceCallback(
"myPush",
"PushAdapter",
"PushEventSource",
pushNotificationReceived);
;
【讨论】:
以上是关于IBM MobileFirst 6.3 在应用程序启动时触发推送事件源回调的主要内容,如果未能解决你的问题,请参考以下文章
IBM MobileFirst 6.3 在应用程序启动时触发推送事件源回调
无法在 IBM MobileFirst 6.3 中调用 window.plugins