码迷,mamicode.com
首页 > 其他好文 > 详细

phonegap+极光推送+页面跳转

时间:2014-07-02 08:29:20      阅读:275      评论:0      收藏:0      [点我收藏+]

标签:phonegap   推送   页面跳转   极光   安卓   

最近公司使用sencha touch开发app需要实现推送的功能,本渣花了一周的时间才把安卓和ios都实现了推送已经跳转页面的功能。晚上关于推送的资料很少,关于推送后页面跳转的资料就更少了,所以这里记录一下怕以后忘了。

首先是安卓的实现方式(首先需要在极光推送上面去注册一个账号):

1:用sencha CMD创建st应用:

sencha -sdk D:\java\sencha-touch\touch-2.3.1 generate app FirstApp ../FirstApp
这样就生成了一个标准的sencha touch文件

2:在刚在创建的st文件夹里面初始化phonegap(cmd里面的文件目录需要在文件夹下面)

sencha phonegap init com.cloudvast.FirstApp FirstApp
com.cloudvast.FirstApp这个很重要,这个需要和你在极光推送里面创建的安卓的应用包名一致否则可能会出错。初始化了phonegap后文件夹下面的文件为:

bubuko.com,布布扣bubuko.com,布布扣


需要先修改下phonegap.local.properties这个文件:

bubuko.com,布布扣


bubuko.com,布布扣

把这里的ios修改成android,因为我们现在打包的是安卓应用;

bubuko.com,布布扣

3:安装极光推送针对phonegap的插件,把cmd里面的目录cd到phonegap文件夹下

phonegap  plugin add https://github.com/jpush/jpush-phonegap-plugin.git
安装成功后会多一个极光的插件包:

bubuko.com,布布扣bubuko.com,布布扣

打开新生成的文件,选择push-sdk-release1.6.1.jar文件:

bubuko.com,布布扣

bubuko.com,布布扣

鼠标右键 > Build Path > add to Build Path添加到工程中

再打开相同目录下的JPushPlugin.java文件

bubuko.com,布布扣

bubuko.com,布布扣

找到这一行,把com.thi.pushtest修改为初始化phonegap用的那个包名,我这里修改后为:import com.cloudvast.FirstApp.R;,保存后关闭

bubuko.com,布布扣

找到 插件包下面的plugin.xml文件并打开:

bubuko.com,布布扣

bubuko.com,布布扣

找到这一行

bubuko.com,布布扣bubuko.com,布布扣

在value里面填上我们在极光推送上面申请到的AppKey。


到此为止,phonegap集合极光推送就完成了,打包后就能正常的用推送了。接下来是实现页面跳转的功能:


找到插件包下面的JPushPlugin.js文件打开:

bubuko.com,布布扣bubuko.com,布布扣

在文件中添加一段代码:

JPushPlugin.prototype.getNotification = function(successCallback, data) {
	console.log("JPushPlugin:getNotification");
	try {
		ret = cordova.exec(successCallback, successCallback, 'JPushPlugin', "getNotification", [data]);
		return ret;
	} catch (exception) {

		alert(exception);
	}
}

然后在我们的sencha touch中的app.js文件中写逻辑代码

bubuko.com,布布扣

添加代码:

document.addEventListener('resume', function() {
			window.plugins.jPushPlugin.getNotification(function(obj) {
						// obj["message"]为收到的推送信息
						if (obj["message"] != "") {
							var EXTRA = obj.extras['cn.jpush.android.EXTRA'];
							EXTRA = EXTRA.replace(/\\/g, "");
							EXTRA = Ext.JSON.decode(EXTRA, true);
							if (EXTRA.type == "mode") {
								Ext.getCmp('tab').setActiveItem(1);// 如果传递过来的type=='mode'就跳转到第二张页面
							}
						}
					}, false);
		});

EXTRA为极光推送发送通知的时候下面的可选设置中的附加字段。

bubuko.com,布布扣

bubuko.com,布布扣
最后把cmd的目录移动到phonegap目录下面执行打包操作:

sencha app build native


打包完成后就在该目录下面生成了apk文件:

bubuko.com,布布扣
bubuko.com,布布扣

 






phonegap+极光推送+页面跳转,布布扣,bubuko.com

phonegap+极光推送+页面跳转

标签:phonegap   推送   页面跳转   极光   安卓   

原文地址:http://blog.csdn.net/chen2991101/article/details/36215975

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!