これが私の仕事:
var request = (HttpWebRequest)WebRequest.Create("http://www.google-analytics.com/collect");
request.Method = "POST";
// the request body we want to send
var postData = new Dictionary<string, string>
{
{ "v", "1" }, //analytics protocol version
{ "tid", "UA-XXXXXXXX-X" }, //analytics tracking property id
{ "cid", "XXXX"}, //unique user identifier
{ "t", "event" }, //event type
{ "ec", category },
{ "ea", action },
};
var postDataString = postData
.Aggregate("", (data, next) => string.Format("{0}&{1}={2}", data, next.Key,
Uri.EscapeDataString(next.Value)))
.TrimEnd('&');
// set the Content-Length header to the correct value
request.ContentLength = Encoding.UTF8.GetByteCount(postDataString);
// write the request body to the request
using (var writer = new StreamWriter(request.GetRequestStream()))
{
writer.Write(postDataString);
}
var webResponse = (HttpWebResponse)request.GetResponse();
if (webResponse.StatusCode != HttpStatusCode.OK)
{
throw new Exception($"Google Analytics tracking did not return OK 200. Returned: {webResponse.StatusCode}");
}
をあなたは[測定プロトコル](https://developers.google.com/analytics/devguides/collection/protocol/v1/)になっているはずです。これは、使用している言語にかかわらず、HTTPリクエストライブラリを持つようにバインドされているかどうかにかかわらず、単純なHTTPリクエストを介してGoogleアナリティクスにデータを送信できます。リクエストを確認する方法については、[ヒットビルダーツール](https://ga-dev-tools.appspot.com/hit-builder/)を参照してください。 – Matt