【AGC】如何创建自定义应用内消息

 使用场景:

为应用内消息创建一条自定义触发事件,当用户登陆后,使用自定义的应用内消息为用户推荐优惠活动。

 

创建自定义事件

1.         登录AppGallery Connect,点击“我的项目”。

2.         在项目列表中点击您的项目,选择“华为分析>管理>事件管理”,创建一条自定义事件。

cke_552.png

 

构建自定义消息

1.         登录AppGallery Connect,点击“我的项目”。

2.         在项目列表中点击您的项目,选择“增长>应用内消息>事件管理”,进入应用内消息页面,完成如下操作:

a.         启用应用内消息服务

b.         添加应用内消息

c.         实现AGConnectAppMessagingDisplay接口自定义一个消息显示类,将从远程配置获取的活动编号展示到自定义消息标题中,并通过自定义弹框中的按钮监听跳转至对应的活动界面。

public class CustomActivity implements AGConnectAppMessagingDisplay {
    private static final String TAG = "CustomView";
    MainActivity activity;
 
    public CustomActivity(MainActivity activity) {
        this.activity = activity;
    }
 
    @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.activity_custom, null, false);
        final AlertDialog dialog = new AlertDialog.Builder(activity).setView(view).create();
        Button click = view.findViewById(R.id.click);
        TextView id = view.findViewById(R.id.id);
        id.setText("推荐活动: " + "优惠活动"+activity.eventNumber);
        click.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                callback.onMessageDismiss(appMessage, AGConnectAppMessagingCallback.DismissType.CLICK);
                dialog.dismiss();
                activity.redirect(activity.eventNumber);
            }
        });
        dialog.show();
        dialog.getWindow().setLayout((getScreenWidth(activity) / 4 * 3), LinearLayout.LayoutParams.WRAP_CONTENT);
        callback.onMessageDisplay(appMessage);
    }
 
 
    public static int getScreenWidth(Context context) {
        return context.getResources().getDisplayMetrics().widthPixels;
    }
}

d.         调用AGConnectAppMessaging.addCustomView添加自定义显示类,添加自定义布局。

CustomActivity customActivity = new CustomActivity(MainActivity.this);
appMessaging.addCustomView(customActivity);

e.         在用户登录到主页面时添加自定义埋点,触发自定义消息的展示。

//打开SDK日志开关
HiAnalyticsTools.enableLog();
HiAnalyticsInstance instance = HiAnalytics.getInstance(this);
//自定义埋点,应用内消息触发事件
Bundle bundle = new Bundle();
bundle.putString("uid", uid);
bundle.putString("phoneNumber", phoneNumber);
instance.onEvent("ShowAppMessaging", bundle);

 欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh

{{o.name}}
{{m.name}}

猜你喜欢

转载自my.oschina.net/u/4478396/blog/5564840
今日推荐