zoukankan      html  css  js  c++  java
  • iOS点击推送消息跳到应用指定页面

    现在的推送用的越来越频繁,几乎每个应用都开始用到了。其实又有几个用户会去看推送消息呢?没办法,产品经理最大啊,只是苦了我们这一帮程序员啊!闲话少说,进入正题。兄弟我用的是极光推送,自然是以极光推送为例了。

    现在点击推送消息,有两种跳转方式:1.打开应用,跳转到应用首页;2.打开应用,跳转到指定页面。

    ​第一种,你什么都不用设置,只要注册极光应用就可以。这里就不写怎么注册极光应用了,可以参考官方文档,写的很详细。

    ​ 第二种,重头戏来了。

    // APP未运行时获取通知的内容 remoteNotification就是你们服务器发送的推送的内容

    
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{​
    
    NSDictionary *remoteNotification = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];​
    
    // 如果​remoteNotification不为空,代表有推送发过来,以下类似
    
    if (remoteNotification) {
    
    // 把应用右上角的图标​去掉  这个最好写上,要不然强迫症会疯的
    
    [UIApplication sharedApplication].applicationIconBadgeNumber =  0;
    
    ​              //​ 发通知
    
    ​              [self performSelector:@selector(发送通知的方法,以下相同)withObject:remoteNotification afterDelay:1];
    
    }
    
    }​
    // 程序运行时接收推送 userInfo就是你们服务器发送的推送的内容
    
    - (void)application:(UIApplication *)application
    
    didReceiveRemoteNotification:(NSDictionary *)userInfo {
    
    // Required
    
    [APService handleRemoteNotification:userInfo];
    
    if (userInfo) {
    
    [UIApplication sharedApplication].applicationIconBadgeNumber = 0;
    
    // 发通知, 通知内容就是userInfo 你可以打印一下
    
    }
    
    }
    
    - (void)application:(UIApplication *)application
    
    didReceiveRemoteNotification:(NSDictionary *)userInfo
    
    fetchCompletionHandler:(void
    
    (^)(UIBackgroundFetchResult))completionHandler {
    
    // IOS 7 Support Required
    
    [APService handleRemoteNotification:userInfo];
    
    completionHandler(UIBackgroundFetchResultNewData);
    
    if (userInfo){
    
    //​ 发通知
    
    }
    
    }
    

    以上的三个方法,可以让你接收到服务器发过来的推送内容,在主线程中发通知,否则接收不到。如果你想让应用跳转到首页的详情页

    - (void)viewDidLoad​{
    
    // 添加观察者​ 让程序执行跳转到详情页的方法
    
    }​
    

    如果你想让应用跳转到第三页的详情页 在发送通知的方法中加上:

    _tabBarViewController.selectedIndex = 2;​

  • 相关阅读:
    SQL Server数据查询之使用TSQL查询数据
    SQL Server数据查询之聚合函数与分组查询
    服务器配置—开网站空间
    什么是子域名、二级域名、次级域名?
    【转】关于Infragistics.WebUI.UltraWebGrid的使用
    SqlBulkCopy批量赋值数据
    在 ASP.NET MVC 中创建自定义 HtmlHelper
    asp.net web.config加密和解密
    ASP.NET程序中常用的三十一种代码
    ASP.NET MVC3 实现多语言介绍
  • 原文地址:https://www.cnblogs.com/doujiangyoutiao/p/6029389.html
Copyright © 2011-2022 走看看