iOS推送

1、通过极光推送测试推送到来后点击alert或图标的效果:

a、关闭

(1) 推送 -> 点击alert -> 进入app:接收通知,进入委托

(1) 推送 -> 点击图标 -> 进入app:接收通知,没有进入委托

b、后台

(1) 推送 -> 点击alert -> 进入app:接收通知,进入委托

(1) 推送 -> 点击图标 -> 进入app:接收通知,没有进入委托

c、前台

(1) 推送 -> 点击alert:接收通知,进入委托

(2) 推送  -> 不点击alert:接收通知,进入委托

2、BabySister业务场景和解决方案:

a、业务场景:

(1) app未启动或在后台:推送到来,更新图标的角标,用户点击alert进入app,直接进入指定页面。用户退出app后,删除图标上角标。

(2) app未启动或在后台:推送到来,更新图标的角标,用户点击图标进入app,直接进入指定页面。用户退出app后,删除图标上角标。

(3) app启动并且在前台:推送到来,更新指定页面的角标,用户点击alert,跳转到指定页面。

(4) app启动并且在前台:推送到来,更新指定页面的角标,用户没有点击alert,不跳转。

b、解决方案

默认的推送可以实现业务场景(1)(3)(4),业务场景(2)通过增加自定义消息实现。前端无法确定用户是使用哪种方式触发通知,所以后台必须同时实现推送和自定义消息,以保证任何场景下都可以收到通知并显示角标。

实现:

(1) 推送和自定义消息到来,AppDelegate中发起本地通知。

(2) UITabBarController负责页面切换,添加观察者监测AppDelegate的通知,根据通知的不同情况,切换页面和更新角标。

(3) 点击指定页面(UITabBarItem)的通知,删除角标。


极光推送iOS集成指南

你可能感兴趣的:(iOS推送)