【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中正确配置权限和服务。
        
      
                  
                  
                  
