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

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

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

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

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

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

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

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

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


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

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

-
在項(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)配置就支持)

-
在 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í)推送,大家可以慢慢探索,@希望能幫到大家!謝謝






























