如何通过点击推送消息通知来启动应用程序

时间:2014-10-14 10:11:43

标签: android ios push-notification ibm-mobilefirst

我有一个Worklight应用程序,它接收来自服务器的推送通知。通知表示当前用户有来自其他用户的新消息。用户可以通过访问应用程序中的消息页面然后前往特定的对话页面来阅读它们。

我想区分用户意图之间的代码。该应用程序将:

  1. 如果用户正常启动应用程序(而不是通过点击新通知),请向用户显示常规应用程序主屏幕。
  2. 如果用户通过点击通知启动/恢复应用,请向用户显示消息页面。
  3. 如果在应用程序位于前台时收到,则仅更新屏幕上的消息计数(无论哪个页面处于活动状态)。
  4. 问题是:是否有可靠的方法来区分上述情况?

    在另一个帖子中,我看到了一个建议,要记住恢复事件和onReadyToSubscribe事件的时间戳,并假设我们在通知到达时处于睡眠/非活动状态,例如在此之后一秒钟。这使我能够区分2和3。

    但是,1不在此范围内。即如果有新消息,但用户正常启动应用程序,应用程序将无法知道这一点,并认为它是通过点击通知启动的。这样,用户打算查看应用程序主屏幕,但我们将他转移到消息页面。

    iOS和Android都有可靠的解决方法吗?

    Worklight vesion 6.2.0.00-20140922-2259。

1 个答案:

答案 0 :(得分:1)

在纯粹的原生应用程序中,您可以知道"用户在哪里打开了应用程序",这意味着是通过点击收到的通知还是点击应用程序图标。

在基于Worklight的混合应用程序 中,如果仅使用JavaScript API ,这是不可行的,因为所有路径都到达同一目的地{{ 1}}功能。因此,无论您是点击通知还是应用程序图标或将应用程序带到前台,都会调用上述功能。


解决方案可能是基于以下知识中心文档主题:Using native and JavaScript push APIs in the same app

这样,使用本机代码和JS代码的组合,您可以处理收到通知但用户决定点击应用程序图标而不是通知的情况。

端到端的示例在某种程度上会涉及到实现,但如果您按照文档主题中的代码示例进行操作,那么您应该到达那里......