接入PC平台应用

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

支持的平台和架构

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

平台

系统版本

架构

Windows

Win7 +

x86/x86_64

macOS

10.13 +

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.2.1.zip

macOS

  • x86_64

  • arm64

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

SDK说明:

  • 功能支持:PV/UV统计、Crash捕获、网络服务(libcurl、cef框架数据采集)、自定义事件上报。

  • 产物形式:

    • macOS:dylib 动态库

    • Windows:dll 动态库

  • 当前仅支持动态库数据的采集。

2. 初始化SDK

  1. 添加头文件依赖。

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

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

    SDK支持丰富的配置,更多SDK相关配置函数请参见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_name(options, "WindowsDemo");
    // (必须) 设置应用版本号
    alibabacloud_rum_options_set_app_version(options, "0.1.0");
    // (可选) 设置环境,用于区分开发环境、线上环境,默认为 ALIBABACLOUD_RUM_ENV_PROD
    alibabacloud_rum_options_set_env(options, ALIBABACLOUD_RUM_ENV_PROD);
    
    //(可选)开启crash捕获,默认为开启
    alibabacloud_rum_options_set_auto_crash_tracking(options, 1);
    //(可选)开启curl网络数据采集,默认为开启
    alibabacloud_rum_options_set_auto_curl_tracking(options, 1);
    //(可选)开启CEF框架网络请求数据采集,默认为关闭
    alibabacloud_rum_options_set_auto_cef_tracking(options, 1);
    
    //(可选)配置网络请求数据采集过滤器,支持以下配置(详细配置说明请参见SDK配置参考):
    // 1. should_tracing 函数返回 0 时,不生效当前URL的端到端打通。默认返回 0,即:所有URL请求都不支持端到端打通
    // 2. should_record_request 函数返回 0 时,不采集当前URL。默认返回 1,即:所有URL请求都支持采集
    alibabacloud_rum_network_options_t *network_options = alibabacloud_rum_network_options_new();
    network_options->should_tracing = example_should_tracing;
    network_options->should_record_request = example_should_record_request;
    alibabacloud_rum_options_set_network_options(options, network_options);
    
    // (必须) 完成SDK初始化
    alibabacloud_rum_init(options);

接入验证

应用运行后,出现[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

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

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

alibabacloud_rum_close();
重要

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