热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

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

这篇文章主要介绍了iOS点击推送消息跳到应用指定页面的实例的相关资料,需要的朋友可以参考下

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;​

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


推荐阅读
  • 本文探讨了Web开发与游戏开发之间的主要区别,旨在帮助开发者更好地理解两种开发领域的特性和需求。文章基于作者的实际经验和网络资料整理而成。 ... [详细]
  • 本文详细介绍了JSP(Java Server Pages)的九大内置对象及其功能,探讨了JSP与Servlet之间的关系及差异,并提供了实际编码示例。此外,还讨论了网页开发中常见的编码转换问题以及JSP的两种页面跳转方式。 ... [详细]
  • 2023年最佳PHP开发学习路径推荐
    本文详细探讨了针对不同背景的学习者如何选择最适合自己的PHP开发学习资源,包括书籍、在线课程及培训机构的推荐。 ... [详细]
  • 深入解析MySQL查询优化:特定类型查询的高级策略
    本文详细探讨了MySQL中特定类型查询的优化方法,包括COUNT()查询、关联查询、LIMIT分页及UNION查询的优化技巧,旨在提高数据库查询效率。 ... [详细]
  • JavaWeb技术架构解析
    本文探讨了JavaWeb开发中客户端与服务器端的交互模式,重点分析了B/S(浏览器/服务器)和C/S(客户端/服务器)两种架构的特点及应用场景。 ... [详细]
  • Android中解析XML文件的实践指南
    本文详细介绍了在Android应用开发中解析XML文件的方法,包括从本地文件和网络资源获取XML文件的不同途径,以及使用DOM、SAX和PULL三种解析方式的具体实现。 ... [详细]
  • 本文深入探讨网页游戏的开发流程,涵盖从程序框架设计到具体实现的技术细节,旨在为开发者提供全面的指导。 ... [详细]
  • 本题探讨在特定条件下如何通过选择瓶子以最大化从火星人处获取的燃料量。 ... [详细]
  • 解决vCenter vSphere HA初始化失败的问题
    本文探讨了在集群中遇到的所有vSphere HA主机状态显示‘无法正确安装或配置vSphere HA代理’错误的情况,并详细介绍了排查与解决步骤,包括检查HA初始化错误及安装HA代理的常见故障排除方法。 ... [详细]
  • 在Windows Server 2008 R2上配置IIS FTP服务
    本文详细介绍了如何在Windows Server 2008 R2操作系统上通过IIS配置FTP服务的过程,包括服务器角色的选择与安装、FTP站点的创建以及必要的服务和防火墙设置检查。 ... [详细]
  • 本文探讨了大型服务端开发过程中常见的几个误区,包括异步任务处理不当、日志同步模式使用、网络操作未设置超时、缓存命中率及响应时间未统计、单一缓存模式、分布式缓存加锁不当以及团队管理上的误区,旨在帮助开发者避免这些常见错误。 ... [详细]
  • 本文介绍如何在Laravel框架中集成微信支付功能,包括如何配置微信支付环境、处理支付请求及接收支付回调等关键步骤。 ... [详细]
  • Canvas漫游:碰撞检测与动画模拟
    探索Canvas在Web开发中的应用,通过碰撞检测与动画模拟提升交互体验。 ... [详细]
  • SpringCloud电商平台开发指南:实战案例解析
    本文详细介绍了基于SpringCloud构建的电商平台项目,涵盖了从技术选型到项目部署的全流程,旨在帮助开发者快速掌握电商平台的开发技巧。 ... [详细]
  • 随着Java开发职位的需求增长和良好的职业前景,越来越多的零基础学员加入到学习行列。然而,缺乏正确的学习方法和规划,很容易陷入学习误区。本文将探讨并提供解决这些问题的方法。 ... [详细]
author-avatar
手机用户2502887873
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有