JPush极光推送详解
来源:互联网 发布:lg pd251软件 编辑:程序博客网 时间:2024/06/05 10:01
JPush极光推送详解
分类:
版权声明:本文为博主原创文章,未经博主允许不得转载。
目录(?)[+]
1.JPush的简单介绍
JPush是一种专业而免费的第三方云推送推送平台,又名极光推送,在同行中开发者对JPush较为青睐,哈哈,不仅仅是因为它是免费的,服务也是非常到位的。
2.JPush的集成步骤
1.新建一个工程,复制自己的应用包名。
2.登陆极光官网,注册用户并使用第一步中的应用包名创建自己的应用。
3.然后下载极光SDK,然后根据sdk中的AndroidManifest配置自己工程中的mainfest
参考开发文档:
①复制备注为 "Required" 的部分(列举部分,凡是备注Required都要复制到位)
<!-- Required 一些系统要求的权限,如访问网络等--><uses-permission android:name="${applicationId}.permission.JPUSH_MESSAGE"/><uses-permission android:name="android.permission.RECEIVE_USER_PRESENT"/><uses-permission android:name="android.permission.INTERNET"/><uses-permission android:name="android.permission.WAKE_LOCK"/><uses-permission android:name="android.permission.READ_PHONE_STATE"/><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.WRITE_SETTINGS"/><uses-permission android:name="android.permission.VIBRATE"/><uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/><uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/><uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
②将备注为替换包名的部分,替换为当前应用程序的包名
将需要替换成你自己的应用包名换成${application},相当于间接的填写了自己的应用包名
③将AppKey替换为在Portal上注册该应用的的Key
<meta-data android:name="JPUSH_APPKEY" android:value="00b190c0d9b4deb0e76445ba"/> <!-- </>值来自开发者平台取得的AppKey-->这个appkey千万别忘了!
④配置receive
<receiver android:name=".MyReceiver" android:enabled="true"> <intent-filter> <action android:name="cn.jpush.android.intent.REGISTRATION" /> <action android:name="cn.jpush.android.intent.MESSAGE_RECEIVED" /> <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED" /> <action android:name="cn.jpush.android.intent.NOTIFICATION_OPENED" /> <category android:name="hongda.zhangxing.com.jpushdemo" /> </intent-filter></receiver>好了,manifest的配置就搞定了。
4.将SDK中libs目录中对应复制到自己的工程
①将jpush-android-2.2.0.j复制到自己工程的libs下
②在app-->src-->main下创建文件夹jniLibs,将SDK中libs目录下除了jar包之外的cpu文件拷贝到jniLibs中
5.推送的主要代码
①MainActivity.java中添加两行代码:
JPushInterface.setDebugMode(true);//测试版为trueJPushInterface.init(this);
②创建Receive
public class MyReceiver extends BroadcastReceiver { private static final String TAG = "JPush"; @Override public void onReceive(Context context, Intent intent) { Bundle bundle = intent.getExtras(); Log.d(TAG, "onReceive - " + intent.getAction()); if (JPushInterface.ACTION_REGISTRATION_ID.equals(intent.getAction())) { } else if (JPushInterface.ACTION_MESSAGE_RECEIVED.equals(intent.getAction())) { System.out.println("收到了自定义消息:"+bundle.getString(JPushInterface.EXTRA_MESSAGE)); // 自定义消息不会展示在通知栏,完全要开发者写代码去处理 } else if (JPushInterface.ACTION_NOTIFICATION_RECEIVED.equals(intent.getAction())) { System.out.println("收到了通知"); // 在这里可以做些统计,或者做些其他工作 } else if (JPushInterface.ACTION_NOTIFICATION_OPENED.equals(intent.getAction())) { System.out.println("用户点击打开了通知"); // 在这里可以自己写代码去定义用户点击后的行为 Intent i = new Intent(context, MainActivity.class); //自定义打开的界面 i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(i); } else { Log.d(TAG, "Unhandled intent - " + intent.getAction()); } }}
现在就阔以实现推送了。
6.进入极光控制后台:
点击推送,先发一条通知,编辑内容,进行推送(偷偷告诉你,在可选选项中可以对推送标题进行设置)
自定义标题:
推送效果图:
补充:推送成功logcat会有通知,点击了通知,logcat也会有相应的提示,那么之后的逻辑功能就需要我们强大的程序猿来开发喽!
这些提示当然是在Receiver中自定义的:
3.JPush的推送方式
1.通过标签按类型推送:
①在MainActivity中添加如下代码:
//设置TagSet<String> sets = new HashSet<String>() ;sets.add("sport");sets.add("music");JPushInterface.setTags(this, sets, new TagAliasCallback() { @Override public void gotResult(int i, String s, Set<String> set) { Log.d(TAG,"set tag result is"+i); }});②在进行推送的时候,标明将要推送的Tag
2.通过别名Alias推送
①在MainActivity中添加如下代码:
//设置别名AliaJPushInterface.setAlias(this, "zhangxing", new TagAliasCallback() { @Override public void gotResult(int i, String s, Set<String> set) { Log.d(TAG,"set Alias result is"+i); }});②在进行推送的时候,标明将要推送的Alias
3.通过Register ID推送,不过这个id一般都在极光后台,我们不好获取,这种就免了哈。
补充:这里我再对自定义消息说明一下,自定义消息不像通知一样显示在通知栏,它发生在应用程序内部,需要开发者自己去按需求去展示它高冷的姿态。
①点击自定义消息,推送一条自定义消息:
②点击推送后,通知栏并没有啥情况,这是毋庸置疑的,有情况才不正常了,那么可以在logcat中查看自定义消息是否真的被推送成功:
是不是推送成功了,是的,你猜对了!好了,今天的极光推送就到这里了,我是张星,欢迎关注。
阅读全文
0 0
- JPush极光推送详解
- JPush极光推送详解
- 极光推送JPush
- 试用JPush极光推送
- Android Jpush极光推送
- 极光推送Jpush
- jpush极光推送
- JPush极光推送
- iOS JPush极光推送
- 极光推送JPush
- JPUSH极光推送示例
- JPUSH后台极光推送
- 极光推送JPush
- jpush极光推送机制
- JPush(极光推送)
- jpush极光推送
- JPush极光推送
- JPUSH极光推送步骤
- PHP验证码生成
- Android 关于volley的一些源码和扩展 (二)
- IndexedDB使用(基本函数封到Angular2的service里)
- SSH无密码登入非root用户设置
- MATLAB代码下载地址
- JPush极光推送详解
- 查看CentOS版本信息
- Android自定义domain设置SeAndroid权限
- PHP数组(集合)与数组(集合)的操作
- Android 自定义MediaController
- Python 实例方法、@staticmethod和@classmethod
- 线程池中如何确定线程的数目
- 【2017/9/19】【校内胡策题】【noip模拟】【总结】
- mt3339 Android操作系统实施指南