華為 AppGallery Connect 提供了一個應用內訊息的服務,應用內訊息服務可以在用戶使用應用時,基于用戶使用情景向用戶發送有針對性的訊息,鼓勵用戶使用應用的某些關鍵功能,也可以借助應用內訊息發送更具吸引力的營銷內容,增強用戶粘性,今天就來教大家如何接入 AppGallery Connect 的應用內訊息服務,
1、在 AGC 上開通應用內訊息并創建新的訊息:
在我的專案 下選擇你的開發專案,在增長下面,找到應用內訊息服務,點擊開通:
沒有 Android 專案的話,可以先自己創建一個,
開通后我們就可以創建新的訊息了,
1.1. 首先點擊右上角“添加應用內訊息”
1.2. 配置訊息名稱和訊息描述,
1.3. 設定樣式和內容,完成后點擊“下一步”,
在“訊息種類”下拉框中選擇需要創建的訊息型別,然后設定對應的樣式和內容,當前支持的訊息型別包括:彈框訊息、圖片訊息、Banner訊息,
4. 設定發送目標,完成后點擊“下一步”,
- 在“應用”欄選擇需要發布應用內訊息的應用包名,
- 點擊“新增條件”可以靈活設定訊息發送的用戶,例如應用版本、OS版本、語言、國家地區、受眾群組等,其中,“用戶屬性”條件需要在“華為分析 -> 管理 -> 用戶屬性管理”中提前定義,“預測”條件需要在“我的專案->增長->預測”創建預測任務,
5. 設定發送時間,
這里可以設定觸發事件,除了默認的幾個觸發事件外還可以通過華為高級分析進行自定義,具體指導可以參考官方檔案:
https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-appmessage-create-android-0000001072054882
最后設定轉化事件,這一步是可選的,在設定轉化事件前,需要將對應事件的轉化事件開關打開,操作步驟如下:
在左側導航欄中選擇“華為分析 > 管理 > 事件管理”,將需要轉換的事件對應的“標記為轉化事件” 和“事件開關”打開,除SDK自動采集的事件外,還可以通過新建“預置事件”或“自定義事件”進行埋點分析
6. 最后點擊保存或發布按鈕就可以完成訊息設定了
2、在 Android 專案里集成 SDK
a) 集成 SDK
1、在專案級的 gradle 檔案中添加華為 Maven,即配置下面標紅的內容
buildscript {
repositories {
google()
jcenter()
maven {url 'https://developer.huawei.com/repo/'}
}
dependencies {
classpath 'com.android.tools.build:gradle:4.0.1'
classpath 'com.huawei.agconnect:agcp:1.5.2.300'
}
}
allprojects {
repositories {
google()
jcenter()
maven {url 'https://developer.huawei.com/repo/'}
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
2、打開應用級的 build.gradle 檔案,配置好云存盤的 SDK 和華為認證服務的 SDK,配置下面標紅的內容即可, 注意別落了上面的 agcp 插件
apply plugin: 'com.android.application'
apply plugin: 'com.huawei.agconnect'
android {…..}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
implementation 'com.huawei.agconnect:agconnect-appmessaging:1.5.2.300'
}
b) 下載 json 檔案,并且配置默認存盤實體
1、在 AGC 界面上,選擇 我的專案 -> 專案設定–> 常規 下面,下載 agconnect-services.json 檔案到你的 Android 專案的 app 路徑下,
3、功能開發:
如果開發者對訊息的樣式等資訊沒有要求,那應用內訊息完全可以0代碼集成,但是應用內訊息 SDK 還提供了自定義訊息布局等功能供開發者使用,
1、設定自定義布局
想要設定自定義布局,首先我們需要有一個自定義的布局,我們需要先實作一個布局類繼承 SDK 中的 AGConnectAppMessagingDisplay,并復寫其中的 displayMessage 方法
public class CustomDisplayView implements AGConnectAppMessagingDisplay {
@Override
public void displayMessage (
@NonNull AppMessage appMessage,
@NonNull AGConnectAppMessagingCallback callback) {
}
}
在 displayMessage 中我們可以定義一個 AlertDialog 然后將布局檔案應用進去即可,這是我寫的邏輯:
@Override
public void displayMessage(@NonNull AppMessage appMessage, @NonNull AGConnectAppMessagingCallback callback) {
Log.d(TAG, appMessage.getId() + "");
showDialog(appMessage, callback);
}
private void showDialog(@NonNull final AppMessage appMessage, @NonNull final AGConnectAppMessagingCallback callback) {
View view = LayoutInflater.from(activity).inflate(R.layout.custom_view, null, false);
final AlertDialog dialog = new AlertDialog.Builder(activity).setView(view).create();
Button click = view.findViewById(R.id.click);
Button dismiss = view.findViewById(R.id.dismiss);
TextView id = view.findViewById(R.id.id);
id.setText("MessageID: " + appMessage.getId());
click.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// set button callback
callback.onMessageClick(appMessage);
callback.onMessageDismiss(appMessage, AGConnectAppMessagingCallback.DismissType.CLICK);
dialog.dismiss();
}
});
dismiss.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//set button callback
callback.onMessageDismiss(appMessage, AGConnectAppMessagingCallback.DismissType.CLICK);
dialog.dismiss();
}
});
dialog.show();
dialog.getWindow().setLayout((getScreenWidth(activity) / 4 * 3), LinearLayout.LayoutParams.WRAP_CONTENT);
callback.onMessageDisplay(appMessage);
}
布局設定好后,我們就可以呼叫 addCustomView 方法來應用我們的布局了
CustomView customView = new CustomView(MainActivity.this);
appMessaging.addCustomView(customView);
2、除錯訊息
在訊息沒有正式發布之前,我們可以對訊息進行除錯,除錯有幾個步驟
a) 獲取除錯設備的 AAID,AAID 是應用匿名識別符號,標識運行在移動智能終端設備上的應用實體,只有該應用實體才能訪問該識別符號,它只存在于應用的安裝期,與無法重置的設備級硬體 ID 相比,AAID 具有更好的隱私權屬性,我們可以通過代碼來獲取這個 AAID
HmsInstanceId inst = HmsInstanceId.getInstance(this);
Task<AAIDResult> idResult = inst.getAAID();
idResult.addOnSuccessListener(new OnSuccessListener<AAIDResult>() {
@Override
public void onSuccess(AAIDResult aaidResult) {
String aaid = aaidResult.getId();
textView.setText(aaid);
Log.d(TAG, "getAAID success:" + aaid );
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(Exception e) {
Log.d(TAG, "getAAID failure:" + e);
}
});
b) 通過以上的方法我們就可以獲取到這個 AAID 了,我們可以將這個引數保存下來,后續會使用到,
c) 來到應用內訊息管理臺,找到剛剛我們創建的訊息在操作一欄我們點擊三個點的圖示,找到調測
d) 點擊“新增測驗用戶”然后將我們剛付訓取的AAID輸入進去即可,
e) 最后點擊保存測驗即可,完成后我們就可以使用相應的手機進行訊息調測了,訊息將在應用打開后展示,
應用內訊息服務開發指南:
https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-appmessage-getstarted-android-0000001072532718
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/445422.html
標籤:其他
