AndroidStudio整合極光推送
本人學習筆記,新手可以學習,高手請避讓擼程式碼去
廢話不說,開始擼程式碼。
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);
}
此時已經能接收到推送訊息、富媒體檔案。
自定義功能需做其他的自定義操作。
好了,搞定,收工!