文档

接入PC平台应用

更新时间:

ARMS用户体验监控提供PC平台应用的监控能力,当前提供跨平台C/C++ API动态库。本文介绍Windows和macOS应用如何通过C/C++ SDK接入用户体验监控。

支持的平台和架构

C/C++ SDK当前支持Windows和macOS平台,PC应用需要满足以下平台要求:

平台

系统版本

架构

Windows

Win7 +

x86/x86_64

macOS

10.12 +

x86_64/arm64

步骤一:创建应用

  1. 登录ARMS控制台
  2. 在左侧导航栏选择用户体验监控 > 应用列表,并在顶部菜单栏选择目标地域。

  3. 应用列表页面单击添加应用

  4. 创建应用面板单击WindowsmacOS

  5. WindowsmacOS面板输入应用名称和描述,然后单击创建

    创建成功后,当前应用将会自动生成对应的ConfigAddress(上报地址)和AppID。

步骤二:接入SDK

1. 下载SDK

平台

架构

产物

Windows

  • x86

  • x86_64

https://rum-sdk.oss-cn-hangzhou.aliyuncs.com/native/AlibabaCloud_RUM_Windows_0.1.0.zip

macOS

fat binary(x86_64/arm64)

https://rum-sdk.oss-cn-hangzhou.aliyuncs.com/native/AlibabaCloud_RUM_macOS_0.1.0.zip

SDK说明:

  • 功能支持:PV/UV统计、网络服务、自定义事件上报。

  • 产物形式:

    • macOS:dylib动态库

    • Windows:dll动态库

2. 初始化SDK

  1. 添加头文件依赖。

    Windows/macOS平台都需要引入头文件。

    #include "alibabacloud_rum.h"
  2. 初始化SDK。

    alibabacloud_rum_options_t *options = alibabacloud_rum_options_new();
    // (必须) ConfigAddress创建RUM应用时获取。
    alibabacloud_rum_options_set_config_address(options, "<your config address>");
    // (必须) AppId,创建应用时获取。
    alibabacloud_rum_options_set_app_id(options, "<your appId>");
    
    // (必须) 设置应用版本号。
    alibabacloud_rum_options_set_app_version(options, "0.1.0");
    // (可选) 设置环境,用于区分开发环境、线上环境,默认为prod。
    alibabacloud_rum_options_set_env(options, "dev");
    // (可选) 设置debug等级,接入初期可以先打开调试模式,上线后务必关闭调试模式。
    alibabacloud_rum_options_set_debug_level(options, ALIBABACLOUD_RUM_LEVEL_ALL);
    
    // (必须) 完成SDK初始化。
    alibabacloud_rum_init(options);

    SDK相关配置函数说明:

    函数

    是否必填

    含义

    默认值

    alibabacloud_rum_options_set_config_address

    必填

    配置ConfigAddress。

    -

    alibabacloud_rum_options_set_app_id

    必填

    配置AppID。

    -

    alibabacloud_rum_options_set_env

    可选

    配置应用环境,用于区分开发、线上环境。

    prod

    alibabacloud_rum_options_set_app_version

    必填

    配置应用版本号。

    -

    alibabacloud_rum_options_set_debug_level

    可选

    Debug等级如下:

    • ALIBABACLOUD_RUM_LEVEL_FATAL

    • ALIBABACLOUD_RUM_LEVEL_ERROR

    • ALIBABACLOUD_RUM_LEVEL_WARNING

    • ALIBABACLOUD_RUM_LEVEL_INFO

    • ALIBABACLOUD_RUM_LEVEL_DEBUG

    • ALIBABACLOUD_RUM_LEVEL_TRACE

    • ALIBABACLOUD_RUM_LEVEL_ALL

    ALIBABACLOUD_RUM_LEVEL_INFO

    alibabacloud_rum_set_username

    可选

    配置用户名称,需要在SDK完成初始化之后调用。

    -

接入验证

应用运行后,出现[AlibabaCloud-RUM] [INFO] [Init] alibabacloud rum init success.日志即表示SDK初始化成功。

日志示例:

2024-07-25 17:27:27.647 [AlibabaCloud-RUM] [INFO] [Init] alibabacloud rum init success.

上报自定义事件

SDK支持上报自定义事件,示例如下:

alibabacloud_rum_event_t *event = alibabacloud_rum_event_new("test", "mytest");
// 配置统计指标,一般设置为 1 即可
alibabacloud_rum_event_set_value(event, 123.3456);
// 配置事件分组,默认为default
alibabacloud_rum_event_set_group(event, "custom");
// 上报自定义事件
alibabacloud_rum_report_event(event);

自定义事件相关配置函数说明:

函数

含义

alibabacloud_rum_event_new

构造alibabacloud_rum_event_t结构体。

alibabacloud_rum_event_free

释放alibabacloud_rum_event_t结构体,alibabacloud_rum_report_event函数会自动调用。

alibabacloud_rum_event_set_value

配置Metric Value,默认为1。

alibabacloud_rum_event_set_group

配置事件分组,默认为default。

alibabacloud_rum_report_event

上报自定义事件。

停用SDK

如果您不再需要使用SDK监控您的PC应用,可以调用以下SDK接口停用SDK。

调用以下接口后,SDK的实例会被销毁,并停止所有功能和回收内存。

alibabacloud_rum_close();
重要

调用此接口时可能会发生短暂阻塞。SDK退出时会涉及回收操作,以及后台任务的等待操作,SDK会等待后台异步任务结束后才会退出。