android 极光推送测试,Android 3分钟带你集成极光推送
話不多說 首先申請極光的賬號,(官方地址:https://www.jiguang.cn)
1561710140829.png
登錄完成之后,先看到這個地方 ,我個人比較喜歡用舊版本,這里點擊舊版
1561710235064.png
點擊這個創(chuàng)建應用
1561710626969.png
注意這個地方應用名稱是必填項,圖標是選填,這里我就只填一個應用名稱(這里的名稱就是Mainface里面的app_name)
1561710724862.png
1561710743741.png
填入名字之后 點擊創(chuàng)建我的應用(這里我沒試過名字不一樣是否可以成功推送,個人覺得沒必要做這種嘗試)
1561710852958.png
看到創(chuàng)建成功字樣后點擊完成推送配置:
里面有Android IOS 和win 這里我只演示Android
1561711022205.png
取項目中app目錄下的build.gradle文件中的applicationId 對應的值(一般在集成三方庫的時候用到包名的,我們都認為這個applicationId 是應用程序的包名),將這個包名復制粘貼到以下頁面的選項中并點擊保存:
1561711265137.png
點擊 下載Demo,把Demo解壓到一個文件中如下:
1561711547102.png
很多博客寫到這里都是說把解壓之的文件以module的方式引入到項目中,經過我自己的測試我發(fā)現(xiàn)這樣是行不通的,因為極光提供的這個Demo其實是一個eclipse項目,所以在AS上跑是有問題的,經過閱讀官方文檔和自己的摸索,發(fā)現(xiàn)其實這里面有用的就上面標記的兩個地方,src里面存放了一些極光為我們生成的一套收消息的類,Mainface里面為我們配置了一些權限信息和其他的東西,這里首先需要按照官方文檔配置APP目錄下的build.gradle文件:
1561714344089.png
回到首頁查看極光推送的文檔(這里我只截取build.gradle里面的配置信息):
1561714447363.png
這一這個里面有個JPUSH_APPKEY:需要填入剛剛申請后的APPkey:
1561715348319.png
AS執(zhí)行以下 Sync Now 以便于下載極光的包
以下都是權限 沒什么好說的
這里主要是要查看Mainface里面的配置信息,備注信息很清楚,這里我就做過多贅述了:
//參照集成文檔中來的文檔中
package="com.yhb.pushdemo">
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">
android:name="cn.jpush.android.ui.PopWinActivity"
android:theme="@style/MyDialogStyle"
android:exported="false">
android:name="cn.jpush.android.ui.PushActivity"
android:configChanges="orientation|keyboardHidden"
android:theme="@android:style/Theme.NoTitleBar"
android:exported="false">
android:name="cn.jpush.android.service.PushService"
android:process=":pushcore"
android:exported="false">
android:authorities="com.yhb.pushdemo.DataProvider"
android:name="cn.jpush.android.service.DataProvider"
android:process=":pushcore"
android:exported="false"
/>
android:name="cn.jpush.android.service.DaemonService"
android:enabled="true"
android:exported="true">
android:authorities="com.yhb.pushdemo.DownloadProvider"
android:name="cn.jpush.android.service.DownloadProvider"
android:exported="true"
/>
android:name="cn.jpush.android.service.PushReceiver"
android:enabled="true"
android:exported="false">
android:name="cn.jpush.android.service.JNotifyActivity"
android:exported="true"
android:taskAffinity="jpush.custom"
android:theme="@android:style/Theme.Translucent.NoTitleBar">
android:process=":pushcore">
android:name="com.example.jpushdemo.MyReceiver"
android:exported="false"
android:enabled="true">
復制上去之后,會有以下幾處報錯,這幾處報錯只需要把src下面對應的類拷貝過來,然后修改Mainface里面的路徑名即可
image.png
image.png
image.png
image.png
新增完后的項目目錄:
image.png
可看到還有兩個類報錯,這個時候,看看一看里面需要的東西,差什么拷貝什么
最后剩下一個MainActivity里面需要添加東西,這里我直接拷貝過來
package com.yhb.pushdemo;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.support.v4.content.LocalBroadcastManager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
public static boolean isForeground = false;
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";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
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");
}
Toast.makeText(context, showMsg.toString(), Toast.LENGTH_SHORT).show();
}
} catch (Exception e){
}
}
}
@Override
protected void onResume() {
isForeground = true;
super.onResume();
}
@Override
protected void onPause() {
isForeground = false;
super.onPause();
}
}
最后一步,初始化極光推送:
package com.yhb.pushdemo;
import android.app.Application;
import cn.jpush.android.api.JPushInterface;
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
JPushInterface.setDebugMode(true);
JPushInterface.init(this);
}
}
在Mainface中新增如下代碼:
image.png
這個時候在AndroidStudio中Rebuild一下,然后安裝app到手機上,注意這里最好使用真機(樓主使用的真機測試,不知道模擬器是否可以)
這個時候我們就可以開始在極光后臺給我們的手機推送數(shù)據(jù)了
推送數(shù)據(jù)第一步:
image.png
注意這個列表10分鐘刷新一次,所有有時候我們看到的用戶數(shù)不對,是因為沒有及時刷新,所以不必擔心
在這個頁面點擊相應的應用,這里我點擊極光測試用例然后進入:
image.png
點擊這里的 “推送” 然后進入:
image.png
可以看到當前這個頁面中的推送歷史是什么都沒有的,然后點擊這里 “發(fā)送通知” 進入發(fā)送通知頁面
左邊是發(fā)送的測試信息,右邊是接收的平臺,我這里是Android
(注意:如果右邊這個方框里面沒有如圖顯示)
image.png
或者以下這四個按鈕不可選的時候,,說明在前面配置極光的時候少了一步
image.png
如果右邊的手機沒有出現(xiàn),或者是方框內什么都沒有,亦或是以上四個目標平臺不可選的時候,那么大概率是缺少以下配置:(方框內有顯示的,可以忽略此步驟)
1561710852958.png
如果沒問題,選擇對應的平臺,我這里選擇Android(選擇的平臺需要在推送配置里面配置好之后,才可以在這里選擇你想要推送的平臺)
以下目標人群和發(fā)送時間我這邊都是默認的,這里需要注意的是 這個立即發(fā)送按鈕,如果顯示是藍色的,說明上面的信息都沒有問題,否則你需要再次檢查上面需要填寫的內容
image.png
點擊立即發(fā)送,在手機上看到如下效果,說明推送已經集成成功
image.png
還可以在極光的控制臺看到詳細的數(shù)據(jù)如下,也說明推送集成成功,一般情況下兩種都可以看到:
image.png
至此,推送的demo就完全集成完了,小伙伴們可以根據(jù)自己的業(yè)務在之前copy的接收器和TestActivity里面做自己的業(yè)務邏輯了,當然 我這里實現(xiàn)的只是最簡單的推送邏輯,更多詳細內容請查看官方集成文檔。
如有問題,可以在下方給博主留言哦,博主也是一位菜雞,希望各位大佬不喜輕噴,在這里先行謝謝各位!
總結
以上是生活随笔為你收集整理的android 极光推送测试,Android 3分钟带你集成极光推送的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 国产 AC311A 直升机高高原性能验证
- 下一篇: PayPal联合创始人:科技业多数被裁员