【问题标题】:IBM MobileFirst 6.3 Firing Push Event Source Callback on app startupIBM MobileFirst 6.3 在应用程序启动时触发推送事件源回调
【发布时间】: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 我验证并确认行为是相同的。让我感到困惑的是,回调不是在启动时直接触发,而是在身份验证后触发,这是正确的做法。
  • 对我来说这听起来像是正确的行为。您确实需要对框架进行身份验证,以验证您有权接收推送通知内容 - 它与用户以及设备相关联。

标签: push-notification ibm-mobilefirst


【解决方案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);
    };
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多