【AGC】HarmonyOS鸿蒙Next集成华为AGC应用内消息如何实现自定义样式
【AGC】HarmonyOS鸿蒙Next集成华为AGC应用内消息如何实现自定义样式 简介
通过AppGallery Connect(简称AGC)的应用内消息(App Messaging)服务,实现用户使用应用时,向活跃用户发送有针对性的消息来鼓励用户使用应用的关键功能,从而吸引这些用户。例如,通过应用内消息,您可以鼓励用户订阅、给出某个关卡的通过提示,或者推荐某个餐厅活动。您可以定制这些消息的外观和形式,并通过事件作为触发器,在关键的时候呈现给用户。
开通服务和集成SDK
-
在AppGallery Connect页面点击“我的项目”,在项目的应用列表中选择需要开通应用内消息的应用。
-
在导航选择“增长 > 应用内消息”。如果是首次使用应用内消息服务,请点击“立即使用”开通服务。
-
选择常规页签下的“应用”区域,下载agconnect-services.plist配置文件。
-
打开命令行窗口,导航至Xcode项目所在的位置,创建Podfile文件。如果已经存在,可跳过本步骤。
cd project-directory
pod init
- 编辑Podfile文件,增加pod依赖
pod 'AGConnectAppLinking'
。
target 'AGC-AppMessaging-2' do
pod 'AGConnectAppMessaging'
end
- 执行
pod install
,然后打开xcworkspace文件查看该项目。
pod install
安装成功效果如下图。
界面设计
本次Codelab无需特殊布局,默认布局即可。
创建消息
-
在“增长”菜单下选择“应用内消息”,点击“添加应用内消息”。
-
填写消息名称和消息描述。
-
设置样式和内容,本次Codelab选择创建弹框消息,填写消息标题。按照默认勾选“允许自定义布局”,并按照约定比例规则设置图片链接。
-
设置发送目标,默认条件为应用,选择当前应用的应用包名。
-
设置发送时间,如下图设置,意在为应用在前台或启动时展示。
-
标记转化事件按默认设置即可,设置完成后,点击右上角“发布”。
功能开发
- 在应用的AppDelegate类中引入AGConnectCore和AGConnectAppMessaging库,并在
didFinishLaunchingWithOptions
方法里调用AGCInstance.startUp
进行初始化。
import AGConnectCore
import AGConnectAppMessaging
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
AGCInstance.startUp()
return true
}
- 在应用的ViewController类中,实现消息展示组件代理。在
appMessageDisplay(_ message: AGCAppMessagingDisplayMessage, delegate: AGCAppMessagingDelegate)
代理中,可获得当前应用内消息的对象message,您可以根据实际情况来修改展示样式。示例代码中,获取message的内容,展示在UIAlertController弹框上,来实现简单的自定义消息展示。
import AGConnectAppMessaging
class ViewController: UIViewController, AGCAppMessagingDelegate, AGCAppMessagingDisplayDelegate {
override func viewDidLoad() {
super.viewDidLoad()
AGCAppMessaging.sharedInstance().delegate = self
AGCAppMessaging.sharedInstance().displayComponent = self
}
func appMessageDisplay(_ message: AGCAppMessagingDisplayMessage, delegate: AGCAppMessagingDelegate) {
if message.messageType == AGCAppMessagingDisplayMessageType.card {
let card = message as! AGCAppMessagingCardDisplay
let controller = UIAlertController(title: "customDisplay", message: card.body, preferredStyle: .alert)
if (card.majorButton != nil) {
controller.addAction(UIAlertAction(title: card.majorButton?.text, style: .default, handler: { (action) in
UIApplication.shared.openURL(URL(string: "https://developer.huawei.com")!)
}))
}
self.present(controller, animated: true, completion: nil)
}
}
}
打包测试
-
在Xcode上点击运行按钮,在手机或模拟器上运行应用。如果不实现自定义样式的代理,展示如下。
-
实现自定义样式的代理,展示自定义样式。
恭喜您
祝贺您,您已经成功地构建了您的第一个集成AppGallery Connect应用内消息服务的应用程序,并学到了如何集成App Messaging SDK,以及如何通过代码来自定义应用内消息的展示样式。
参考文档
更多关于【AGC】HarmonyOS鸿蒙Next集成华为AGC应用内消息如何实现自定义样式的实战教程也可以访问 https://www.itying.com/category-93-b0.html
不错不错~~~~~~~~~~
更多关于【AGC】HarmonyOS鸿蒙Next集成华为AGC应用内消息如何实现自定义样式的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中集成华为AGC(AppGallery Connect)应用内消息并实现自定义样式,可以通过以下步骤完成:
-
集成AGC SDK:首先,在项目中集成AGC SDK。在
build.gradle
文件中添加依赖:implementation 'com.huawei.agconnect:agconnect-core:1.6.0.300' implementation 'com.huawei.agconnect:agconnect-appmessaging:1.6.0.300'
-
初始化AGC:在应用的
onCreate
方法中初始化AGC:AGConnectInstance.initialize(context);
-
自定义消息样式:通过继承
AppMessageView
类来创建自定义消息视图。例如:public class CustomMessageView extends AppMessageView { public CustomMessageView(Context context) { super(context); // 自定义布局 LayoutInflater.from(context).inflate(R.layout.custom_message_layout, this, true); } }
-
设置自定义视图:在
AppMessaging
中设置自定义视图:AppMessaging appMessaging = AppMessaging.getInstance(); appMessaging.setCustomView(CustomMessageView.class);
-
处理消息事件:可以通过
AppMessaging
的监听器来处理消息的显示、点击等事件:appMessaging.addOnMessageClickListener(new OnMessageClickListener() { @Override public void onMessageClick(AppMessage appMessage) { // 处理点击事件 } });
-
测试与发布:在AGC控制台配置应用内消息,并在设备上测试自定义样式的显示效果。确认无误后,发布应用。
通过以上步骤,可以在HarmonyOS鸿蒙Next中实现AGC应用内消息的自定义样式。
在HarmonyOS鸿蒙Next中集成华为AGC应用内消息并实现自定义样式,首先需在AGC控制台配置消息模板。然后,在代码中通过MessagingService
类接收消息,并使用Message
对象获取消息内容。通过重写onMessageReceived
方法,可以自定义消息的显示样式,如布局、颜色等。最后,使用NotificationManager
展示自定义样式的通知。确保在config.json
中正确配置权限和服务。