極光推送 (具體步驟,指導(dǎo)操作,推送成功)

[一、百度一下:極光推送的官網(wǎng)]


image.png

[二、進(jìn)入官網(wǎng),并注冊(cè)賬號(hào)登錄]


image.png

[三、點(diǎn)擊“應(yīng)用管理”,并“創(chuàng)建應(yīng)用”]


image.png

[四、應(yīng)用名稱、應(yīng)用圖標(biāo)隨意起名,上傳,最后點(diǎn)擊“創(chuàng)建我的應(yīng)用”]


image.png

[五、請(qǐng)記好你的AppKey,然后點(diǎn)擊“完成推送設(shè)置”]


image.png

[六、我們先測(cè)試android,請(qǐng)?zhí)钊肽恪表?xiàng)目的包名”,最后點(diǎn)擊保存,彈出一個(gè)窗口,我們點(diǎn)擊確定]


image.png
  • 在項(xiàng)目的build.gradle的Module:app中獲取包名


    image.png
image.png

【七、點(diǎn)擊下載Demo】


【八、下載完成后,建一個(gè)文件夾,把壓縮包放進(jìn)去然后解壓到當(dāng)前文件夾】


image.png
image.png

【九、返回瀏覽器,點(diǎn)擊查看集成指南】


image.png

【十、我們選擇自動(dòng)集成】


image.png
  • 在項(xiàng)目的清單文件中,把service這段復(fù)制到application中去,tools報(bào)紅就導(dǎo)包,name爆紅先不管


    image.png

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        //把service這段復(fù)制,tools報(bào)紅就導(dǎo)包,name爆紅先不管
        <service android:name="cn.jpush.android.service.PushService"
            android:process=":multiprocess"
            tools:node="replace" >
        </service>
        
    </application>

  • 確認(rèn)android studio的 Project 根目錄的主 gradle 中配置了jcenter支持。(新建project默認(rèn)配置就支持)
image.png
  • 在 module 的 gradle 中添加依賴和AndroidManifest的替換變量。


    image.png
  • 注意修改AppKey,并Sync Now


    image.png

【十一、Sync Now 等運(yùn)行完畢就OK咯】

【十二、開始推送(以上為自動(dòng)集成步驟)】

  • 在清單文件AndroidManifest中,復(fù)制Required這段請(qǐng)求


    image.png
  • 在清單文件中復(fù)制receiver這段


    image.png

 <receiver
            android:name=".di.global.PushReceiver" //換成自己的receiver路徑!!!
            android:enabled="true"
            android:exported="true" >
            <intent-filter>
                <action android:name="cn.jpush.android.intent.REGISTRATION" />
                <action android:name="cn.jpush.android.intent.MESSAGE_RECEIVED" />
                <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED" />
                <action android:name="cn.jpush.android.intent.NOTIFICATION_OPENED" />
                <action android:name="cn.jpush.android.intent.NOTIFICATION_CLICK_ACTION" />
                <action android:name="cn.jpush.android.intent.CONNECTION" />
                <category android:name="com.example.myproject" />
            </intent-filter>
        </receiver>

  • 在工程中加混淆


    image.png

    image.png
  • 在項(xiàng)目中創(chuàng)建App繼承Application,不要忘記在清單文件的Application中添加name?。。?/p>

    image.png

    image.png
  • 新建一個(gè)Receiver


    image.png

    image.png
  • 打開我們剛下的Demo,打開MyReceiver.java,把里面的內(nèi)容都復(fù)制到項(xiàng)目的PushReceiver中去


    image.png

    image.png
  • 爆紅了是吧,我們接著在下載的Demo中復(fù)制Logger.java到項(xiàng)目中去,直接復(fù)制啊?。?!


    image.png
  • 還爆紅對(duì)不對(duì),注意項(xiàng)目導(dǎo)的包,我們刪除這個(gè)就好啦


    image.png
  • 接下來創(chuàng)建一個(gè)Activity,是為了自定義推送的內(nèi)容


    image.png

    image.png
  • 在Activity的布局中加一個(gè)TextView布局


    image.png
  • 還有報(bào)紅的沒解決,接著來


    image.png
  • 打開下載的Demo中的MainActivity,查找有關(guān)isForeground的所有代碼,并復(fù)制到項(xiàng)目中的MainActivity中去

public static boolean isForeground = false;
    @Override
    protected void onResume() {
        isForeground = true;
        super.onResume();
    }


    @Override
    protected void onPause() {
        isForeground = false;
        super.onPause();
    }
  • 打開下載的Demo中的MainActivity,查找有關(guān)isForeground的所有代碼,并復(fù)制到項(xiàng)目中的MainActivity中去


    image.png

    private MessageReceiver mMessageReceiver;
    public static final String MESSAGE_RECEIVED_ACTION = "com.example.jpushdemo.MESSAGE_RECEIVED_ACTION";
    public static final String KEY_TITLE = "title";
    public static final String KEY_MESSAGE = "message";
    public static final String KEY_EXTRAS = "extras";

    public void registerMessageReceiver() {
        mMessageReceiver = new MessageReceiver();
        IntentFilter filter = new IntentFilter();
        filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
        filter.addAction(MESSAGE_RECEIVED_ACTION);
        LocalBroadcastManager.getInstance(this).registerReceiver(mMessageReceiver, filter);
    }

    public class MessageReceiver extends BroadcastReceiver {

        @Override
        public void onReceive(Context context, Intent intent) {
            try {
                if (MESSAGE_RECEIVED_ACTION.equals(intent.getAction())) {
                    String messge = intent.getStringExtra(KEY_MESSAGE);
                    String extras = intent.getStringExtra(KEY_EXTRAS);
                    StringBuilder showMsg = new StringBuilder();
                    showMsg.append(KEY_MESSAGE + " : " + messge + "\n");
                    if (!ExampleUtil.isEmpty(extras)) {
                        showMsg.append(KEY_EXTRAS + " : " + extras + "\n");
                    }
                    setCostomMsg(showMsg.toString());
                }
            } catch (Exception e){
            }
        }
    }

  • 把這行刪去,改為Toast
 setCostomMsg(showMsg.toString());//刪除
Toast.makeText(context, showMsg.toString(), Toast.LENGTH_SHORT).show();
  • 剩下最后一個(gè)爆紅的了,打開下載的Demo并把ExampleUtil.java復(fù)制到項(xiàng)目中去


    image.png

    image.png
  • 返回瀏覽器,點(diǎn)擊統(tǒng)計(jì),發(fā)現(xiàn)我們的累積用戶為0


    image.png
  • 運(yùn)行我們的項(xiàng)目到手機(jī)上去(模擬器也可以)


    image.png
  • 刷新剛剛的瀏覽器,發(fā)現(xiàn)用戶變成1了,表示集成成功,可以推送了


    image.png
  • 點(diǎn)擊瀏覽器的”推送---發(fā)送通知”,在輸入框填寫你想要推送的內(nèi)容


    image.png
  • 推送對(duì)象選擇android,點(diǎn)擊立即發(fā)送


    image.png
  • 立即發(fā)送


    image.png
  • 推送成功


    image.png

    image.png
  • 我的極光推送GitHub地址:https://github.com/HelloGuoYing/JIGUANGDEMO

  • 還有定時(shí)推送,大家可以慢慢探索,@希望能幫到大家!謝謝

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,365評(píng)論 25 708
  • 1、通過CocoaPods安裝項(xiàng)目名稱項(xiàng)目信息 AFNetworking網(wǎng)絡(luò)請(qǐng)求組件 FMDB本地?cái)?shù)據(jù)庫組件 SD...
    陽明AI閱讀 16,240評(píng)論 3 119
  • 因?yàn)槟惆炎约宏P(guān)起來,才會(huì)看不到天空的明亮 我曾想過,為什么因?yàn)橐恍┤艘恍┦?,我們要難過這么久? 所以我一直找答案。...
    葉杉然閱讀 646評(píng)論 0 0
  • 前言: 從本次課程正式加入到編程的行列中來,以前編程的經(jīng)驗(yàn)不多,通過此次學(xué)習(xí)希望可以獲得更多的收獲。 Hadoop...
    ly稻草閱讀 803評(píng)論 0 1
  • 今天是星期三,今天我們?cè)缟峡嫉氖菙?shù)學(xué)。我考完試跟大家討論幾道題,還跟我們年級(jí)月考,考第一,第四,第七的學(xué)霸君...
    山榛隰苓閱讀 233評(píng)論 1 0

友情鏈接更多精彩內(nèi)容