出处:极光推送官方文档以及github上的文档

1.安装

一般使用cordova安装(其他安装方式详见文档),命令行输入:

cordova plugin add jpush-phonegap-plugin --variable APP_KEY=your_jpush_appkey

安装之后就可以直接使用,不需要window.JPush.init(),并且以下操作一般放在app启动时进行,并且需要在cordova的ondeviceready事件中。

2.获取RegistrationID

window.JPush.getRegistrationID(function(data) {

$rootScope.registrationID=data;

$log.debug("JPushPlugin:registration ID:"+$rootScope.registrationID);

});

获取到的设备id用来进行设备绑定,可以用$rootScope上的一个变量来存储,项目中发现android设备第一次获取RegistrationID是空的第二次就好了,ios正常,不知道什么原因。

3.设置别名(alias)与标签(tags)

别名和标签也是用来进行设备绑定的,一般别名选用例如用户名,标签就例如Student或者teacher等等,可为每个用户打多个标签,所以标签是一个数组,设置了别名和标签后可以通过jpush.setTagsWithAlias事件来监听设置是否成功,其中的resultCode可以参考github文档中的错误定义。

var tags = newArray();

tags[0] = "student";

window.JPush.setTagsWithAlias(tags, username);//设置别名与标签

document.addEventListener("jpush.setTagsWithAlias", function (event) { //设置别名标签的监听事件

$log.debug("result code:" + event.resultCode + "tags:" + event.tags + "alias:" +event.alias);

},false);

4.设备与服务器的绑定

上面所获取到的RegistrationID、别名、标签都是用来进行设备绑定的必须字段,具体项目中需要什么就需要与后台进行沟通了,接着调用后台提供的绑定接口进行设备绑定,以便于可以收到推送消息。

5.获取点击通知内容

下一步就是收到推送消息,点击消息获取相应数据,点击事件如下:

document.addEventListener("jpush.openNotification", function (event) {}, false);

不同平台有不同的获取数据方式,例如:

Android

$scope.jpushToDetailData={"messageId":event.extras.push_page_url,"openMessageType":event.extras.push_type

};

IOS

$scope.jpushToDetailData={"messageId":event.push_page_url,"openMessageType":event.push_type

};

可以看出Android在获取数据时多了一层extras。要注意的是这个事件也是放在cordova的ondeviceready事件中,并且一定要放在整个项目最开始的位置,例如rootController中。拿到了数据,接下来想做什么就依具体情况而定。

6.设备解绑

绑定了设备当然也就有解绑设备,例如在用户退出登录时,解绑设备一般只需要提供RegistrationID,调用后台提供的解绑接口传入RegistrationID就可以了。

7.关于IOS中的badge角标的注意点

这里只说一下关于如何清除角标(具体在哪里清除依项目而定,例如打开app或者读取消息之后),这时需要先调用window.JPush.resetBadge();清除服务器端的角标数,再调用window.JPush.setApplicationIconBadgeNumber(0);清除本地的角标数,具体参考github文档IOS部分,一般需要在cordova的ondeviceready和onresume事件中。并且前提是要进行平台判断,例如:

document.addEventListener("resume", function() {if ($window.isMobile.IOS() !== undefined && $window.isMobile.IOS() !== null) {//清空IOS中应用角标,服务器和本地

window.JPush.resetBadge();

window.JPush.setApplicationIconBadgeNumber(0);

}

},false);

需要注意的是如果只使用了window.JPush.setApplicationIconBadgeNumber(0);虽然每次可以清除角标,但是下次收到推送时角标数就会在上次基础上累加。所以必须先使用window.JPush.resetBadge();清除掉服务器端的角标数,这一点从极光的官方文档就显而易见。

原文:http://www.cnblogs.com/li-you/p/6374075.html

android 极光推送解绑,app集成极光推送笔记(angular js)相关推荐

  1. 百度程序员删库被判9个月,手机号一键解绑功能发布,推特再向马斯克妥协,今日更多大新闻在此...

    日报君 发自 凹非寺 量子位 | 公众号 QbitAI 大噶好,今天是6月9日星期四,2022年的进度条现在长这样: emmm-- 我们还是来看看今天科技圈又发生了哪些有意思的事吧~ 今日大新闻 百度 ...

  2. android app 集成 信鸽推送

    推送其实挺中意小米推送的,并经用户群占比还是比较大的,奈何拗不过php后端哥们的选型,就只好用信鸽推送了,期间接入过程中也是遇到不少问题,所以记录下来,以后如果还是用信鸽推送的话,估计看看以前的博客, ...

  3. android前台服务需要解绑,Android接入

    初始化 配置通道服务 必须在应用启动时(Application的onCreate方法中)初始化通道服务配置,所有进程都需要执行.try { // 参考脚手架demo从配置文件获取 Map ipStra ...

  4. 友盟小米收不到推送消息_一个轻量级、可插拔的Android消息推送框架。一键集成推送(极光推送、友盟推送、华为、小米推送等)...

    XPush 一个轻量级.可插拔的Android消息推送框架.一键集成推送(极光推送.友盟推送.华为.小米推送等),提供有效的保活机制,支持推送的拓展,充分解耦推送和业务逻辑,解放你的双手! 在提iss ...

  5. Android之集成极光推送消息

    极光推送是为 App 提供第三方推送服务的平台之一,它提供四种消息形式: 通知 自定义消息 富媒体 本地通知 1.通知 Push Notification,即指在手机的通知栏(状态栏)上会显示的一条通 ...

  6. 每日新闻丨2020年全国所有地级市覆盖5G网络;腾讯两个月推七款社交APP

    ▼ 趋势洞察 倪光南:RISC-V将和x86.ARM三分天下 2019国际芯片大会上,中国工程院院士倪光南表示,未来RISC-V很可能发展成为世界主流CPU之一,从而在CPU领域形成英特尔(x86). ...

  7. JQuery事件绑定解绑方法小结

    常用的方法 绑定:bind().delegate().on() 解绑:unbind().undelegate().off() 此外还有live() 不过JQuery1.9及其以上版本删除了此方法 推荐 ...

  8. android 极光推送测试,Android 3分钟带你集成极光推送

    话不多说 首先申请极光的账号,(官方地址:https://www.jiguang.cn) 1561710140829.png 登录完成之后,先看到这个地方 ,我个人比较喜欢用旧版本,这里点击旧版 15 ...

  9. Android第三方SDK集成 —— 极光推送

    前言: 本文前篇,可以帮助朋友们快速集成极光推送.本文后篇,是我自己项目实践的一些总结和心得,应该对读者们还是很有参考价值的,相信读完这篇文章,你会对极光推送有更加深入的理解,而不仅仅只是会集成而已. ...

最新文章

  1. GitHub的这个彩蛋我居然才知道,我OUT了
  2. POJ 3159[差分约束]
  3. Oracle connet by prior 关键字的简单介绍和用法
  4. Netiler annotation 用法
  5. 为什么空格拷贝到linux 会变成两个
  6. 暴风TV请来中国人工智能first lady冯雁教授任首席科学家
  7. enter sleep mode黑屏怎么解决_【linux】 不要再暴力关机了,讲讲我最近遇到的问题和完美解决方案...
  8. E - Alignment
  9. mysql中数据导出到json文件的读取办法:
  10. IOS-Tom猫小游戏实现
  11. 车间调度问题总结笔记一
  12. Arduino连接GPS模块
  13. everything用于移动硬盘资料管理(一):离线搜索
  14. html打包成apk wex5,WeX5打包部署学习
  15. 游泰晤士小镇所思所想
  16. Poco库使用:操作Json格式数据
  17. 第十三弹 服务数据的定义与使用
  18. 用Html+js自己写了一个小游戏
  19. CCF历年题目201803-4 棋局评估
  20. 51单片机的花卉、农田自动浇水灌溉系统开发,Proteus仿真,原理图和C代码

热门文章

  1. 邮箱密码忘了怎么找回?电子邮箱密码怎么改和填写?
  2. 第三方支付接口之微信扫码支付
  3. 运行项目页面显示“该网页无法正常运作”的解决办法 - 前端篇
  4. imageView图片放大缩小及旋转
  5. MATLAB学习笔记(一)常值函数与跳变函数的绘制
  6. 七牛云监控摄像头直播流web端显示
  7. Flutter 正在被悄悄放弃吗?
  8. UML交互图(时序图、顺序图、序列图是一样的、协作图)
  9. 带正电荷的脂质体-阳离子脂质体表面修饰
  10. 第一批阳了的中年人:卷不赢,躺不平,摆不烂