【问题标题】:How would android apps notify users even though the app is not opened yet?即使应用程序尚未打开,Android 应用程序如何通知用户?
【发布时间】:2018-06-07 18:20:04
【问题描述】:

我一直在想,android 应用程序如何真正通知其用户?

与 Messenger 一样,Messenger 通常会通过制作发件人的浮动圆形头像来通知用户。

和地铁冲浪者或僵尸捕手等其他游戏一样,

对于 Metro Surfers 和其他应用程序,它会在用户更新或发生事件时通知用户,

但在 Zombie Catchers 的情况下,它会在用户准备出售他们的泥浆时通知用户。或者无人机在规定的时间内发现了新的僵尸。

所以我担心的是,当我的用户有未读消息或有事件发生时,我如何通知他们?不使用 Firebase?

【问题讨论】:

  • 使用本地通知还是推送通知取决于用例。 Messenger 和 Subway 冲浪者用例使用推送通知,这意味着他们将消息从服​​务器推送到 Android 设备。僵尸捕手可能使用本地通知,我猜他们已经为他们的用例安排了它。如果您不想使用 firebase,您可以设置自己的推送服务器,例如 MQTT。只需对其进行研究。
  • @SivakumarS 感谢您的建议,我会研究一下。
  • 查看link

标签: android


【解决方案1】:

如果你没有使用 Firebase,那么我猜你一定是在 android 中使用 SQLite。如果您使用 SQLite,那么为了通知它的用户,您必须在表上添加一个 TRIGGER 以便每当某个值是 插入更新,您可以创建通知生成器或任何类型的通知,如TOAST

例如: 用户想知道未读消息,会有一个表,其中包含未打开的消息数。每当打开应用程序时,它会检查是否有任何未读消息,如果有/有,您可以通知用户。

关于如何在 SQLite 中使用触发器的链接。 How to use TRIGGER in Android SQLite

链接到通知生成器。 https://developer.android.com/reference/android/app/Notification.Builder.html

但是,如果您希望在您的应用关闭时显示通知,那么您必须还在清单文件中添加 Sticky Service这将在一段时间后检查数据库,你应该很好。

但我建议使用 Firebase,因为它具有 Value 事件侦听器child 事件侦听器,让您的任务更加轻松。

【讨论】:

  • 这就是我在我的应用程序中所做的,除了我的数据库是一个在线 MySql。并且我仅在插入值时触发了通知。我不知道什么是粘性服务,我只知道什么是服务,但不知道粘性服务,你能模糊地描述一下什么是粘性服务吗?提前致谢
  • android STICKY 和 NON STICKY 中有两种类型的服务。调用时,即使您的应用程序关闭,粘性服务也始终在后台运行,这与非粘性不同。更多关于 Android 服务的帮助。 developer.android.com/guide/components/services.html
猜你喜欢
  • 2023-03-11
  • 1970-01-01
  • 2014-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多