Вы можете использовать такую службу, как Flurry или Google Analytics , чтобы собрать некоторые из этих данных (не уверены в идентификаторе устройства или IP-адресе), но, как говорили другие, вы можете хотите сделать это «согласие» через настройки приложения из соображений конфиденциальности.
Вы могли бы сделать это относительно просто, считав эту информацию в вашем приложении программно и затем отправив ее по sms, электронной почте или просто загрузив на сервер.
Однако я не думаю, что пользователям очень повезет, что вы это делаете. По крайней мере, вы должны проинформировать их об этом.
Для ID вы можете использовать следующее:
http://developer.android.com/reference/android/telephony/TelephonyManager.html#getDeviceId%28%29
Для получения IP вы можете использовать этот код:
public String getLocalIpAddress() {
try {
for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {
NetworkInterface intf = en.nextElement();
for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {
InetAddress inetAddress = enumIpAddr.nextElement();
if (!inetAddress.isLoopbackAddress()) {
return inetAddress.getHostAddress().toString();
}
}
}
} catch (SocketException ex) {
Log.e(LOG_TAG, ex.toString());
}
return null;
}
Для получения типа сети (я думаю, вы говорите о wifi или мобильной сети) вы можете использовать этот фрагмент кода:
ConnectivityManager conMan = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
//mobile
State mobile = conMan.getNetworkInfo(0).getState();
//wifi
State wifi = conMan.getNetworkInfo(1).getState();
и затем использовать его так:
if (mobile == NetworkInfo.State.CONNECTED || mobile == NetworkInfo.State.CONNECTING) {
//mobile
} else if (wifi == NetworkInfo.State.CONNECTED || wifi == NetworkInfo.State.CONNECTING) {
//wifi
}
Вам не нужно разворачивать собственное решение, существует множество бесплатных готовых решений, которые работают и позволят вам сосредоточиться на своем приложении. Я также рекомендую держаться подальше от решений веб-аналитики, потому что модель приложения отличается, поэтому встраивание мобильного приложения в нее может быть странным. Вы не думаете о своем приложении как о просмотрах страниц и переходах, не так ли?
Localytics - одно из решений: служба бесплатна, SDK является открытым исходным кодом , а время выполнения - мгновенно, поэтому интеграцию можно выполнить и проверить за 10 минут.
[Отказ от ответственности: это мой сайт]
Для этой цели у Google есть полный SDK. Документация и подробности доступны по адресу: http://code.google.com/mobile/analytics/docs/android/
Со страницы:
Google Analytics для мобильных приложений SDK предоставляют интерфейс для отслеживания активность в мобильных приложениях и сообщая об этой деятельности через стандартная панель инструментов Google Analytics.
В мобильных приложениях для отслеживания есть структурные отклонения от трекинга страницы сайта. По этой причине вы должен быть знаком с Google Analytics отслеживание, чтобы понять, как этот SDK работает.
Используйте SDK для отслеживания двух основных типов взаимодействия с пользователем:
Просмотры страниц - это стандартная единица мера для традиционного веб-сайта, и используется для подсчета посещений, продолжительность сеанса и показатель отказов. Мы рекомендую запустить по крайней мере один просмотр страницы при загрузке приложения в отслеживать уникальных посетителей. Потому что мобильный приложения не содержат HTML-страниц, вы должен решить, когда (и как часто) вызвать запрос на просмотр страницы и выбрать описательные имена для отчетности целей. Выбранные вами имена будут заполняется в ваших отчетах Google Analytics как пути к страницам в отчетах по содержанию, даже если они на самом деле не HTML страниц.
События - Вы можете определить дополнительные события, о которых будет сообщаться в событии Раздел отслеживания Google Analytics. События сгруппированы по категориям а также может использовать метки для каждого события, что обеспечивает гибкость в составление отчетов. Например, мультимедийный приложение могло иметь воспроизведение / остановку / паузу действия для своей категории видео и назначьте метку для каждого названия видео.Отчеты Google Analytics будут затем объедините события для всех событий с тегом категории видео. Для больше информации об отслеживании событий, см. Руководство по отслеживанию событий