【android】第三方集成之——极光推送
来源:互联网 发布:开源大数据可视化工具 编辑:程序博客网 时间:2024/06/06 04:04
最近做项目多次用到极光推送的集成。在次总结一下集成时的注意事项。
1:主要流程就是按照人家的文档,一步步去添加。但是在做到这一步时就要注意了
红色标注的部分,这个“相关配置”怎么理解呢,是清单文件中,不添加任何参数吗,我尝试了一下,推送是可以成功的。但是,我在测试通知广播时,并不能收到广播,当我在 AndroidManifest.xml 文件中添加了如下代码,才能在定义的 Receiver 中收到广播。
<!-- User defined. 用户自定义的广播接收器--> <receiver android:name="您自己定义的Receiver" android:enabled="true"> <intent-filter> <!--Required 用户注册SDK的intent--> <action android:name="cn.jpush.android.intent.REGISTRATION" /> <!--Required 用户接收SDK消息的intent--> <action android:name="cn.jpush.android.intent.MESSAGE_RECEIVED" /> <!--Required 用户接收SDK通知栏信息的intent--> <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED" /> <!--Required 用户打开自定义通知栏的intent--> <action android:name="cn.jpush.android.intent.NOTIFICATION_OPENED" /> <!-- 接收网络变化 连接/断开 since 1.6.3 --> <action android:name="cn.jpush.android.intent.CONNECTION" /> <category android:name="您应用的包名" /> </intent-filter> </receiver>
这说明也并不是任何代码都不用添加了,也并不是人家官方都默认添加好了,在AndroidManifest.xml 文件中。所以觉得还是都在清单文件中,再都添加一边,最好!
总结一下,在集成时,主要关注的几个api的运用。
1:停止与恢复推送服务 API
JPushInterface.stopPush(getApplicationContext());//极光推送服务会被停止掉JPushInterface.resumePush(getApplicationContext());//极光推送服务会恢复正常工作
2 : 接收推送消息Receiver
3: 别名与标签 API(感觉这个用法比较重要)
设置别名的功能:能实现指定目标(例如指定用户)的消息推送。
设置便签的功能:能实现指定群体(例如老年人)的消息推送。
关键代码:详细用法,官方文档都有详细介绍。
private final Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) { switch (msg.what) { case MSG_SET_ALIAS: JPushInterface.setAliasAndTags(getApplicationContext(), String.valueOf(msg.obj), null, new TagAliasCallback() { @Override public void gotResult(int i, String alias, Set<String> tags) { String logs; switch (i) { case 0: logs = "Set tag and alias success"; Log.i(TAG, logs); ExampleUtil.saveAlias(alias, getApplicationContext()); break; case 6002: logs = "Failed to set alias and tags due to timeout. Try again after 60s."; Log.i(TAG, logs); if (ExampleUtil.isConnected(getApplicationContext())) { mHandler.sendMessageDelayed(mHandler.obtainMessage(MSG_SET_ALIAS, alias), 1000 * 60); } else { Log.i(TAG, "No network"); } break; default: logs = "Failed with errorCode = " + i; Log.e(TAG, logs); } } }); break; case MSG_SET_TAGS: JPushInterface.setAliasAndTags(getApplicationContext(), null, (Set<String>) msg.obj, new TagAliasCallback() { @Override public void gotResult(int i, String alias, Set<String> tags) { String logs; switch (i) { case 0: logs = "Set tag and alias success"; Log.i(TAG, logs); ExampleUtil.saveTags(String.valueOf(tags), getApplicationContext()); break; case 6002: logs = "Failed to set alias and tags due to timeout. Try again after 60s."; Log.i(TAG, logs); if (ExampleUtil.isConnected(getApplicationContext())) { mHandler.sendMessageDelayed(mHandler.obtainMessage(MSG_SET_ALIAS, tags), 1000 * 60); } else { Log.i(TAG, "No network"); } break; default: logs = "Failed with errorCode = " + i; Log.e(TAG, logs); } } }); break; default: break; } } };
4: 统计分析 API
5:CrashLog收集并上报
至于其他的用法,如果想实现更全面,更个性化的功能,就在仔细研究一下。
0 0
- 【android】第三方集成之——极光推送
- Android 集成极光推送的第三方
- Android开发之第三方推送JPush极光推送知识点详解 学会集成第三方SDK推送
- iOS第三方集成之jpush极光推送
- Android第三方推送——极光推送,百度云推送,个推
- 第三方--极光推送
- 第三方推送-极光推送
- android-----第三方推送(极光推送消息)
- Android学习之集成极光推送功能
- Android 极光推送集成
- android极光推送集成
- Android集成极光推送
- android集成极光推送
- Android集成极光推送
- android 集成极光推送
- Android第三方推送(基于JPush极光)
- php 第三方 极光推送domo(Android版)
- 使用第三方推送平台 极光推送
- Android studio必做的几个优化配置。
- CodeForces-732B-Cormen — The Best Friend Of a Man(简单模拟)
- Linux PWM framework_简介和API描述
- “无法查找或打开PDB文件”解决办法
- 数据结构实验之数组三:快速转置
- 【android】第三方集成之——极光推送
- PMP学习笔记之第13章 项目干系人管理 ——13.2规划干系人管理
- python3 模块构建与发布
- 23 leetcode - Generate Parentheses
- Android Retrofit框架解析
- 51Nod 1629 B君的圆锥
- React Native技术剖析(二)
- Unity 编辑器多重编辑 Multi-Object Editing
- centos6.5 安装python2.7.12