#ios #swift #google-analytics
#iOS #быстрый #google-аналитика
Вопрос:
Мне нужно установить пользовательскую метрику с помощью простого события Google Analytics.
Я использую следующий метод: чтобы установить событие, затем установите пользовательскую метрику, а затем отправьте все это:
GAIDictionaryBuilder.createEvent(withCategory: <#T##String!#>, action: <#T##String!#>, label: <#T##String!#>, value: <#T##NSNumber!#>).set(<#T##value: String!##String!#>, forKey: <#T##String!#>).build()
Но мне нужно передать INT в параметре значения пользовательской метрики, а не СТРОКУ. Моя пользовательская метрика — это числовое значение.
Я не понимаю, почему я не нахожу ни одной функции «set» с значением INT в значении.
На практике:
let build = GAIDictionaryBuilder.createEvent(withCategory: "cat", action: "act", label: "lab", value: nil).set("100", forKey: GAIFields.customMetric(for: 1)).build() as [NSObject : AnyObject]
GAI.sharedInstance().defaultTracker.send(build)
Результат:
Saved hit: {
parameters = {
"amp;_crc" = 0;
"amp;_s" = 0;
"amp;_u" = ".nteoyAL";
"amp;_v" = "mi3.1.7";
"amp;a" = 114102722;
"amp;aid" = "com.dve.apptest";
"amp;an" = PrizeeTestGA;
"amp;av" = "1.0";
"amp;cid" = "28c24faa-f546-43e6-b596-e5a1c4e61373";
"amp;cm1" = 100;
"amp;dm" = "x86_64";
"amp;ds" = app;
"amp;ea" = act;
"amp;ec" = cat;
"amp;el" = lab;
"amp;ev" = "<null>";
"amp;sr" = 750x1334;
"amp;t" = event;
"amp;tid" = "UA-108352-26";
"amp;ul" = "en-us";
"amp;v" = 1;
"amp;z" = 17487374570739913012;
gaiVersion = "3.17";
};
timestamp = "2016-10-14 10:02:38 0000";
}
где «amp;cm1» = 100 в виде СТРОКИ…
Комментарии:
1. и вы не можете просто отправить cm1 =»100″?
2. но это будет рассматриваться как строковое значение?
3. Нет, сервер будет преобразовывать его, метрики всегда должны быть int. Однако это rest API, который использует строки. Это странно, но попробуйте
Ответ №1:
Действительно, сервер преобразует строку в Int. Очевидно!