根据推送type不同,做不同的处理(应用未开启时点击推送通知,跳入不同界面逻辑)
来源:互联网 发布:apache 压力测试 标准 编辑:程序博客网 时间:2024/05/18 09:19
首先服务器那边要在推送通知上加type处理。区分开推送类型
然后前端分两种情况:
1.应用在打开的情况下;2.应用在未打开的情况下。
先看第一种情况:
应用在打开的情况下,当前台显示时,一收到消息便会弹出提示框,告诉你消息来了,这个时候肯定会走
application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo这个方法,当应用处于后台时,消息来了会在通知栏显示,点击消息,一样会走
application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo这个方法,所以此时我们可以在这个方法里面加一个通知,把包含有具体通知内容的userInfo广播出去。注册成为观察者的界面收到通知,根据通知里面type字段的不同做不同的处理。
第二种情况就不能靠这个方法来区分了,因为应用根本不会走application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo这个方法,这会应该在appDelegate里面设置两个全局变量,一个是Bool值
isLaunchedByNotification,用来判断应用是否由点击推送开启。另一个是推送类型
notificationType,根据它来做不同处理。
具体代码:在
application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions方法里加入下面代码:
//判断应用是否由通知启动
NSDictionary* remoteNotiDict = [launchOptionsobjectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
if (remoteNotiDict) {
self.isLaunchedByNotification =YES;
self.notificationType = [remoteNotiDict[@"type"]intValue];
}
其中,UIApplicationLaunchOptionsRemoteNotificationKey是苹果预设好的,用来判断应用是否由点击推送启动。
@“type”字典则是由服务器端定义的
通过这两个全局变量来判断不同的通知类型做不同的处理。
- 根据推送type不同,做不同的处理(应用未开启时点击推送通知,跳入不同界面逻辑)
- 极光推送实现别名推送通知,并根据推送的不同type类型进行不同的操作
- 不同状态下的推送处理
- iOS 远程推送(极光推送) 根据后台推送内容的不同跳转指定页面(不断更新)
- (4.2.12.2)浅谈第三方推送[API的不同]:百度推送、小米推送、华为推送
- iOS 远程推送 根据后台推送内容的不同跳转指定页面
- 个推推送,APP接收到推送后的操作(前台与非前台的处理不同)
- [iuud8]ios不同版本下推送本地通知
- IOS和android推送的不同
- C#根据不同的用户登录到不同的界面
- listview不同的type
- 通过IDEA将代码推送至不同的远程库
- 单一主机条件下根据域名跳转到逻辑意义上的不同web应用
- 在MFC GridCtrl中使用CGridCellCheck类根据GetCheck()状态做不同处理的实现
- 在MFC GridCtrl中使用CGridCellCheck类根据GetCheck()状态做不同处理的实现
- 修改极光推送通知的逻辑。
- 根据屏幕大小显示不同的layout下的界面
- 根据不同的解决方案修改mfc的启动界面
- Tesseract-oct识别中文及训练
- unity3d 5.0以上打包安卓apk部分手机黑屏问题,尤其魅族手机
- 轻码云大沙拉出位:用验证码直戳创客痛点
- linux C之access函数
- echarts x轴类目显示不完
- 根据推送type不同,做不同的处理(应用未开启时点击推送通知,跳入不同界面逻辑)
- dumpsys alarm 格式解读
- codeforces 461B B. Appleman and Tree(树形dp)
- java多线程(二)
- AS 编辑常用快捷键
- 轻码云(PaaS), 携码验证创业梦
- git push代码到远程服务器
- java多线程(三)
- centos下为php开oracle扩展