在iOS和Android上处理推送通知场景
我想为应用程序(包括iOS和Android)实现推送通知,并且需要在下列情况下进行说明。
我了解推送通知的工作原理和局限性。 我确实阅读过文档,但这只是让我困惑,并没有回答我的所有问题。
在iOS和Android中如何处理以下情况:
- 设备closures时
- 当设备没有连接到3G或Wifinetworking
- 当设备崩溃,需要重新启动
- 当应用程序在前台
- 当应用程序在后台
- 当用户正在使用该应用程序
- 当我的应用程序closures(未打开/启动)
- 当推送通知是用户特定的并且两个用户共享相同的设备和应用时。 示例:如果夫妻共享同一设备,并使用推送通知的银行应用程序。
- 如果设备由多个用户共享,您可以发送用户特定通知吗?
- 当用户在多个设备上安装了应用程序时
- 您能否一次性向用户注册的所有设备发送通知?
- 您是否将设备types(iOS或Android)与注册ID一起存储在用户表中,还是有办法通过检查令牌或注册ID来区分设备types?
- 你可以取消先前发送的通知,但是还没有阅读并发送新的通知?
- Android推送通知在Kindle Fire上无法正常工作,并需要实施亚马逊设备消息传送
- 还有什么我需要考虑或计划? 我知道处理注册和反馈服务
我会回答你的一些问题,具体到Android的思想。 不知道iPhone,如果它的类似或不。
- 当服务器触发通知并且与应用程序状态(运行,closures,后台或前台)没有任何关系时,设备会从Google Cloud Server接收通知。
- 如果通知在未连接到互联网(closures或未连接到networking)时发送到设备,则只有在连接到networking时才会收到通知。 但是,如果设备在收到通知后崩溃并重新启动,则不会再收到通知。
它是用户特定的吗?
这取决于个人服务器的实施。
我们存储设备types吗?
我们可以。
我们可以区分iPhone和Android的ID吗?
是的,Android设备ID的长度比iPhone的长。
我们可以取消已发送的通知吗?
不,据我所知,这是一个单向的沟通渠道。
当设备closures时:
答:IOS / Android服务器(不是你的服务器)将处理何时发送推送通知。 它检查设备是否可达。 我们可以定义IOS / Android服务器应该尝试发送推送通知的次数。
当设备没有连接到3G或Wifinetworking
答:没有关系到2G / 3G / Wi-Fi。 设备应通过任何networking连接到Internet。
当设备崩溃,需要重新启动
答:IOS / Android服务器检查设备是否可达。
当应用程序在前台
答:没有什么与前台应用程序相关的。
当应用程序在后台
答:没有关系在后台的应用程序。
当用户正在使用该应用程序
答:目前没有任何与应用程序相关的信息。
当我的应用程序closures(未打开/启动)
答:没有任何相关的应用程序是封闭的。
当推送通知是用户特定的并且两个用户共享相同的设备和应用时。 示例:如果夫妻共享同一设备,并使用推送通知的银行应用程序。
答:这取决于您在服务器上的实施方式。 您将为每个用户pipe理设备ID。 所以这是你的实现逻辑发送到同一个设备的多个用户。
如果设备由多个用户共享,您可以发送用户特定通知吗?
答:这取决于您在服务器上的实施方式。 您将为每个用户pipe理设备ID。 所以这取决于你的实现逻辑。
当用户在多个设备上安装了应用程序时
答:这取决于您在服务器上的实施方式。
您能否一次性向用户注册的所有设备发送通知?
答案是根据你的实现逻辑。
您是否将设备types(iOS或Android)与注册ID一起存储在用户表中,还是有办法通过检查令牌或注册ID来区分设备types?
答:是的,您需要存储设备types,以确定哪个服务器(IOS / Android),您需要发送推送通知的请求。
你可以取消先前发送的通知,但是还没有阅读并发送新的通知?
答:不可以取消请求。
Android推送通知在Kindle Fire上无法正常工作,并需要实施亚马逊设备消息传送
答:需要谷歌周围。
还有什么我需要考虑或计划? 我知道处理注册和反馈服务
答:需要谷歌周围。