记录 点击推送进入app 直接进入某个页面

在appdelegate中判断是否是从推送进入的app 如果是就把消息的内容用

NSNotification注册一个通知 然后去首页 接收这个通知判断消息内容 并且跳转到该页面 曾经难住的是在首页有一个跳转延时 导致的跳转不过去 如果不成功就加一个延迟让通知延迟0.5秒左右接收 时间看实际情况 恩就先这样吧 由于也得时间有点久了之前只是测试用来着后来功能干掉了 代码就删掉了

不知道是不是这个先贴出来再说

- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
{
//    NSLog(@"收到推送 %@",userInfo);
    [APService handleRemoteNotification:userInfo];
    NSDateFormatter *DateFor = [[NSDateFormatter alloc] init];
    DateFor.dateFormat = @"yyyyMMddHHmmssSSS";
    NSDate *date = [NSDate date];
    NSString *time = [DateFor stringFromDate:date];
     dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
         if (![userInfo[@"aps"][@"alert"] isEqualToString:@"线下支付成功"]) {
             [[Model manager] insertMessage:userInfo[@"aps"][@"alert"] anState:@"0" timeDate:time userid:[[NSUserDefaults standardUserDefaults] objectForKey:@"userid"]];
             NSNotification *not1 =[NSNotification notificationWithName:@"xiaoxi" object:nil userInfo:userInfo];
             [[NSNotificationCenter defaultCenter] postNotification:not1];
         }else
         {
             [[Model manager] insertMessage:userInfo[@"aps"][@"alert"] anState:@"1" timeDate:time userid:[[NSUserDefaults standardUserDefaults] objectForKey:@"userid"]];
             NSDictionary *dic = @{@"content":userInfo[@"aps"][@"alert"]};

             NSNotification *not =[NSNotification notificationWithName:@"xianxia" object:nil userInfo:dic];
             [[NSNotificationCenter defaultCenter] postNotification:not];
         }
     });
    NSArray *arr = [[Model manager] selectState:@"1" userid:[[NSUserDefaults standardUserDefaults] objectForKey:@"userid"]];
    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:arr.count];
    completionHandler(UIBackgroundFetchResultNewData);
}
时间: 2024-11-10 07:23:41

记录 点击推送进入app 直接进入某个页面的相关文章

iOS App Launch Option(附点击推送操作)

launchOptions中的可能键值见UIApplication Class Reference的Launch Options Keys节 . 若用户直接启动,lauchOptions内无数据; 若由其他应用程序通过openURL:启动,则UIApplicationLaunchOptionsURLKey对应的对象为启动URL(NSURL),UIApplicationLaunchOptionsSourceApplicationKey对应启动的源应用程序的bundle ID (NSString):

【记录】iOS10 点击推送栏的问题

之前做的一个用户点击 推送栏然后处理相应事件是在这里面处理的 - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler 在里面判断是否是后台然后做相应处理,在ios10以下都没什么问题到10的时候出问

点击推送消息跳转处理(iOS)

当用户点击收到的推送消息时候,我希望打开APP,并且跳转到对应的界面,这就需要在AppDelegate里面对代理方法进行处理. 当用户点击推送消息打开APP的时候会调用 - (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions launchOptions中会有推送消息的userInfo信息,此时我们可以通过 NSDictionary* rem

点击推送,跳转到查看推送消息的页面

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ <br> <br>   if(launchOptions) <br> <br>    { <br> <br>        [[UIApplication sharedApplication] setApplicati

iOS用户点击推送消息进入应用后自动跳转到对应的ViewController

当iOS用户通过点击推送消息进入应用时,在AppDelegate的 - (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions 我们可以通过 NSDictionary* remoteNotification = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotific

iOS 关于信鸽推送点击推送通知的处理

最近的项目中使用了推送模块,使用的是企鹅帝国的信鸽推送服务,关于具体怎么推送的,证书如何设置,我不再赘述,一来开发文档中已经讲的非常清楚,二来在网上一搜的话也能搜到一大堆:在这里主要写下关于推送的通知来了之后点击此通知该如何处理,也是对自己做完之后做一个笔记 在这里我项目中所要达到的效果是点击通知栏的推送消息,就进入应用中的相应页:默认的效果是点击推送消息,会直接进入应用,如果应用未启动,则会启动应用进入首页:如果应用已启动,只是点击home退入后台的话,则会返回应用,并且应用之前在哪一个界面,

如何用好消息推送为app拉新、留存、促活

作为移动端APP产品运营最重要的运营手段,JPush消息推送被越来越多的APP厂商所重视,在信息泛滥的移动互联网时代,手机APP应用安装得越来越多,小小的手机屏幕每天收到的消息推送也越来越多,站在用户的角度去想,你会看每一条推送的内容吗? JPush消息推送是APP运营最优质的渠道,运用得当可以帮助产品运营人员更高效地实现运营目标,相反盲目得push也将带来反作用.APP消息推送具有以下几个特点: ①量大,用户数即是可push覆盖的数量.假如一个APP有5000万的活跃用户,且都取得了用户授权,

iOS极光推送 点击推送消息跳转页面

文章来自:http://www.jianshu.com/p/eaf07c4372a8 AppDelegate.m - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { #if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_7_1 if ([[UIDevice currentDevice].s

Qt通过极光推送向app推送消息

简介 最近在做个项目,当客服端收到防盗的消息通知时向手机app推送一个消息,告知有防盗报警.这么小的功能没必要自己写个推送端,极光推送免费而且推送的成功率高,已经能满足我们的需求了. 极光推送的文档大家可以到极光推送的官网查看(http://docs.jiguang.cn/),由于我们这是是使用Qt C++开发的极光推送并没有提供c++的封装,这里我们选择rest API的方式推送,rest API的推送方式的demo以及json格式在http://docs.jiguang.cn/server/