关于 Worklight 中的推送通知?

Posted

技术标签:

【中文标题】关于 Worklight 中的推送通知?【英文标题】:Regarding Push Notification In Worklight? 【发布时间】:2015-01-13 06:41:44 【问题描述】:
    推送通知已执行并在我的 应用。 (我使用了worklight推送通知模块IBM LINK) 有一个场景,我在 在应用程序 android 设备中收到通知。 在所有情况下都可以完美接收推送通知,除非我在登录屏幕中(当我在应用程序的登录屏幕中时,我的应用程序中没有收到推送通知)。

问题:

    为什么应用程序没有收到推送通知? 什么是客户端(设备端)架构/执行流程,我可以通过它 了解 PushNotification 接收器(广播 接收器)在设备中准备好接收通知,当它 收不到通知?

【问题讨论】:

【参考方案1】:

这是预期的行为。

您已经实现了基于事件源的 pus 通知。在这种类型的推送通知中,您必须先登录才能接收通知。这就是为什么当您在登录屏幕时,您不会收到通知。

如果您使用 Worklight 6.2 或 MobileFirst Platform 6.3,您可以使用不需要登录的基于标签或广播的通知。

您可以在 IBM MobileFirst Platform 开发人员中心阅读有关这些内容的更多信息。

以下是可能的场景的概要:

    应用程序已关闭 - 通知到达设备 - 通过打开应用程序/点击通知栏中的通知,您将获得登录屏幕。登录后,您实际上会看到有效负载(以您选择的方式,这纯粹是适用的)。您不会看到实际的负载,因为您不希望用户 B 看到用户 A 的负载。

    应用程序已打开 - 您已登录,但应用程序在后台 - 通知到达设备 - 通过点击通知或将应用程序置于前台,因为您已经登录,您会看到有效载荷

    应用程序已打开 - 您尚未登录 - 通知到达设备 - 您将无法看到有效负载,因为您尚未登录。

    应用程序已打开 - 您已登录,应用程序处于前台 - 通知到达设备 - 您将立即看到有效负载(根据您的应用程序代码)

【讨论】:

让我清楚地说我已经登录并再次登录的场景,而应用程序在后台运行时我可以收到通知,但是一旦我再次打开应用程序,它就会移动到登录屏幕,当时我无法接收通知,但之后我关闭应用程序而没有再次登录我在登录屏幕时无法收到的通知已经到了。那是你我很困惑我的设备端发生了什么? 是的,我得到了我测试的东西和上述场景,得到了你所说的,但我仍然不明白为什么我的应用程序在登录屏幕时无法收到通知。 按用户发送事件源通知。如果两个用户使用相同的应用程序,您不希望用户 B 获取属于用户 A 的数据。这就是该功能的实现方式。当应用打开时,应用自己处理通知而不是操作系统,所以你不会在通知栏中看到通知,就像已经到达应用一样。

以上是关于关于 Worklight 中的推送通知?的主要内容,如果未能解决你的问题,请参考以下文章

Worklight 6.1 中的默认推送通知声音

worklight中的推送通知,如何检索userId?

IBM Worklight:推送通知行为

IBM Worklight 5.0.5:通过操作系统的通知句柄控制 Worklight 推送通知订阅/取消订阅

IBM Worklight - 可靠的推送通知

IBM Worklight:iOS 推送通知长度限制