Как и в ответе MAX это правда, очень трудно манипулировать пользовательским агентом, сохраняя все атрибуты, такие как ОС, механизм рендеринга и т. Д. *
В то же время я по-прежнему хочу ориентировать пользователей своего приложения с помощью пользовательского агента пользователя и иметь возможность отделять трафик от этого приложения веб-просмотра.
Что я сделал, это:
1- Настройка пользовательского агента пользователя
Вместо того, чтобы заменить весь пользовательский агент пользовательским, я добавил его к пользовательскому агенту [AppID / AppVersion] , нашел отличную информацию из этого блога: Webviews и User- Строки агента .
Теперь пользовательский агент выглядит примерно так:
Mozilla / 5.0 (Linux; Android 9; wv)
AppleWebKit / 537.36 (KHTML, как Gecko) Версия / 4.0 Chrome / 68.0.3440.91
Mobile Safari / 537,36 [Custom App / 1.0.1]
Проверка: Правильный способ форматирования строки агента пользователя в приложении Android WebView?
2- Установка пользовательского измерения в Google Analytics
Поскольку Google Analytics помечает все посещения браузера с использованием этого агента в качестве Android Webview, я решил назначить пользовательское измерение, чтобы можно было идентифицировать настраиваемого пользовательского агента сеансов и создайте для него отдельное представление .
В бэкэнде с PHP Я установил значение измерения на основе пользовательского агента.
<script>
<?php
if(strpos($_SERVER['HTTP_USER_AGENT'], 'Custom user agent here')!==false)
{
$customAgent_value = 'your agent';
}
?>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-', {
'custom_map': {'dimension1': 'custom_agent'}
});
gtag('event', 'custom_agent_event', {'custom_agent': '<?= $customAgent_value;?>'});
</script>
Теперь у меня все нормально. Я могу ориентироваться на пользователей из определенного приложения веб-просмотра и в то же время могу отделять трафик от разных веб-просмотров в Google Analytics.