极光推送Demo学习(博客中的图片可能因为CSDN升级的原因无法显示,有时间我会重新更新一下文章)

主要功能
保持与服务器的⻓连接,以便消息能够即时推送到达客户端
接收通知与⾃定义消息,并向开发者App传递相关信息
主要特点
客户端维持连接占⽤资源少、耗电低
SDK丰富的接⼝,可定制通知栏提⽰样式
服务器⼤容量、稳定
jpush-sdk_v2.x.y.zip 集成压缩包内容
AndroidManifest_AS_Example.xml / AndroidManifest_Eclipse_Example.xml
客户端嵌⼊SDK参考的配置⽂件。分别对应AndroidStudioEclipse
libs/jpush-sdk-release2.x.y.jar
SDK Java 开发包
libs/armeabi(或armeabi-v7a/arm64-v8a/libjpush2xy.so
SDK native 开发包。分别对应arm, armv7a,armv8a(64).so⽂件。
res/
集成SDK必须添加的资源⽂件

example

是个完整的Android项,通过这个演了JPush SDK的基本用法,可以来做参考。


SDK集成步骤
1、导⼊SDK开发包到你⾃⼰的应⽤程序项⺫
解压缩 jpush-sdk_v2.x.y.zip 集成压缩包
复制 libs/jpush-sdk-release2.x.y.jar 到⼯程 libs/ ⺫录下
复制 libs/armeabi( armeabi-v7a/arm64-v8a)/so⽂件 到⼯程libs/下对应的CPU⺫录下
AndroidStudio中使⽤,在build.gradlesourceSets.main节点下指定jniLibs的路径。
sourceSets{
main {
jniLibs.srcDirs= ['libs']// <-- Set your folder here!
}
}
复制 res/drawable-hdpi 中的资源⽂件到⼯程的res/drawable-hdpi/⺫录下
复制 res/layout 中的布局⽂件到⼯程的 res/layout/ ⺫录下
2、配置AndroidManifest.xml
根据 SDK 压缩包⾥的 AndroidManifest.xml 样例⽂件,来配置应⽤程序项⺫的AndroidManifest.xml
主要步骤为:
1. 复制备注为 "Required" 的部分
2. EclipseAndroidManifest中将备注为"您应⽤的包名"的部分,替换为当前应⽤程序的包名; AndroidStudio
AndroidManifest中引⽤的是所在ModuleapplicationId,需在build.gradle中配置。
3. AppKey替换为在Portal上注册该应⽤的的Key,例如(9fed5bcb7b9b87413678c407
EclipseAndoridManifest⽰例:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="您应⽤的包名"
android:versionCode="205"
android:versionName="2.0.5"
>
<uses-sdk android:minSdkVersion="11" android:targetSdkVersion="17" />
<!-- Required ⾃定义⽤来收发消息的相关权限 -->
<permission
android:name="您应⽤的包名.permission.JPUSH_MESSAGE"
android:protectionLevel="signature" />
<!-- Required ⼀些系统要求的权限,如访问⺴络等-->
<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.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"/>
<!-- Optional for location -->
<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" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name">
<!-- Required SDK核⼼功能-->
<activity
android:name="cn.jpush.android.ui.PushActivity"
android:configChanges="orientation|keyboardHidden"
android:theme="@android:style/Theme.NoTitleBar"
android:exported="false">
<intent-filter>
<action android:name="cn.jpush.android.ui.PushActivity" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="您应⽤的包名" />
</intent-filter>
</activity>
<!-- Required SDK核⼼功能-->
<service
android:name="cn.jpush.android.service.DownloadService"
android:enabled="true"
android:exported="false" >
</service>
<!-- Required SDK 核⼼功能-->
<!-- option since 2.0.5 可配置android:process 参数将PushService设置为独⽴进程--
>
<service
android:name="cn.jpush.android.service.PushService"
android:enabled="true"
android:exported="false">
<intent-filter>
<action android:name="cn.jpush.android.intent.REGISTER" />
<action android:name="cn.jpush.android.intent.REPORT" />
<action android:name="cn.jpush.android.intent.PushService" />
<action android:name="cn.jpush.android.intent.PUSH_TIME" />
</intent-filter>
</service>
<!-- Required SDK 核⼼功能 since 1.8.0 -->
<service
android:name="cn.jpush.android.service.DaemonService"
android:enabled="true"
android:exported="true">
<intent-filter >
<action android:name="cn.jpush.android.intent.DaemonService" />
<category android:name="您应⽤的包名"/>
</intent-filter>
</service>
<!-- Required SDK

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值