1. 程式人生 > >AndroidStudio整合極光推送

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);
    }

此時已經能接收到推送訊息、富媒體檔案。

自定義功能需做其他的自定義操作。

好了,搞定,收工!