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


    使用场景:

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

    创建自定义事件

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

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

    cke_552.png

    构建自定义消息

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

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

    a.         启用应用内消息服务

    b.         添加应用内消息

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

    1. public class CustomActivity implements AGConnectAppMessagingDisplay {
    2. private static final String TAG = "CustomView";
    3. MainActivity activity;
    4. public CustomActivity(MainActivity activity) {
    5. this.activity = activity;
    6. }
    7. @Override
    8. public void displayMessage(@NonNull AppMessage appMessage, @NonNull AGConnectAppMessagingCallback callback) {
    9. Log.d(TAG, appMessage.getId() + "");
    10. showDialog(appMessage, callback);
    11. }
    12. //展示自定义消息弹窗
    13. private void showDialog(@NonNull final AppMessage appMessage, @NonNull final AGConnectAppMessagingCallback callback) {
    14. View view = LayoutInflater.from(activity).inflate(R.layout.activity_custom, null, false);
    15. final AlertDialog dialog = new AlertDialog.Builder(activity).setView(view).create();
    16. Button click = view.findViewById(R.id.click);
    17. TextView id = view.findViewById(R.id.id);
    18. id.setText("推荐活动: " + "优惠活动"+activity.eventNumber);
    19. click.setOnClickListener(new View.OnClickListener() {
    20. @Override
    21. public void onClick(View v) {
    22. callback.onMessageDismiss(appMessage, AGConnectAppMessagingCallback.DismissType.CLICK);
    23. dialog.dismiss();
    24. activity.redirect(activity.eventNumber);
    25. }
    26. });
    27. dialog.show();
    28. dialog.getWindow().setLayout((getScreenWidth(activity) / 4 * 3), LinearLayout.LayoutParams.WRAP_CONTENT);
    29. callback.onMessageDisplay(appMessage);
    30. }
    31. public static int getScreenWidth(Context context) {
    32. return context.getResources().getDisplayMetrics().widthPixels;
    33. }
    34. }

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

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

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

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

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

  • 相关阅读:
    React Native适配Xcode 15 iOS 17.0+
    数据结构 之 树
    Tomcat架构详解
    django报错解决 Forbidden (403) CSRF verification failed. Request aborted.
    Upscayl:开源AI图像放大增强工具 | AIGC实践
    Lock和synchronized的区别
    帆软报表决策系统用户管理中添加用户,对手机号,emali添加自己的校验逻辑
    1.7 信息化发展与应用
    kubernetes集群之调度系统
    Java8 stream处理List,Map总结
  • 原文地址:https://blog.csdn.net/weixin_44708240/article/details/126297131