Universal Analytics C#SDK是否与GA4兼容?
我正在使用Universal Analytics C#SDK是否与GA4兼容?,c#,google-analytics,google-analytics-sdk,google-analytics-4,C#,Google Analytics,Google Analytics Sdk,Google Analytics 4,我正在使用Google.api.AnalyticsReporting.v4库来查看旧的谷歌分析视图。如何将此代码转换为GA4?我找不到关于将视图Id切换到代码中其他内容的行 我已经检查了这篇文章,但是我的属性已经存在,我看不到在创建后修改它们的选项 using (var svc = new AnalyticsReportingService(authInitializer.CreateInitializer())) { var dateRange = new DateRange
Google.api.AnalyticsReporting.v4
库来查看旧的谷歌分析视图。如何将此代码转换为GA4?我找不到关于将视图Id切换到代码中其他内容的行
我已经检查了这篇文章,但是我的属性已经存在,我看不到在创建后修改它们的选项
using (var svc = new AnalyticsReportingService(authInitializer.CreateInitializer()))
{
var dateRange = new DateRange
{
StartDate = analyticsParams.From.ToString("yyyy-MM-dd"),
EndDate = analyticsParams.To.ToString("yyyy-MM-dd")
};
var sessions = new Metric
{
Expression = "ga:sessions",
Alias = "Sessions"
};
var date = new Dimension { Name = "ga:date" };
var reportRequest = new ReportRequest
{
DateRanges = new List<DateRange> { dateRange },
Dimensions = new List<Dimension> { date },
Metrics = new List<Metric> { sessions },
ViewId = analyticsParams.ViewId, // <------------------------- My view id
};
var getReportsRequest = new GetReportsRequest
{
ReportRequests = new List<ReportRequest> { reportRequest }
};
var batchRequest = svc.Reports.BatchGet(getReportsRequest);
var response = batchRequest.Execute();
var reports = response.Reports.First();
return reports.Data.Rows.Select(x => new DataEntry()
{
Date = DateTime.ParseExact(x.Dimensions[0], "yyyyMMdd", CultureInfo.InvariantCulture),
Value = int.Parse(x.Metrics[0].Values[0]),
}).ToList();
}
使用(var svc=new AnalyticsReportingService(authInitializer.CreateInitializer())
{
var dateRange=new dateRange
{
StartDate=分析数据从字符串到字符串(“yyyy-MM-dd”),
EndDate=分析SPARAM.To.ToString(“yyyy-MM-dd”)
};
var会话=新度量
{
Expression=“ga:sessions”,
Alias=“会话”
};
var date=新维度{Name=“ga:date”};
var reportRequest=新的reportRequest
{
DateRanges=新列表{dateRange},
维度=新列表{date},
度量=新列表{sessions},
ViewId=analyticsParams.ViewId,//新数据项()
{
Date=DateTime.ParseExact(x.Dimensions[0],“yyyyymmdd”,CultureInfo.InvariantCulture),
Value=int.Parse(x.Metrics[0]。Value[0]),
}).ToList();
}
当前没有可用于GA4属性的API。此外,GA4不提供视图,您必须使用BigQuery以编程方式获取数据。您需要使用(当前为alpha)来访问GA4属性。下面是一个类似于您尝试执行的操作的示例
using Google.Analytics.Data.V1Alpha;
using System;
namespace AnalyticsSamples
{
class QuickStart
{
static void SampleRunReport(string propertyId)
{
// Using a default constructor instructs the client to use the credentials
// specified in GOOGLE_APPLICATION_CREDENTIALS environment variable.
AlphaAnalyticsDataClient client = AlphaAnalyticsDataClient.Create();
// Initialize request argument(s)
RunReportRequest request = new RunReportRequest
{
Entity = new Entity{ PropertyId = propertyId },
Dimensions = { new Dimension{ Name="city"}, },
Metrics = { new Metric{ Name="activeUsers"}, },
DateRanges = { new DateRange{ StartDate="2020-03-31", EndDate="today"}, },
};
// Make the request
RunReportResponse response = client.RunReport(request);
Console.WriteLine("Report result:");
foreach( Row row in response.Rows )
{
Console.WriteLine("{0}, {1}", row.DimensionValues[0].Value, row.MetricValues[0].Value);
}
}
static int Main(string[] args)
{
if (args.Length == 0 || args.Length > 2)
{
Console.WriteLine("Arguments: <GA4 property ID>");
Console.WriteLine("A GA4 property id parameter is required to make a query to the Google Analytics Data API.");
return 1;
}
string propertyId = args[0];
SampleRunReport(propertyId);
return 0;
}
}
}
使用Google.Analytics.Data.V1Alpha;
使用制度;
名称空间分析示例
{
类快速启动
{
静态无效采样器报告(字符串属性ID)
{
//使用默认构造函数指示客户端使用凭据
//在GOOGLE_应用程序_凭据环境变量中指定。
AlphaAnalyticsDataClient=AlphaAnalyticsDataClient.Create();
//初始化请求参数
RunReportRequest请求=新的RunReportRequest
{
实体=新实体{PropertyId=PropertyId},
维度={new Dimension{Name=“city”},},
度量={new Metric{Name=“activeUsers”},},
日期范围={new DateRange{StartDate=“2020-03-31”,EndDate=“today”},},
};
//提出请求
RunReportResponse=client.RunReport(请求);
Console.WriteLine(“报告结果:”);
foreach(响应中的行。行)
{
Console.WriteLine(“{0},{1}”,row.DimensionValues[0]。Value,row.MetricValues[0]。Value);
}
}
静态int Main(字符串[]args)
{
如果(args.Length==0 | | args.Length>2)
{
Console.WriteLine(“参数:”);
WriteLine(“查询Google Analytics数据API需要GA4属性id参数”);
返回1;
}
字符串propertyId=args[0];
采样器报告(不动产ID);
返回0;
}
}
}
我也看到过这些API,但对于测量协议,它们是alpha格式的,文档本身说这是API的早期预览版本,可能会发生更改。虽然我们将尝试通知您即将发生的更改,但您应该会在API公开发布之前遇到突破性的更改。我的建议如果你想得到一个合理的结果,就不要使用它们,而是在BigQuery上使用它们。我想我会接受这个答案。它看起来比BigQuery更接近我已经拥有的