phonegap|iOS|推送

本文探讨了基于PhoneGap的iOS应用如何处理推送消息,特别是在不同应用状态下的消息跳转逻辑。文中提供了具体的实现方案,并提出了进一步的优化思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目说明

  • 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工程师加班已疯,不敢打扰,阿弥陀佛

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值