You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Xamarin Forms(iOS)中向Dynatrace仪表盘记录事件

在Xamarin Forms(iOS)中集成Dynatrace并记录自定义事件的解决方案

1. 先确认基础集成有效性

  • 检查iOS项目AppDelegate.cs的FinishedLaunching方法,确保Dynatrace初始化代码正确执行,且配置了正确的环境ID:
    public override bool FinishedLaunching(UIApplication app, NSDictionary options)
    {
        global::Xamarin.Forms.Forms.Init();
        LoadApplication(new App());
    
        var dtConfig = new Dynatrace.Configuration.Builder()
            .WithEnvironmentId("你的环境ID")
            .Build();
        Dynatrace.Startup(dtConfig);
    
        return base.FinishedLaunching(app, options);
    }
    
  • 启动应用后,先验证Dynatrace仪表盘是否能捕获到应用会话、启动事件等基础数据,排除集成本身的问题。

2. 记录按钮点击事件

直接在Xamarin Forms的按钮点击事件/Command中调用Dynatrace的用户事件上报API即可:

private void SubmitButton_Clicked(object sender, EventArgs e)
{
    // 基础点击事件上报
    Dynatrace.Actions.ReportUserAction("Submit_Button_Click");

    // 带自定义属性的上报(可选)
    var eventAttrs = new Dictionary<string, string>
    {
        {"Page", "Checkout"},
        {"ButtonText", "提交订单"}
    };
    Dynatrace.Actions.ReportUserAction("Submit_Button_Click", eventAttrs);
}

3. 记录方法调用事件

用StartUserAction和Stop包裹方法逻辑,还能中途上报事件状态:

public async Task ProcessPayment()
{
    var action = Dynatrace.Actions.StartUserAction("Process_Payment_Method");
    try
    {
        // 业务逻辑
        await PaymentService.CompletePayment();
        
        // 上报成功事件
        action.ReportEvent("Payment_Success", new Dictionary<string, string> { {"OrderId", "ORD-1001"} });
    }
    catch (Exception ex)
    {
        // 上报错误信息
        action.ReportError("Payment_Failed", ex.Message);
    }
    finally
    {
        // 结束事件追踪
        action.Stop();
    }
}

4. iOS平台专属检查项

  • 确保iOS项目已正确安装Dynatrace NuGet包,且版本与共享项目一致。
  • 检查Info.plist的网络权限:如果使用Dynatrace的HTTPS端点,无需额外配置;若为HTTP,需添加NSAppTransportSecurity例外允许连接到Dynatrace服务器。
  • 查看iOS控制台日志,搜索Dynatrace关键词,排查是否有初始化失败、事件上传失败的错误提示。

5. 仪表盘验证

自定义事件上传存在几分钟延迟,可前往Dynatrace仪表盘的「用户操作」或「自定义事件」板块查看。若长时间未出现,检查环境ID是否正确、设备网络是否正常,或在Dynatrace后台查看数据上传日志。

内容的提问来源于stack exchange,提问作者MainakChoudhury

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 21:55:20