zl程序教程

您现在的位置是:首页 >  后端

当前栏目

【AGC】集成华为AGC应用内消息如何实现自定义样式

集成应用消息华为 实现 如何 自定义 样式
2023-09-11 14:20:22 时间

 简介

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

开通服务和集成SDK

  1. 在AppGallery Connect页面点击“我的项目”,在项目的应用列表中选择需要开通应用内消息的应用。
  2. 在导航选择“增长 >应用内消息”。如果是首次使用应用内消息服务,请点击“立即使用”开通服务。

cke_6146.png

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

cke_21809.png

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

安装成功效果如下图。

cke_44451.png

界面设计

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

cke_52883.png

创建消息

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

cke_59162.png

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

cke_71311.png

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

cke_93514.png

cke_99913.png

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

cke_114417.png

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

cke_129531.png

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

cke_142386.png

功能开发

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)

      }

   }

}

打包测试

  1. 在Xcode上点击运行按钮,在手机或模拟器上运行应用。如果不实现自定义样式的代理,展示如下。

cke_149175.png

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

cke_162740.png

恭喜您

祝贺您,您已经成功地构建了您的第一个集成AppGallery Connect应用内消息服务的应用程序,并学到了如何集成App Messaging SDK,以及如何通过代码来自定义应用内消息的展示样式。

参考文档

文档中心

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