iOS点击推送消息跳转处理_IOS

当用户通过点击通知消息进入应用时

- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions

launchOptions

中会有推送消息的userInfo信息,此时我们可以通过

NSDictionary* remoteNotification = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]; 

获得推送消息内容。如果remoteNotification不为空,则说明用户通过推送消息进入,那么可以声明一个属性

@property (nonatomic) BOOL isLaunchedByNotification; 

用于标识用户是否通过点击通知消息进入本应用。此时,

- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo 

一定会被调用,iOS7可以使用

- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler 

因为此方法的调用时,MainViewController已经被初始化,所以我们已经可以在MainViewController注册推送消息的监听,用于展示对应的视图,如下:

//订阅展示视图消息,将直接打开某个分支视图
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(presentView:) name:@"PresentView" object:nil];//弹出消息框提示用户有订阅通知消息。主要用于用户在使用应用时,弹出提示框
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(showNotification:) name:@"Notification" object:nil]; 

所以在AppDelegate的didReceiveRemoteNotification中可以通过判断isLaunchedByNotification来通知不同的展示方法。

脑补一个推送来临时,播放震动声音不停止的代码(不是播放音乐哦)

首先包含头文件

#import <AudioToolbox/AudioToolbox.h> 

注册一段声音(本例中直接使用默认1007)

@property (nonatomic, assign) SystemSoundID soundID;
NSString *path = [[NSBundle mainBundle] pathForResource:soundName ofType:nil];
AudioServicesCreateSystemSoundID((__bridge CFURLRef)[NSURL fileURLWithPath:path], &_soundID);
AudioServicesAddSystemSoundCompletion(_soundID, NULL, NULL, soundCompleteCallback, NULL); // 核心代码 可重复执行
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
AudioServicesPlaySystemSound(_soundID);
// block 用于 AudioServicesAddSystemSoundCompletion(_soundID, NULL, NULL, soundCompleteCallback, NULL); 函数调用
void soundCompleteCallback(SystemSoundID soundID,void * clientData)
{
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
AudioServicesPlaySystemSound(soundID);
}
// 停止播放
-(void)stopAlertSoundWithSoundID:(SystemSoundID)soundID
{
AudioServicesDisposeSystemSoundID(kSystemSoundID_Vibrate);
AudioServicesDisposeSystemSoundID(soundID);
AudioServicesRemoveSystemSoundCompletion(soundID);
}

以上内容是小编给大家介绍的iOS点击推送消息跳转处理的相关内容,希望对大家有所帮助!

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索ios点击推送跳转
点击推送消息跳转页面、ios 点击推送消息跳转、点击推送消息跳转url、极光推送点击跳转、ios 极光点击推送跳转,以便于您获取更多的相关知识。

时间: 2024-08-04 21:19:07

iOS点击推送消息跳转处理_IOS的相关文章

iOS点击推送消息跳到应用指定页面方法_IOS

现在的推送用的越来越频繁,几乎每个应用都开始用到了.其实又有几个用户会去看推送消息呢?没办法,产品经理最大啊,只是苦了我们这一帮程序员啊!闲话少说,进入正题.兄弟我用的是极光推送,自然是以极光推送为例了. 现在点击推送消息,有两种跳转方式:1.打开应用,跳转到应用首页:2.打开应用,跳转到指定页面. ​第一种,你什么都不用设置,只要注册极光应用就可以.这里就不写怎么注册极光应用了,可以参考官方文档,写的很详细. 第二种,重头戏来了. // APP未运行时获取通知的内容 remoteNotific

iOS 点击推送消息跳到应用指定页面的实例_IOS

iOS 点击推送消息跳到应用指定页面 现在的推送用的越来越频繁,几乎每个应用都开始用到了.其实又有几个用户会去看推送消息呢?没办法,产品经理最大啊,只是苦了我们这一帮程序员啊!闲话少说,进入正题.兄弟我用的是极光推送,自然是以极光推送为例了.   现在点击推送消息,有两种跳转方式:1.打开应用,跳转到应用首页:2.打开应用,跳转到指定页面. ​第一种,你什么都不用设置,只要注册极光应用就可以.这里就不写怎么注册极光应用了,可以参考官方文档,写的很详细. ​ 第二种,重头戏来了. // APP未运

微信公众号自定义菜单点击推送消息×

问题描述 微信公众号自定义菜单点击推送消息× 微信公众号完成了自定义菜单怎么点击菜单推送消息?微信公众号完成了自定义菜单怎么点击菜单推送消息? 解决方案 在公众号管理页面是可以为每个二级菜单设置链接的啊 解决方案二: 新建菜单的时候可以指定是链接还是推送哪些信息的. 解决方案三: 菜单是无法在代码里动态生成的,你需要先设置好 而且每次修改,客户端有24小时的缓存,除非重新关注

IOS在一直推送消息【以解决】

问题描述 在大约30分钟左右的时间里,IOS在一直推送消息"您有一条消息"这句话:1.APP打开和杀死两种情况都会收到,2.打开APP,并没有进入聊天界面3.在开发测试阶段从没出现过这种问题,发布上线一个月后陆续出现,刚开始只有以两个设备 解决方案 统一回复:感谢各位支持,已经找到问题根源了!解决方案二:这个需要测试打断点看下.点进去有消息内容嘛?解决方案三:app打开时是收不到离线推送的,这种情况应该是你们服务器后台的问题.解决方案四:代码里面didreceivemessage也是不

iOS注册远程推送消息证书后提示此证书签发者无效的解决办法

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 我们在编写关于远程推送消息的App时需要注册一个相关的证书,我们可以到Apple开发网站的Certificates, Identifiers & Profiles页面首先创建一个App ID. 其中进入Push Notifications选项,并且在其子项Development SSL Certificate中选择创建证书(因为该证书是调试用的,所以在Deve

点击图标进入程序而不是点击推送消息进程序,通知中心的推送消息被清除了

问题描述 求大神啊,我想要点击图标进入程序时通知中心的推送消息不清除,谢谢啦... 解决方案 所有的app都是这样的

iOS 点击远程推送消息 打开app app闪退

问题描述 iOS 点击远程推送消息 打开app app闪退 0 CoreFoundation 0x0000000182d16e50 + 148, 1 libobjc.A.dylib 0x000000018237bf80 objc_exception_throw + 56, 2 CoreFoundation 0x0000000182d16d08 + 0, 3 Foundation 0x000000018369c124 + 112, 4 UIKit 0x000000018810aad0 + 3172

iOS实现远程推送原理及过程_IOS

推送通知,是现在的应用必不可少的功能.那么在 iOS 中,我们是如何实现远程推送的呢?iOS 的远程推送原理又是什么呢?在做 iOS 远程推送时,我们会遇到各种各样的问题.那么首先让我们准备一些做推送需要的东西.我们需要一个付费的苹果开发者账号(免费的不可以做远程推送),有了开发者账号,我们可以去苹果开发者网站,配置自己所需要的推送的相关证书.然后下载证书,供我们后面使用,详细的证书配置过程,我们下面再说. 首先我们要说说iOS推送通知的基本原理: 苹果的推送服务通知是由自己专门的推送服务器AP

iOS如何自定义推送点击跳转事件

问题描述 应用场景:收到推送消息提醒:"您有一条新消息".点击这个提醒,直接跳入聊天界面. 解决方案 看下这里:didReceiveRemoteNotification