Как получить clientId в Android Google Analytics V4?

Я пытаюсь получить автоматически установленный идентификатор клиента Analytics в Android. (Настройка объясняется в документации Android API как setClientId())

Когда я пытаюсь использовать tracker.get("clientId"), он возвращается пустым. Любая идея?

Заранее спасибо!


person Koen    schedule 28.07.2015    source источник


Ответы (1)


Я запустил для вас декомпилятор, и оказалось, что свойство clientId хранится с ключом "&cid".

Внутренне он делает это:

set("&cid", clientId);

Решением было бы назвать это:

tracker.get("&cid");

Однако метод get() имеет специальную логику для ключа идентификатора клиента. Он также может возвращать вновь сгенерированный ключ или выдавать InterruptedException, например «Загрузка или генерация ClientId были прерваны» или ExecutionException «Не удалось загрузить или сгенерировать идентификатор клиента».

Вы можете решить такие проблемы самостоятельно в Android Studio (или IntelliJ IDEA), установив плагины «Java Bytecode Decompiler» или «Java Decompiler IntelliJ Plugin». Это позволяет вам найти символ Tracker.class и просмотреть его, как если бы это был обычный файл Java.

person Byte Welder    schedule 28.07.2015
comment
Большое спасибо! Я также нашел cid, но «&» исправил его. Теперь это работает! - person Koen; 28.07.2015
comment
tracker.get(&cid); также может использоваться для отслеживания событий на стороне сервера - person Jerem; 05.08.2015