快出海  > AppGallery  >  AppGallery Connect:展示应用内消息

AppGallery Connect:展示应用内消息

来源:HUAWEI
作者:AppGallery Connect
时间:2020-12-30

pexels-zen-chung-5537930.jpg

App Messaging SDK负责消息的拉取和展示。当您在AGC后台创建了消息、并且集成了App Messaging SDK,当达到消息展示的触发条件后,App Messaging SDK会自动以默认的消息展示布局在应用中展示消息。您可以不需要编写任何代码,就可以拥有展示消息的能力。如果您需要对展示的消息或用户对消息的操作进行一些别的特殊配置,您可以通过App Messaging SDK提供的API完成。

应用内消息的展示条件

App Messaging SDK展示消息的条件包括以下几点:

1. App必须在前台运行。

2. App触发消息展示的事件:用户在App的操作触发消息预设的事件后,App Messaging SDK会去同步AGC服务端或本地缓存的消息数据,获取到消息后,判断消息是否需要显示。

App Messaging SDK 支持数据拉取开关的设置,方便您随时开启/停用从AGC服务端数据拉取功能(默认为开启)。

a. 调用AGConnectAppMessaging.getInstance初始化AGConnectAppMessaging实例。

b. 调用AGConnectAppMessaging.setFetchMessageEnable设置是否同步AGC服务端数据的开关。

Java:

AGConnectAppMessaging.getInstance().setFetchMessageEnable(true);

Kotlin:

AGConnectAppMessaging.getInstance().setFetchMessageEnable(true);

说明:

App Messaging SDK并不是每次触发事件都会去AGC服务端请求消息,而是在一定的时间内只请求一次(通常为App启动时),然后把所有的消息缓存到本地,在过期时间之内事件触发时只会从本地读取消息。

在消息数据过期时间内,如果在AGC创建了新的消息,由于App Messaging SDK不会再次到AGC请求数据,新创建的消息将不会被获取。

3. AGC上创建了应用内消息,且消息处于发布状态,消息需要满足以下条件:

消息的开始时间和结束时间满足要求:当前时间(手机时间)需要大于消息的开始时间且小于结束时间。

消息的展示频率满足要求:消息没有被展示过,展示的次数或者频率没有超过限制。

消息的触发事件满足要求:消息的触发事件列表中需要包含此次App的触发事件。

App Messaging SDK 支持消息展示开关的设置,方便您随时开启/停用消息展示功能(默认为开启)。

a. 调用AGConnectAppMessaging.getInstance初始化AGConnectAppMessaging实例。

b. 调用AGConnectAppMessaging.setDisplayEnable设置是否允许展示消息的开关。

Java:

//消息展示设置成false后,App Messaging SDK将不再展示任何消息

AGConnectAppMessaging appMessaging = AGConnectAppMessaging.getInstance(); 

appMessaging.setDisplayEnable(false);

Kotlin:

//消息展示设置成false后,App Messaging SDK将不再展示任何消息

var appMessaging: AGConnectAppMessaging? = AGConnectAppMessaging.getInstance(); 

appMessaging?.setDisplayEnable(false);

当用户与消息交互时进行响应

通过App Messaging SDK您可以进一步定制应用内消息的行为,在用户与消息交互时进行响应,App Messaging SDK支持对消息的展示、点击和消失事件的监听。实现的基本步骤如下:

1. 调用AGConnectAppMessaging.getInstance初始化AGConnectAppMessaging实例。

Java:

AGConnectAppMessaging appMessaging = AGConnectAppMessaging.getInstance();

Kotlin:

var appMessaging: AGConnectAppMessaging? = AGConnectAppMessaging.getInstance();

2. 创建监听器。

您可以通过继承App Messaging SDK的AGConnectAppMessagingOnDisplayListener(消息展示监听器)、AGConnectAppMessagingOnClickListener(消息点击监听器)、AGConnectAppMessagingOnDismissListener(消息消失监听器)来创建事件的监听器。

例如,创建一个点击事件的监听器,示例代码如下:

Java:

public class ClickListener implements AGConnectAppMessagingOnClickListener { 

    @Override 

    public void onMessageClick(AppMessage appMessage) { 

        // 获取到点击消息的内容

    } 

}

Kotlin:

class ClickListener : AGConnectAppMessagingOnClickListener { 

    override fun onMessageClick(appmessage: AppMessage?) { 

        // 获取到点击消息的内容

    } 

}

3. 注册监听器。

您可以通过AGConnectAppMessaging的addOnClickListener、addOnDismissListener和addOnDisplayListener来注册监听器。

Java:

ClickListener listener = new ClickListener(); 

appMessaging.addOnClickListener(listener);

Kotlin:

val clickListener = ClickListener(); 

appMessaging?.addOnClickListener(clickListener)

设置自定义的布局

App Messaging服务提供三种消息样式:弹框消息、图片消息和Banner消息,App Messaging SDK提供消息的默认展示布局。您可以自己实现消息的展示样式,从而使得消息的展示样式更加适合App的相关主题。

1. 通过继承AGConnectAppMessagingDisplay的方式自定义一个消息显示类。

Java:

public class CustomDisplayView implements AGConnectAppMessagingDisplay { 

    @Override 

    public void displayMessage(@NonNull AppMessage appMessage,  

                       @NonNull AGConnectAppMessagingCallback callback) { 

             } 

}

Kotlin:

class CustomDisplayView : AGConnectAppMessagingDisplay { 

    override fun displayMessage(p0: AppMessage, p1: AGConnectAppMessagingCallback) { 

    } 

}

displayMessage方法有两个对象:AppMessage和AGConnectAppMessagingCallback。

AppMessage是消息的内容。

AGConnectAppMessagingCallback是消息交互的回调对象,您应该在合适的时机回调该对象的方法。

- 在消息展示时回调onMessageDisplay,这一步很重要,如果该方法一直不回调,则App Messaging SDK无法获取该条消息是否被显示,导致消息会被重复下发。

- 在消息点击时回调onMessageClick。

- 在消息消失时回调onMessageDismiss。

2. 调用AGConnectAppMessaging.addCustomView添加自定义显示类。

Java:

CustomDisplayView view = new CustomDisplayView(); 

AGConnectAppMessaging.getInstance().addCustomView(view);

Kotlin:

var view = CustomDisplayView() 

AGConnectAppMessaging.getInstance().addCustomView(view);

当然,如果您需要恢复消息的默认布局,可以调用AGConnectAppMessaging.removeCustomView移除自定义布局。

Java:

AGConnectAppMessaging.getInstance().removeCustomView();

Kotlin:

AGConnectAppMessaging.getInstance().removeCustomView();

版权说明

本文内容来自于HUAWEI,本站不拥有所有权,不承担相关法律责任。文章内容系作者个人观点,不代表快出海对观点赞同或支持。如有侵权,请联系管理员(hj@kchuhai.com)删除!

相关文章
AppGallery Connect云托管服务常见问题解答
AppGallery Connect云托管服务常见问题解答
云托管服务对托管包有什么限制?为什么已完成版本创建,但是前台查询还是上线中?
5天前
AppGallery Connect:商品管理-如何删除商品
AppGallery Connect:商品管理-如何删除商品
如果您需要下架某个商品,除了可以“失效”该商品外,还可以选择删除该商品。
5天前
AppGallery Connect:华为分析初始化
AppGallery Connect:华为分析初始化
华为分析服务(Huawei Analytics)预置大量分析模型,可帮助您清晰地了解用户的行为方式,从而实现用户、产品、内容的深度洞察,让您实现基于数据驱动的运营,可以就应用营销和产品优化制定明智的决策。
6天前
华为AppGallery月活跃用户超5.3亿 注册开发者超230万
华为AppGallery月活跃用户超5.3亿 注册开发者超230万
在受到美国的重重压力下,华为正在大力推动 App Gallery 作为替代的移动应用生态系统。华为近日表示,该平台目前已经拥有超过 230 万注册开发者,同比增长了 77%,全球月活跃用户数量超过 5.3 亿。
6天前
AppGallery Connect:某开发者上架捆绑应用测试闪退被驳回
AppGallery Connect:某开发者上架捆绑应用测试闪退被驳回
有人开发者使用 aab包包上架华为应用市场被审核驳回,原因是应用安装后打开崩溃闪退。而开发者反馈谷歌商店也是使用了同样的包没有问题。
7天前
服务商推荐 更多 >
百度国际MediaGo
百度国际MediaGo
百度国际是百度极具战略意义的海外业务发展部门,拥有超过10年的出海经验。旗下出海营销平台MediaGo旨在为全球广告主提供营销整合方案。成立以来,MediaGo不断进化,在磨炼一站式海外营销服务能力的同时,连接Snapchat、Pinterest、Reddit等优质海外平台,成为连接广告主与价值洼地的桥梁。
本地化变现推广
iGlobe Advisory Inc.
爱个萝卜本地化 iGlobe
爱个萝卜总部位于加拿大温哥华,为游戏出海提供所有主要语言的母语级本地化翻译,并由专业项目经理为您保驾护航。并可向全球游戏伙伴提供全方位服务,包括目标市场开拓策略,以及各国本地化运营项目监督。
本地化
北京云中融信网络科技有限公司
融云
融云为全球开发者和企业提供 IM即时通讯和实时音视频通信云服务,独立的海外数据中心,全球 30 万+应用的通信选择。一套 SDK 解决所有通信场景,快速集成,1天实现跨国互动,实时沟通,助力应用出海
云服务
深圳哈希信息技术有限公司
哈希信息
深圳哈希信息技术有限公司成立于2018年,是国内领先的智能网络服务提供商,基于软件定义网络、下一代网络协议、大数据等技术研发面向不同行业领域的产品和解决方案,秉着“专业、创新、信任、分享“的核心价值观,致力为客户提供一个高效可靠的流量云平台。公司对外提供分发云(CDN)、加速云(动态加速)、安全云(防DDOS&云WAF)、流量云(广告交易)、边缘云、短信云等多个云产品,帮助游戏/资讯等互联网公司构建、加速和更好的保护核心业务。
云服务变现
太平洋电信股份有限公司
太平洋电信
太平洋电信为游戏、电商等客户提供低延时、高可靠的多点互联、企业上云、全球移动应用测试、主机托管等服务。通过与澳大利亚电信合作,凭借在全球丰富的海缆网络资源及多年的国际化运营经验,助力企业业务出海布局。 更多产品详情,请访问官方网站:https:www.t-pbs.com
云服务
杭州云片网络科技有限公司
云片
云片自2013年成立以来,深耕云通讯领域,致力于革新企业与用户间的沟通方式,成为国内领先的云通讯服务商。云片目前已支持短信、国际短信、超级短信、营销云、身份认证等产品服务,帮助企业了解客户,获取客户,提升客户体验,为企业提供持续增长动力。在国际服务方面,支持【全球语音验证码】、【国际短信验证码】和【国际营销彩信】
云服务
小程序
公众号
商务合作
投稿采访
出海管家