android studio集成极光推送的操作步骤

所属分类: 软件编程 / Android 阅读数: 65
收藏 0 赞 0 分享

之前使用的是小米推送,感觉还不错,集成简单,这次使用极光推送,看文档,很多用不到的东西看的好乱,所以这次记录:

第一、在极光配置信息,我是因为iso先创建应用了,我直接配置自己的信息就行,就填写一个包名。

第二、build.gradle文件的配置:

android {
 ......
 defaultConfig {
 ........
  manifestPlaceholders = [
   JPUSH_PKGNAME : “应用包名”,//JPush上注册的包名
   JPUSH_APPKEY : "你的appkey", //JPush上注册的包名对应的appkey.
   JPUSH_CHANNEL : "developer-default", //暂时填写默认值即可.
  ]
  ......
 }
 ......
}
 
dependencies {
//极光推送
 compile 'cn.jiguang.sdk:jpush:3.0.9' // 此处以JPush 3.0.9 版本为例。
 compile 'cn.jiguang.sdk:jcore:1.1.7' // 此处以JCore 1.1.7 版本为例。
}

第三、自定义自己的广播接收器(若是项目只需要接受通知,这一步可以忽略,一般都会有点击通知栏跳转不同界面)自定义的广播接收器:接收消息和点击等等都会到接收器

注意:这里有一个坑,不自定义,默认点击会启动应用

接收自定义消息需要:

String extras = bundle.getString(JPushInterface.EXTRA_EXTRA);

才可以获得自定义消息,如果直接在intent处断点查看后台推送的消息是看不到任何数据的(这个坑我弄了好久,一直以为是后台没有推送到消息);下面主要对接收推送消息、点击通知栏消息、穿透消息做了处理,这里根据公司要求处理就行。

第四、就是在application中初始化推送

第五、AndroidManifest的配置:官方文档这里有点乱,不知道要写那些,按我写的就可以了。

<permission
  android:name="您应用的包名.permission.JPUSH_MESSAGE"
  android:protectionLevel="signature" />
 <uses-permission android:name="您应用的包名.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.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.WRITE_SETTINGS" />
 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
 
 <!-- Optional. Required for location feature -->
 <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> <!-- 用于开启 debug 版本的应用在6.0 系统上 层叠窗口权限 -->
 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
 <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
 <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
 <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
 <uses-permission android:name="android.permission.GET_TASKS" />
 
 
 <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>
 <meta-data android:name="JPUSH_APPKEY" android:value="您应用的Appkey"/>

第六、设置别名和标签,设置别名和标签还有其他方法,我这里使用的是这一种,它是一种覆盖设置。具体可以去看极光的文档,这块挺简单的。

//设置激光推送的别名和标签

Set<String> tags = new HashSet<>();
tags.add(“标签”);
JPushInterface.setAliasAndTags(APPApplication.getInstance(), “别名”, tags, null);

退出登录时:

//注销别名和标签JPushInterface.setAliasAndTags(APPApplication.getInstance(), "", null, null);

至此就完成了极光推送的集成,哪里有不对的地方可以留言。

这里说一个问题:我在广播接收器中log打印东西,不知什么原因一直没打印出来,我以为是广播接收不到推送,但是有通知栏提示的,搜了好多注册不成功的问题浪费了很多时间;所以自己遇到一个问题感觉没问题就想想是不是其他原因。

以上这篇android studio集成极光推送的操作步骤就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

Android 动画之AlphaAnimation应用详解

本节讲解AlphaAnimation 动画,窗口的动画效果,淡入淡出什么的,有些游戏的欢迎动画,logo的淡入淡出效果就使用AlphaAnimation,具体的祥看本文,需要的朋友可以参考下
收藏 0 赞 0 分享

Android 动画之TranslateAnimation应用详解

本节讲解TranslateAnimation动画,TranslateAnimation比较常用,比如QQ,网易新闻菜单条的动画,就可以用TranslateAnimation实现,本文将详细介绍通过TranslateAnimation 来定义动画,需要的朋友可以参考下
收藏 0 赞 0 分享

Android 动画之ScaleAnimation应用详解

本节讲解ScaleAnimation 动画在应用中的实现,有需要的朋友可以参考下
收藏 0 赞 0 分享

Android 动画之RotateAnimation应用详解

本节讲解旋转动画效果RotateAnimation方法的应用,有需要的朋友可以参考下
收藏 0 赞 0 分享

Android开发之文件操作模式深入理解

本文将介绍Android开发之文件操作模式,需要了解的朋友可以参考下
收藏 0 赞 0 分享

Android应用程序窗口(Activity)窗口对象(Window)创建指南

本文将详细介绍Android应用程序窗口(Activity)的窗口对象(Window)的创建过程,需要了解的朋友可以参考下
收藏 0 赞 0 分享

android activity设置无标题实现全屏

本文将详细介绍Android如何设置Activity全屏和无标题的实现方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Android启动模拟器报错解决方法

本文将详细介绍Android模拟器报"Failed To Allocate memory 8"错误的解决办法,需要了解的朋友可以参考下
收藏 0 赞 0 分享

Android如何实现非本地图片的点击态

Android如何实现非本地图片的点击态,本文提供了详细的实现代码,需要了解的朋友可以参考下
收藏 0 赞 0 分享

android viewpaper实例探讨

本文将提供一个android viewpaper实例实现过程,需要了解更多的朋友可以参考下
收藏 0 赞 0 分享
查看更多