通过apns将消息推送到客户端。现在一般点开信息,会直接跳转到app。补充:在不改动软件的前提下。补充2:一次推送10w+的信息,有没有提升消息到达率的方法,求方法。
2 回答
慕田峪9158850
TA贡献1794条经验 获得超7个赞
在不改变已发布App的情况下,没办法。这个实现原理是,一个Push Notification出来,App接收到以后,可以解析Notification的信息,一般这个信息包括:声音,badge,和userinfo。
每次App接收到一个Notification都会进入AppDelegate 里的这个方法
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {}
在这里,拿到userInfo的字典就是apns的服务端传过来的。通过判断userInfo的数据和当时应用所处的状态(正在浏览某个页面、是否处在运行状态,等等),决定如何对改Notification做出反应。
一般来说,如果应用正在运行状态,一个Notification进来了,就不做任何处理(应用Become active的时候需要你记录一个状态,Enter background和Terminate的时候也要记录,还有异常退出等情况要考虑);如果应用处在后台或关闭状态,则可以选择跳转到某个页面,或其他App(如AppStore)。
题外话:为了方便跳转操作,一般我建议应用中的每一个界面都对应一个URL,并且允许传递参数(形似TT的那个URL管理),自己做,可以非常简洁。这样有几个好处:
可以最大限度的增加WebView的作用,WebView可以和NativeView结合在一起用了;
应用外部进来(其他应用跳进来,Notification进来,等)可以方便的传递一个参数,就定位到某个界面;
内部跳转也可以通过简单的参数传递,代码更清楚。
- 2 回答
- 0 关注
- 156 浏览
添加回答
举报
0/150
提交
取消