借助AGC的云数据库、云托管、应用内消息、App Linking等服务,您可以给不同价值用户设置不同的优惠套餐活动,引导用户持续购买,增强用户黏性。判断用户价值,发送营销短信,引导用户参与营销活动,提升用户留存率。

实现流程

序号

步骤

详情

1

配置预测服务,用于预测流失用户

首先,您需要配置预测服务,设置预测流失用户的任务。用于判断用户是否符合要求。

2

配置应用内消息服务,用于引导用户参与活动

您需配置应用内消息服务。配置完成后,当您的用户在登录客户端时,应用会自动调用应用内消息Android的接口将弹出弹框消息,引导用户去网页参与活动。

3

配置云托管服务,用于托管用户参与的活动网页

您需要配置云托管服务,通过AGC控制台可视化创建站点,并且您需要完成网页开发并将您的网页文件打包成托管包,再然后将托管包上传到站点创建网站版本。

4

配置APP Linking服务,用于用户点击网页跳转到活动详情页面参与

您需要配置APP Linking服务,申请链接前缀,配置网址允许清单,创建App Linking,在Android工程的manifest配置文件中添加Intent过滤器,用于指定处理哪些App Linking。

5

配置云数据库服务,用于记录用户参与活动的相关信息

当您的用户点击参与活动购买时,应用汇自动调用云数据库Android的接口将购买信息记录在云数据库中,以便您能清楚地了解哪些用户购买了哪些商品,并对此用户做出相应的反馈。

配置预测服务,用于预测流失用户

首先,您需要配置预测服务,设置预测流失用户的任务。用于判断用户是否符合要求。

配置应用内消息服务

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

2.在项目列表中点击您的项目。

3.选择“增长 > 预测”,进入预测页面,完成如下操作:

启用预测服务。

设置预测任务

1.用户详情分析

1)点击流失用户预测任务后的“查看”按钮,系统进入“流失用户预测详情”页面。

选择“分布分析”页签,点击“自定义卡片”,勾选需要查看的用户属性和用户行为。

2)勾选完成后,点击“保存”,即可在预测详情页面查看预测出来的每个概率的分布分析用户详情。

3)通过点击“高概率流失用户”、“中概率流失用户”、“低概率流失用户”,可切换查看预测出来的不同概率的流失用户的属性和行为详情。

4)除了系统预置的高中低三个概率,也可以根据产品实际运营需求,自定义区间概率,来预测符合产品实际特点的人群。拖动下图所示的概率条,可动态查看上述用户属性和行为特征。

2. 预测人群精细化运营

1) 点击“应用”,根据制定的运营策略,选择具体的受众使用场景。

2) 点击对应场景后,将跳转至其他能力的后台配置页面。

3. 查看历史预测准确率

1)预测服务不仅可以查看最新预测任务详情,还支持查看近一周的预测准确率。点击下图所示的首页预测列表历史指标按钮,即可查看近7天的预测准确率。

配置应用内消息服务,用于引导用户参与活动

首先,您需启用应用内消息服务并进行相关配置。配置完成后,用户才能在应用内接收到应用内消息。

配置应用内消息服务

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

2.在项目列表中点击您的项目。

3.选择“增长 > 应用内消息”,进入应用内消息页面,完成如下操作:

启用应用内消息服务、集成SDK。

添加应用内消息

1.在AGC页面选择增长-应用内消息,点击添加应用内消息。

2. 配置消息名称和消息描述。

3. 设置样式和内容,本次Codelab选择创建Banner消息,其余信息可自行填写。完成后点击"下一步"。

4. 设置发送目标,新增条件为应用并选择当前应用的应用包名。

5. 设置发送时间,如下图设置,意为在应用在前台或启动时展示。标记转化事件无需设置,直接点击右上角 "发布"按钮发布设置。

配置云托管服务,用于托管用户参与的活动网页

您需要启动云托管服务并进行相关配置。配置完成后,再将开发的活动网页使用网站托管功能,站点的版本上线成功后,用户即可点击站点域名访问托管的静态页面。

配置云托管服务

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

2.在项目列表中点击您的项目。

3.选择“构建 > 云托管”,进入云托管页面,完成如下操作:

启用云托管服务。

创建海外站点

使用泛域名创建站点。

1. 在“站点管理”页面,下拉框中选择“泛域名”后,点击“创建站点”。

2. 输入站点名称和站点描述信息,点击“确定”,完成创建。站点名称只允许包含数字,英文字母以及短横线(-)。

创建版本

通过AGC控制台管理版本:在AGC界面中以可视化的方式实现创建版本。

1. 在“站点管理”页面,点击站点“操作”列表的“版本管理”,进入版本管理页面。

2. 点击“创建版本”,在弹出窗口完成版本创建后点击“确定”。

3. 点击“浏览”,选择您需要上传的静态网页包,点击“上传”,并填写描述信息。选择“生产发布”,版本成功创建之后,将显示在站点版本列表下,状态为“上线中”。

配置APP Linking服务,用于用户点击网页跳转到活动详情页面参与

您需要启动APP Linking服务并进行相关配置。配置完成后,创建App Linking,在Android工程的manifest配置文件中添加Intent过滤器,用于指定处理哪些App Linking。

配置APP Linking服务

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

2.在项目列表中点击您的项目。

3.选择“增长 > APP Linking”,进入APP Linking页面。完成如下操作:

启用APP Linking服务、集成SDK。

申请链接前缀

1.在导航选择"增长" >" App Linking",选择"链接前缀"页签,点击"添加链接前缀"。在"设置域名"中输入本次Codelab所使用的网址前缀。

2. 完成输入并且点击"下一步",系统将自动验证该链接前缀是否可用。

创建App Linking

1. 在App Linking页面下,选择"App Linking"页签,点击"创建App Linking"

2. 在"设置短链接"步骤中,直接使用系统推荐默认的即可,直接点击"下一步"。在"设置深度链接"步骤,配置相应的参数,其中:链接名称 :按需配置即可,一般配置为该链接的使用场景。深度链接地址(默认):一般配置为PC打开场景下可访问的H5地址。Android深度链接地址:Android设备点击该链接中,重定向并且获取到的地址。

3. 设置链接行为,在"设置Android链接行为中",将行为配置为"在Android应用中打开",并且下拉选择对应的包名,未安装应用时,选择"华为应用市场"详情页。其他可选参数不填,直接点击右上角的"发布"按钮,发布该App Linking链接。

接收App Linking

1. 打开app/src/main路径下的AndroidManifest文件,在MainActivity的<activity>标签中添加需要接收DeepLink域名的Intent过滤器。

    1. <intent-filter>
    2. <action android:name="android.intent.action.VIEW" />
    3. <category android:name="android.intent.category.DEFAULT" />
    4. <category android:name="android.intent.category.BROWSABLE" />
    5. <data android:host="applinking.codelab" android:scheme="codelabeasy" />
    6. </intent-filter>

配置云数据库服务,用于记录用户参与活动的相关信息

用户点击购买后,通过云数据库记录数据,记录参与活动的用户的相关信息。

并对已参与的用户进行提示不能重复参与。

配置云数据库服务

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

2.在项目列表中点击您的项目。

3.选择“构建 > 云数据库”,进入云数据库页面,完成如下操作:

启用云数据库服务、集成SDK。

新增和导出对象类型

1. 在导航树上点击"构建 > 云数据库"。单击"新增",进入创建对象类型页面。

2. 输入"对象类型名"后,单击"下一步"。单击新增字段,新增如下字段后,单击"下一步"。单击新增索引,设置"索引名","索引字段"后,单击"下一步"。按照如下要求设置各角色权限后,单击"下一步"。单击"确定"。创建完成后返回对象类型列表中,可以查看已创建的对象类型。单击"导出"。

3. 选择导出文件格式,选择"java格式"。选择java文件类型,选择"android"。输入包名称,即java文件中的package名称。单击"导出"。 文件将会导出至本地,其内包含该版本中所有的对象类型文件和对象类型信息文件。导出的java格式文件在后续步骤用于添加至本地开发环境。

新增存储区

1.选择"存储区"页签。单击"新增",进入创建存储区页面。输入"存储区名称。单击"确定"。

2.添加对象类型文件。将AGC控制台上导出的java格式文件添加至本地开发环境,并通过AGConnectCloudDB类中的createObjectType()方法实现对象类型的定义和创建。您在进行本地应用开发时,无需再次创建对象类型。

写入数据

1.初始化。在应用中初始化AGConnectCloudDB。获取AGConnectCloudDB实例,并创建对象类型。

    1. public static void initAGConnectCloudDB(Context context) {
    2. AGConnectCloudDB.initialize(context);
    3. }
    1. public CloudDBZoneWrapper() {
    2. mCloudDB = AGConnectCloudDB.getInstance();
    3. }
    4. public void createObjectType() {
    5. try {
    6. mCloudDB.createObjectType(ObjectTypeInfoHelper.getObjectTypeInfo());
    7. } catch (AGConnectCloudDBException e) {
    8. Log.w(TAG, "createObjectType: " + e.getMessage());
    9. }
    10. }

2. 创建Cloud DB zone配置对象,并打开该Cloud DB zone。

    1. public void openCloudDBZoneV2() {
    2. mConfig = new CloudDBZoneConfig("QuickStartDemo",
    3. CloudDBZoneConfig.CloudDBZoneSyncProperty.CLOUDDBZONE_CLOUD_CACHE,
    4. CloudDBZoneConfig.CloudDBZoneAccessProperty.CLOUDDBZONE_PUBLIC);
    5. mConfig.setPersistenceEnabled(true);
    6. Task<CloudDBZone> openDBZoneTask = mCloudDB.openCloudDBZone2(mConfig, true);
    7. openDBZoneTask.addOnSuccessListener(new OnSuccessListener<CloudDBZone>() {
    8. @Override
    9. public void onSuccess(CloudDBZone cloudDBZone) {
    10. Log.w(TAG, "open clouddbzone success");
    11. mCloudDBZone = cloudDBZone;
    12. // Add subscription after opening cloudDBZone success
    13. addSubscription();
    14. }
    15. }).addOnFailureListener(new OnFailureListener() {
    16. @Override
    17. public void onFailure(Exception e) {
    18. Log.w(TAG, "open clouddbzone failed for " + e.getMessage());
    19. }
    20. });
    21. }

3. 在CloudDBZoneWrapper中通过executeUpsert()实现数据的写入。我们对executeUpsert()进行了封装,可以直接使用upsertBookInfos()方法进行写入数据操作。

    1. public void upsertBookInfos(BookInfo bookInfo) {
    2. if (mCloudDBZone == null) {
    3. Log.w(TAG, "CloudDBZone is null, try re-openit");
    4. return;
    5. }
    6. Task<Integer> upsertTask = mCloudDBZone.executeUpsert(bookInfo);
    7. upsertTask.addOnSuccessListener(new OnSuccessListener<Integer>() {
    8. @Override
    9. public void onSuccess(Integer cloudDBZoneResult) {
    10. Log.w(TAG, "upsert " + cloudDBZoneResult + " records");
    11. }
    12. }).addOnFailureListener(new OnFailureListener() {
    13. @Override
    14. public void onFailure(Exception e) {
    15. mUiCallBack.updateUiOnError("Insert book info failed");
    16. }
    17. });
    18. }

测试功能

您可以执行如下操作来功能是否可以正常使用:

  1. 打开您的应用,登录到主界面。
  2. 主界面会弹出应用内消息框。
  3. 点击应用内消息跳转到网页活动。
  4. 点击想要参与的活动,跳转到相应的活动详情界面。
  5. 点击购买,云数据库记录用户信息。

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

【AGC】引导用户购买提升用户留存率的更多相关文章

  1. UI设计可供性解析:巧用隐藏的设计力提升用户体验

    以下内容由Mockplus团队翻译整理,仅供学习交流,Mockplus是更快更简单的原型设计工具. 在实际的Web或App界面设计中,设计师们在学习和实践各种专业知识和技能之外,也会不可避免的遇到到各 ...

  2. 【译】如何使用Vue过渡效果来提升用户体验

    在Vue应用中添加过渡效果是一个可以使你的项目感觉更专业的简单方法.通过提升用户体验,可以使你的网站留住更多的用户以及提高转化率. 只需要简单的处理就可以获得巨大的回报,何乐而不为? 在这个指南中,我 ...

  3. Atitit.hybrid混合型应用 浏览器插件,控件的实现方式 浏览器运行本地程序的解决方案大的总结---提升用户体验and开发效率..

    Atitit.hybrid混合型应用 浏览器插件,控件的实现方式 浏览器运行本地程序的解决方案大的总结---提升用户体验and开发效率.. 1. hybrid App 1 1.1. Hybrid Ap ...

  4. paip.提升用户体验--radio图片选择器 easyui 实现..

    #paip.提升用户体验--radio图片选择器 easyui 实现.. =================================== ##原因... ------------------- ...

  5. paip.提升用户体验--提升java的热部署热更新能力

    paip.提升用户体验--提升java的热部署热更新能力 想让java做到php那么好的热部署能力  "fix online"/在线修复吗??直接在服务器上修改源码生效,无需重启应 ...

  6. 加链接太麻烦?使用 linkit 模块提升用户编辑体验

    在制作网站内容时,适当地添加链接会非常用利于网站内容的SEO.加入链接的文章可以让访客了解到更多相关内容,从而提升文章的质量.被链接到的内容也能因此获得更多的访问和关注.只不过,在内容编辑时添加链接却 ...

  7. paip.提升用户体验----gcc c++ JIT-debugging 技术

    paip.提升用户体验----gcc  c++ JIT-debugging 技术 作者Attilax ,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http ...

  8. paip.提升用户体验-----c++ gcc 命令在notepad++扩展中的配置..

    paip.提升用户体验-----c++ gcc 命令在notepad++扩展中的配置.. 作者Attilax ,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址: ...

  9. paip.提升用户体验---c++ qt 取消gcc编译的警告信息.txt

    paip.提升用户体验---c++ qt 取消gcc编译的警告信息.txt 作者Attilax ,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http:// ...

随机推荐

  1. 理解RESTful Api设计

    REST REST(REpresentational State Transfer)是 Roy Fielding 博士于 2000 年在他的博士论文中提出来的一种软件架构风格(一组架构约束条件和原则) ...

  2. 深度学习与CV教程(2) | 图像分类与机器学习基础

    作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/37 本文地址:http://www.showmeai.tech/article-det ...

  3. autohotkey(AHK)实现箭头映射

    起因 在主力本上使用了AHK实现alt ijkl的箭头映射,在另一个本子上怎么都不习惯,于是网上找教程,找了半天... 因为大家习惯了快捷键都不一样,为了避免以后浪费时间,因此开此文记录. 操作 ht ...

  4. 前端工作中用到的openlayers相关的公共方法

    /** * 获取地图上的图层对象 * @param map 地图对象 * @param layerName 实例化图层时的name * @return {null}*/ getLayerByLayer ...

  5. python PIL 图片素描化

    from PIL import Image import numpy as np a = np.asarray(Image.open("D://7.jpg").convert('L ...

  6. Django——表单

    一.前言 看了下教程,以为表单很简单呢,结果搞了一两个钟才弄懂,哈哈哈,所以说不要小瞧每一件事. 先说明下HTTP请求: HTTP协议以"请求-回复"的方式工作.客户发送请求时,可 ...

  7. opencv-python获取视频信息

    代码 import cv2 if __name__ == '__main__': # 读取视频 capture = cv2.VideoCapture('./videos/person.mp4') # ...

  8. Error: $injector:modulerr Module Error

    Failed to instantiate module app due to://实例化失败 Error: [$injector:modulerr] http://errors.angularjs. ...

  9. crane:字典项与关联数据处理的新思路

    前言 在我们日常开发中,经常会遇到一些烦人的数据关联和转换问题,比如典型的: 对象属性中个有字典 id,需要获取对应字典值并填充到对象中: 对象属性中有个外键,需要关联查询对应的数据库表实体,并获取其 ...

  10. -bash: /usr/local/maven/apache-maven-3.8.1/bin/mvn: 权限不够

    chmod a+x /usr/local/maven/apache-maven-3.8.1/bin/mvn