本人学习笔记,新手可以学习,高手请避让撸代码去
废话不说,开始撸代码。
1、去激光推送官网去注册账号,认证身份。
https://www.jpush.cn/
2、点击创建应用创建自己的应用。
根据需要的信息进行信息的完善
完成之后点击穿件我的应用即可完成创建。
3、下载Demo,点击自己创建的应用信息,点开如下如 点击下载可下载相关的Demo。
4、解压下载的Demo
可以得到以下目录:
5、jar和so文件拷贝
打开上述的libs文件夹
将jar文件直接放在libs目录下
so文件要在main下创建jniLibs,记得添加jar的依赖项。
6、配置AndroidManifest
自定义权限
<permission
android:name="你的包名.JPUSH_MESSAGE"
android:protectionLevel="signature" />
用户权限
<uses-permission android:name="你的包名.JPUSH_MESSAGE" />
<uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<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.SYSTEM_ALERT_WINDOW"/>
<!-- 可选用户权限 -->
<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" />
key配置
<meta-data android:name="JPUSH_CHANNEL" android:value="developer-default"/>
<meta-data android:name="JPUSH_APPKEY" android:value="你的Key"/>
界面注册及接收器
<activity
android:name="cn.jpush.android.ui.PushActivity"
android:configChanges="orientation|keyboardHidden"
android:theme="@android:style/Theme.NoTitleBar"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="cn.jpush.android.ui.PushActivity" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="${applicationId}" />
</intent-filter>
</activity>
<!--极光推送的服务-->
<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>
<!--下载服务-->
<service
android:name="cn.jpush.android.service.DownloadService"
android:enabled="true"
android:exported="false" >
</service>
<!--极光推送的广播接收器-->
<receiver
android:name="cn.jpush.android.service.PushReceiver"
android:enabled="true" >
<intent-filter android:priority="1000">
<action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXY" />
<!--注意要换成自己的包名-->
<category android:name="你的包名" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.USER_PRESENT" />
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.PACKAGE_ADDED" />
<action android:name="android.intent.action.PACKAGE_REMOVED" />
<data android:scheme="package" />
</intent-filter>
</receiver>
<receiver android:name="cn.jpush.android.service.AlarmReceiver" />
7、初始化激光推送,添加统计代码
启动Activity的onCreate中
//初始化激光推送
JPushInterface.setDebugMode(true);
JPushInterface.init(getApplicationContext());
统计代码
@Override
protected void onResume() {
super.onResume();
//极光推动统计代码
JPushInterface.onResume(this);
}
@Override
protected void onPause() {
super.onPause();
//极光推动统计代码
JPushInterface.onPause(this);
}
此时已经能接收到推送消息、富媒体文件。
自定义功能需做其他的自定义操作。
好了,搞定,收工!