简介
通过AppGallery Connect(简称AGC)的应用内消息(App Messaging)服务,实现用户使用应用时,向活跃用户发送有针对性的消息来鼓励用户使用应用的关键功能,从而吸引这些用户。例如,通过应用内消息,您可以鼓励用户订阅、给出某个关卡的通过提示,或者推荐某个餐厅活动。您可以定制这些消息的外观和形式,并通过事件作为触发器,在关键的时候呈现给用户。

3.选择常规页签下的“应用”区域,下载agconnect-services.plist配置文件。

4.打开命令行窗口,导航至Xcode项目所在的位置,创建Podfile文件。如果已经存在,可跳过本步骤。
cd project-directory
pod init
5.编辑Podfile文件,增加pod依赖pod 'AGConnectAppLinking'。
target 'AGC-AppMessaging-2' do
pod 'AGConnectAppMessaging'
end
6.执行 pod install,然后打开xcworkspace文件查看该项目。
pod install
安装成功效果如下图。

本次Codelab无需特殊布局,默认布局即可。

1.在“增长”菜单下选择“应用内消息”,点击“添加应用内消息”。

2.填写消息名称和消息描述。

3.设置样式和内容,本次Codelab选择创建弹框消息,填写消息标题。按照默认勾选“允许自定义布局”,并按照约定比例规则设置图片链接。


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

5.设置发送时间,如下图设置,意在为应用在前台或启动时展示。

6.标记转化事件按默认设置即可,设置完成后,点击右上角“发布”。

1.在应用的AppDelegate类中引入AGConnectCore和AGConnectAppMessaging库,并在didFinishLaunchingWithOptions方法里调用AGCInstance.startUp进行初始化。
- import AGConnectCore
-
- import AGConnectAppMessaging
-
-
-
- func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
-
- AGCInstance.startUp()
-
- return true
-
- }
2.在应用的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)
-
- }
-
- }
-
- }

2.实现自定义样式的代理,展示自定义样式。

祝贺您,您已经成功地构建了您的第一个集成AppGallery Connect应用内消息服务的应用程序,并学到了如何集成App Messaging SDK,以及如何通过代码来自定义应用内消息的展示样式。
参考文档
欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh