• 【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

  • 相关阅读:
    MyBatis动态SQL
    MyBatisPlus(SpringBoot版)的分页插件
    测试十大法则
    基于Python的数据科学(7):Pandas基础
    java mysql ssm框架的同城配送系统源码
    简单ELK配置实现生产级别的日志采集和查询实践
    203、RabbitMQ 之 使用 direct 类型的 Exchange 实现 消息路由 (RoutingKey)
    基于ABP和Magicodes实现Excel导出操作
    内存储器题目
    【个人亲历】上海市人才引进落户最详细的流程记录说明
  • 原文地址:https://blog.csdn.net/weixin_44708240/article/details/126297131