起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6710|回复: 16

[结贴] 极光推送,app如何获取自定义字段和标题内容!

[复制链接]

9

主题

31

帖子

83

积分

初级会员

Rank: 2

积分
83
QQ
发表于 2016-9-23 11:17:33 | 显示全部楼层 |阅读模式
就是我推送一条通知,手机收到后,点击是进入APP首页,我想在首页获取“自定义字段和标题内容”,主要是自定义字段我要传个id=1的样子,让程序自动跳转到相应文章!

0

主题

1639

帖子

497

积分

中级会员

Rank: 3Rank: 3

积分
497
QQ
发表于 2016-9-23 15:42:06 | 显示全部楼层
也是用showpage就可以传
IQ}HLK9X[{3(7B%MM9}NCST.png
回复我的时候请点击我当前评论旁边的回复按钮,能保证第一时间看到您的回复,在问题解决后,希望大家可以吧解决方法也分享一下,这样可以让更多的X5开发者共同进步,谢谢大家的知识共享
回复 支持 反对

使用道具 举报

9

主题

31

帖子

83

积分

初级会员

Rank: 2

积分
83
QQ
 楼主| 发表于 2016-9-23 18:06:27 | 显示全部楼层
cgrddv 发表于 2016-9-23 15:42
也是用showpage就可以传

我的js需要怎么写,我用的模式4
<script type="text/javascript" src="/cordova.js"></script>

<script type="text/javascript">
怎么写?
</script>
回复 支持 反对

使用道具 举报

0

主题

1639

帖子

497

积分

中级会员

Rank: 3Rank: 3

积分
497
QQ
发表于 2016-9-26 11:58:00 | 显示全部楼层
outeng 发表于 2016-9-23 18:06
我的js需要怎么写,我用的模式4

参数拿到以后,用页面跳转的方法,跳就可以了啊。如果打包的页面不是x5开发的那就不能用showPage,用标准的页面打开的方法
回复我的时候请点击我当前评论旁边的回复按钮,能保证第一时间看到您的回复,在问题解决后,希望大家可以吧解决方法也分享一下,这样可以让更多的X5开发者共同进步,谢谢大家的知识共享
回复 支持 反对

使用道具 举报

9

主题

31

帖子

83

积分

初级会员

Rank: 2

积分
83
QQ
 楼主| 发表于 2016-9-26 12:02:12 | 显示全部楼层
cgrddv 发表于 2016-9-26 11:58
参数拿到以后,用页面跳转的方法,跳就可以了啊。如果打包的页面不是x5开发的那就不能用showPage,用标准 ...

逻辑什么的我都明白,但是获取不知道怎么写,外卖的案例jpush.js在模式4下没法用,我对外卖进行代码删除排查分析,也没分析出个结果,希望给出简短代码,要不下一步都不知道研究哪!谢谢额!
回复 支持 反对

使用道具 举报

0

主题

1639

帖子

497

积分

中级会员

Rank: 3Rank: 3

积分
497
QQ
发表于 2016-9-26 13:02:03 | 显示全部楼层
outeng 发表于 2016-9-26 12:02
逻辑什么的我都明白,但是获取不知道怎么写,外卖的案例jpush.js在模式4下没法用,我对外卖进行代码删除 ...

图片里有获取参数的方法,onOpenNotification这个方法
回复我的时候请点击我当前评论旁边的回复按钮,能保证第一时间看到您的回复,在问题解决后,希望大家可以吧解决方法也分享一下,这样可以让更多的X5开发者共同进步,谢谢大家的知识共享
回复 支持 反对

使用道具 举报

9

主题

31

帖子

83

积分

初级会员

Rank: 2

积分
83
QQ
 楼主| 发表于 2016-9-26 14:15:10 | 显示全部楼层
cgrddv 发表于 2016-9-26 13:02
图片里有获取参数的方法,onOpenNotification这个方法

我这样在html是不执行的吧,我用的模式4,请指点!

index.jpg
回复 支持 反对

使用道具 举报

0

主题

1639

帖子

497

积分

中级会员

Rank: 3Rank: 3

积分
497
QQ
发表于 2016-9-26 14:29:05 | 显示全部楼层
outeng 发表于 2016-9-26 14:15
我这样在html是不执行的吧,我用的模式4,请指点!

你看一下外卖的jPush.js这个文件,然后去掉require和defined拿过来。
你需要定义JPushInstance这个对象
回复我的时候请点击我当前评论旁边的回复按钮,能保证第一时间看到您的回复,在问题解决后,希望大家可以吧解决方法也分享一下,这样可以让更多的X5开发者共同进步,谢谢大家的知识共享
回复 支持 反对

使用道具 举报

9

主题

31

帖子

83

积分

初级会员

Rank: 2

积分
83
QQ
 楼主| 发表于 2016-9-26 14:38:11 | 显示全部楼层
cgrddv 发表于 2016-9-26 14:29
你看一下外卖的jPush.js这个文件,然后去掉require和defined拿过来。
你需要定义JPushInstance这个对象 ...

我这样操作对吗?不执行啊!辛苦您了,帮下忙,js我是懂点的,望您指教,同时也能帮助其他人,我看帖子这两天浏览量还不少!

  1. <script type="text/javascript">
  2. $(function() {

  3.         var JPushInstance = function() {
  4.                 if (window.plugins && window.plugins.jPushPlugin) {
  5.                         document.addEventListener("deviceready", this.onDeviceReady.bind(this), false);
  6.                         document.addEventListener("jpush.openNotification", this.onOpenNotification.bind(this), false);
  7.                         document.addEventListener("jpush.receiveNotification", this.onReceiveNotification.bind(this), false);
  8.                         document.addEventListener("jpush.receiveMessage", this.onReceiveMessage.bind(this), false);
  9.                 }
  10.         };
  11.        
  12.         //hcr 解决第一次获取失败的问题
  13.         JPushInstance.prototype.getRegistrationID = function(){
  14.                  var dtd = $.Deferred();
  15.                  if (this.registrationID){
  16.                          dtd.resolve(this.registrationID);
  17.                  }else{
  18.                          if (window.plugins && window.plugins.jPushPlugin){
  19.                                  window.plugins.jPushPlugin.getRegistrationID(function(registrationID) {
  20.                                          self.registrationID = registrationID;
  21.                                          if (self.registrationID){
  22.                                                  dtd.resolve(self.registrationID);         
  23.                                          }else{
  24.                                                  dtd.reject();
  25.                                          }
  26.                                  });
  27.                          }else{
  28.                                  dtd.reject();
  29.                          }
  30.                  }
  31.                  return dtd.promise();
  32.         };
  33.        

  34.         JPushInstance.prototype.onDeviceReady = function() {
  35.                 var self = this;
  36.                 window.plugins.jPushPlugin.init();
  37.                 window.plugins.jPushPlugin.getRegistrationID(function(registrationID) {
  38.                         self.registrationID = registrationID;
  39.                 });
  40.                 if (device.platform == "Android") {
  41.                         window.plugins.jPushPlugin.setDebugMode(false);
  42.                         window.plugins.jPushPlugin.setApplicationIconBadgeNumber(0);
  43.                 } else {
  44.                         window.plugins.jPushPlugin.setDebugMode(false);
  45.                         window.plugins.jPushPlugin.setApplicationIconBadgeNumber(0);
  46.                 }
  47.         };

  48.         JPushInstance.prototype.onOpenNotification = function(event) {
  49.                 var alertContent;
  50.                 if (device.platform == "Android") {
  51.                         alertContent = window.plugins.jPushPlugin.openNotification.alert;
  52.                 } else {
  53.                         alertContent = event.aps.alert;
  54.                 }
  55.                 window.plugins.jPushPlugin.setApplicationIconBadgeNumber(0);
  56.                 alert(alertContent);
  57.         };

  58.         JPushInstance.prototype.onReceiveNotification = function(event) {
  59.                 var alertContent;
  60.         if(device.platform == "Android"){
  61.                 alertContent = window.plugins.jPushPlugin.receiveNotification.alert;
  62.         }else{
  63.                 alertContent   = event.aps.alert;
  64.         }
  65.         window.plugins.jPushPlugin.setApplicationIconBadgeNumber(0);
  66.                 alert(alertContent);
  67.         };

  68.         JPushInstance.prototype.onReceiveMessage = function() {
  69.                 var message;
  70.         if(device.platform == "Android"){
  71.                         message = window.plugins.jPushPlugin.receiveMessage.message;
  72.         }else{
  73.               message   = event.content;
  74.         }
  75.         window.plugins.jPushPlugin.setApplicationIconBadgeNumber(0);
  76.                 alert(message);
  77.         };

  78.         return new JPushInstance();
  79. });

  80. </script>
复制代码
回复 支持 反对

使用道具 举报

0

主题

1639

帖子

497

积分

中级会员

Rank: 3Rank: 3

积分
497
QQ
发表于 2016-9-26 14:41:43 | 显示全部楼层
outeng 发表于 2016-9-26 14:38
我这样操作对吗?不执行啊!辛苦您了,帮下忙,js我是懂点的,望您指教,同时也能帮助其他人,我看帖子这 ...

return new JPushInstance();
改一下,直接newJPushInstance();
回复我的时候请点击我当前评论旁边的回复按钮,能保证第一时间看到您的回复,在问题解决后,希望大家可以吧解决方法也分享一下,这样可以让更多的X5开发者共同进步,谢谢大家的知识共享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-4 04:45 , Processed in 0.063800 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表