phonegap|iOS|推送

项目说明

  • 1.现状:html5开发者不懂oc,oc开发者不懂html5,两边对phoneGap都无太深研究,未采用phoneGap推送插件
  • 2.问题:基于phoneGap的iOS端接收到推送消息后,要跳转到www/html目录下messageCenter.html文件

实际解决方案

配置推送证书,集成极光推送的过程略过不表.

首先尝试在接受到远程推送消息后直接在didReceiveRemoteNotification方法中加载messageCenter.html,代码如下:

NSString*filePath=[[NSBundle mainBundle ]pathForResource:@"message" ofType:@"html" inDirectory:@"www/html/mydiving/"];

[self.viewController.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:filePath]]];

测试过程中发现phoneGap加载入口html的只能在config.xml中进行配置.如果使用上述方法来手动加载messageCenter.html,如果应用程序处于非启动状态,会导致与其他html页面的跳转失效,如果应用程序处于后台运行状态,则能正常跳转.

综上,通过判断应用程序的当前运行状态,采取了以下逻辑:

  • 1.当程序为UIApplicationStateBackground状态时,使用上述方案加载
  • 2.当程序为UIApplicationStateActive状态时,弹出一个UIAlertView进行提示
  • 3.当程序为UIApplicationStateInactive状态时,由phoneGap配置的默认入口进入,不作处理

优化方案(未验证)

应用程序接收到远程推送时,在didReceiveRemoteNotification方法中将信息传递给index.html(phoneGap的默认html入口),由html端处理跳转逻辑,传参方法参见phoneGap OC给JS传值方法.

前端html工程师加班已疯,不敢打扰,阿弥陀佛

时间: 2024-09-29 02:05:52

phonegap|iOS|推送的相关文章

phonegap + 极光推送 + 页面跳转 (ios)

安卓的解决办法请参见这里:安卓解决办法 ios如果没有页面跳转的需求的话就使用极光推送,如果有页面跳转如果用了极光推送就只有用oc去写,但是我不会oc,所以智能放弃极光选用ios自己的apns来实现 新建项目跟安卓创建项目差不多,新建完成后就是初始话phonegap,注意在phonegap.local.properties文件中phonegap.platform设置为ios cmd移动到新建的项目的phonegap的文件夹下面安装插件: phonegap local plugin add htt

phonegap+极光推送+页面跳转

最近公司使用sencha touch开发app需要实现推送的功能,本渣花了一周的时间才把安卓和ios都实现了推送已经跳转页面的功能.晚上关于推送的资料很少,关于推送后页面跳转的资料就更少了,所以这里记录一下怕以后忘了. 首先是安卓的实现方式(首先需要在极光推送上面去注册一个账号): 1:用sencha CMD创建st应用: sencha -sdk D:\java\sencha-touch\touch-2.3.1 generate app FirstApp ../FirstApp 这样就生成了一个

iOS 推送证书

push 服务器证书 钥匙串:登入-->证书,选项里面导出证书命名为cert.p12,跟密钥命名为key.p12 需要将上面的2个.p12文件转成.pem格式: openssl pkcs12 -clcerts -nokeys -out cert.pem -in cert.p12 openssl pkcs12 -nocerts -out key.pem -in key.p12 如果需要对 key不进行加密: openssl rsa -in key.pem -out key.unencrypted.

申请iOS推送证书.p12

iOS APP需要推送通知,要用到iOS推送证书,分为测试调试用的iOS推送证书(开发环境)和上架到App Store的ios 推送证书(生产环境)! 一.iOS发布推送证书(开发环境)测试APP iOS证书申请这里用到一个工具Appuploader,可以在win系统中辅助快速申请iOS证书,如果没有Mac也无所谓. 可以很快速的创建iOS推送证书 先安装好Appuploader安装教程 1.打开Appuploader,选择Certification. 2.点击+ADD\选择Push Notif

IOS推送功能push

笔记:ios推送功能 推送可实时提醒用户你想要让客户端用户知道的信息,那怕用户并没有开启这个应用.应用场景很广泛,如淘宝应用:在你使用淘宝客户端的时候,假如你拍的东西发货了,如果没有推送功能,你不会及时知道你拍下的东西已经发货.但使用了推送后,淘宝就会发送一条推送通知,告知使用客户端App的你,你拍下的东西已经发货.使用推送的场景很多,在用户的体验度上更人性. 苹果的推送机制(APNS)咯(ps:其实每一篇教程都有),先来看一张苹果官方对其推送做出解释的概要图. Provider是给你手机应用发

iOS推送小结

iOS推送小结 (吐槽,md的代码编辑功能不知道是不会用还是确实不好用) 1.推送配置 1.1证书配置 请自行谷百. 1.2注册推送 //代码来源:环信Demo //In method application:(UIApplication *)application didFinishLaunchingWithOptions: UIApplication *application = [UIApplication sharedApplication]; //注册APNS if([applicat

iOS推送 再备

这是一篇编译的文章,内容均出自Parse.com的iOS开发教程,同时作者还提供了视频讲解.本文将带领开发者一步一步向着iOS推送通知的深处探寻,掌握如何配置iOS推送通知的奥义. 介绍一点点背景资料 众所周知,使用推送通知是一个很棒的.给应用添加实时消息通知的方式.这样做的结局是,开发者和用户之间,彼此永远保持着一种令人愉悦的亲密关系. 然而不幸的是,iOS的推送通知并非那么容易驾驭,往往会搞的开发者精疲力尽,灰心丧气,无法持久.现在,救星来了!只要通读本教程,你就能摆脱这些烦恼,成为一名活力

iOS 推送证书制作(JAVA/PHP)

iOS 推送证书制作(JAVA/PHP) 在使用Java或者PHP制作iOS推送服务器的时候,需要自己从开发者网站上导出的aps_developer_identity证书和Apple Development Push Services证书进行合成,生成可以供Java使用的p12证书或供PHP使用的pem证书.aps_developer_identity证书和Apple Development Push Services证书的申请过程可以参考:http://www.cnblogs.com/hubj

教你做IOS推送 包会!

最近在研究iOS的推送问题,遇到了一些问题,最终整理了一下,放在这里和大家分享. APNS的推送机制 首先我们看一下苹果官方给出的对iOS推送机制的解释.如下图 Provider就是我们自己程序的后台服务器,APNS是Apple Push Notification Service的缩写,也就是苹果的推送服务器. 上图可以分为三个阶段: 第一阶段:应用程序的服务器端把要发送的消息.目的iPhone的标识打包,发给APNS. 第二阶段:APNS在自身的已注册Push服务的iPhone列表中,查找有相