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

【AGC】HarmonyOS鸿蒙Next集成华为AGC应用内消息如何实现自定义样式 简介

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

开通服务和集成SDK

  1. 在AppGallery Connect页面点击“我的项目”,在项目的应用列表中选择需要开通应用内消息的应用。

  2. 在导航选择“增长 > 应用内消息”。如果是首次使用应用内消息服务,请点击“立即使用”开通服务。

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

  4. 打开命令行窗口,导航至Xcode项目所在的位置,创建Podfile文件。如果已经存在,可跳过本步骤。

cd project-directory 
pod init
  1. 编辑Podfile文件,增加pod依赖pod 'AGConnectAppLinking'
target 'AGC-AppMessaging-2' do 
    pod 'AGConnectAppMessaging' 
end
  1. 执行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
}
  1. 在应用的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上点击运行按钮,在手机或模拟器上运行应用。如果不实现自定义样式的代理,展示如下。

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

恭喜您

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

参考文档

https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-References/agcappmessaging-ios-0000001058729698


更多关于【AGC】HarmonyOS鸿蒙Next集成华为AGC应用内消息如何实现自定义样式的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

不错不错~~~~~~~~~~

更多关于【AGC】HarmonyOS鸿蒙Next集成华为AGC应用内消息如何实现自定义样式的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中集成华为AGC(AppGallery Connect)应用内消息并实现自定义样式,可以通过以下步骤完成:

  1. 集成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'
    
  2. 初始化AGC:在应用的onCreate方法中初始化AGC:

    AGConnectInstance.initialize(context);
    
  3. 自定义消息样式:通过继承AppMessageView类来创建自定义消息视图。例如:

    public class CustomMessageView extends AppMessageView {
        public CustomMessageView(Context context) {
            super(context);
            // 自定义布局
            LayoutInflater.from(context).inflate(R.layout.custom_message_layout, this, true);
        }
    }
    
  4. 设置自定义视图:在AppMessaging中设置自定义视图:

    AppMessaging appMessaging = AppMessaging.getInstance();
    appMessaging.setCustomView(CustomMessageView.class);
    
  5. 处理消息事件:可以通过AppMessaging的监听器来处理消息的显示、点击等事件:

    appMessaging.addOnMessageClickListener(new OnMessageClickListener() {
        @Override
        public void onMessageClick(AppMessage appMessage) {
            // 处理点击事件
        }
    });
    
  6. 测试与发布:在AGC控制台配置应用内消息,并在设备上测试自定义样式的显示效果。确认无误后,发布应用。

通过以上步骤,可以在HarmonyOS鸿蒙Next中实现AGC应用内消息的自定义样式。

在HarmonyOS鸿蒙Next中集成华为AGC应用内消息并实现自定义样式,首先需在AGC控制台配置消息模板。然后,在代码中通过MessagingService类接收消息,并使用Message对象获取消息内容。通过重写onMessageReceived方法,可以自定义消息的显示样式,如布局、颜色等。最后,使用NotificationManager展示自定义样式的通知。确保在config.json中正确配置权限和服务。

回到顶部