android - 在 iOS 和 Android 上处理推送通知场景

标签 android ios push-notification apple-push-notifications google-cloud-messaging

我想为应用程序(iOS 和 Android)实现推送通知,并且需要对以下场景进行说明。

我了解推送通知的一般工作原理和限制。我确实阅读了文档,但这让我感到困惑并且没有回答我所有的问题。

在 iOS 和 Android 中如何处理以下场景:

  • 设备关闭时
  • 当设备未连接到 3G 或 Wifi 网络时
  • 当设备崩溃需要重启时
  • 当应用程序在前台时
  • 当应用程序处于后台时
  • 当用户当前正在使用应用程序时
  • 当我的应用程序关闭(未打开/启动)时
  • 当推送通知特定于用户并且两个用户共享同一设备和应用时。示例:如果丈夫和妻子共用同一台设备并使用带推送通知的银行应用程序。
  • 如果设备由多个用户共享,您能否发送用户特定通知?
  • 当用户在多个设备上安装应用时
  • 能否同时向用户注册的所有设备发送通知?
  • 您是否将设备类型(iOS 或 Android)与 registrationID 一起存储在用户表中,或者有没有办法通过检查 token 或 registrationID 来区分设备类型?
  • 您能否取消之前发送但尚未阅读的通知并发送新通知?
  • Android 推送通知在 Kindle Fire 上不起作用并且需要实现 Amazon Device Messaging 是否仍然正确
  • 还有什么我需要考虑或计划的吗?我知道处理取消注册和反馈服务

最佳答案

我会回答你的一些问题,具体到 android thought。不知道 iPhone,如果它是类似的。

  1. 设备从谷歌云服务器接收通知 当服务器触发通知并且它没有 与应用程序状态(运行、关闭、后台或 前景)。
  2. 如果通知发送到未连接到的设备 互联网(关闭或未连接到网络),它得到 仅在连接到网络时通知。但是,如果设备 收到通知后死机重启,你 不会再收到通知。

它是用户特定的吗?

这取决于各个服务器的实现。

我们是否存储设备​​类型?

是的,我们可以。

我们可以区分iPhone和android的ID吗?

是的,android 设备 ID 的长度比 iPhone 长。

我们可以取消已经发送的通知吗?

不,据我所知,这是一种单向沟通 channel 。

关于android - 在 iOS 和 Android 上处理推送通知场景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17357684/

相关文章:

安卓工作室 "Your app does not have the latest code changes.."

java - 字符串文字未正确执行

ios - 删除特定字符后的空格

android - 在 Sony xperia 中获取相机实例

java - Android 旋转器未选择任何项目

ios - 我可以在 iOS 应用程序和相应的 Facebook 游戏之间共享相同的 App id 和 App Secret 吗?

ios - 确保在 Firebase (Swift) 中创建新用户时的唯一用户名

ios - Linux APNS 服务器我应该创建哪个证书?

ios - WatchKit:在通知短外观和长外观中更改应用程序名称?

iOS 推送通知大小限制和聊天应用程序