Определить, установил ли пользователь наше приложение по ссылке Market

У меня есть приложение, на которое есть ссылка (через URL-адрес Android Market) на нескольких разных веб-сайтах. Что мне нужно реализовать, так это способ определить, откуда пришли мои пользователи. Есть ли способ определить URL-адрес ссылки, по которому перешел пользователь, чтобы загрузить мое приложение через Android Market?

Например, пользователь А просматривает сайт xyz.com и щелкает ссылку, чтобы просмотреть мое приложение на Android Market, а затем переходит к его загрузке. После установки могу ли я «программно» увидеть, откуда пришел пользователь (xyz.com)?

Мне нужно реализовать это самостоятельно (в приложении), а не полагаться на внешние инструменты или службы.


person Mikey    schedule 01.11.2010    source источник


Ответы (2)


Можно использовать Google Analytics для отслеживания использования вашего приложения.

На Android Google Analytics обеспечивает отслеживание рефералов. Это должно позволить вам создать ссылку для каждого из сайтов, которые ссылаются на ваше приложение, и отслеживать, сколько приложений было установлено из-за того, какой сайт.

Дополнительные сведения см. в главе Отслеживание переходов в документации Android Google Analytics. Информация.

Вы должны полагаться на банку Google Analytics, которую нужно вызвать в приложении и зарегистрировать в файле manifest.xml.

Обновить

Если вы не хотите использовать отдельную банку, вы можете попытаться получить реферальную информацию самостоятельно. Google Analytics работает через регистрацию этого фильтра Intent:

<!-- Used for install referrer tracking -->
<receiver android:name="com.google.android.apps.analytics.AnalyticsReceiver" android:exported="true">
  <intent-filter>
    <action android:name="com.android.vending.INSTALL_REFERRER" />
  </intent-filter>
</receiver>

Похоже, что маркет-приложение отправит указанное намерение сразу после установки приложения из маркета. Затем намерение будет перехвачено из класса AnalyticsReciever, и они сохранят реферер для последующего использования в аналитике.

Google утверждает, что это работает следующим образом:

Версия ОС Android 1.6 поддерживает использование параметра URL-адреса реферера в ссылках для загрузки на Android Market. SDK Google Analytics для Android использует этот параметр для автоматического заполнения информации о переходе/кампании в Google Analytics для вашего приложения. Это позволяет записывать источник установки приложения и связывать его с будущими просмотрами страниц и событиями.

Это также означает, что сайты, ссылающиеся на ваше приложение, должны включать определенный параметр в URL-адрес рынка. Как это делается, также объясняется в документации Google Analytics.

person Janusz    schedule 01.11.2010
comment
Как бы они это сделали?? Они не контролируют ни сайт xyz.com, ни Android Market. И они не могут использовать Google Analytics для мобильных устройств, так как в это время приложение еще не установлено. - person Peter Knego; 01.11.2010
comment
Мне было бы интересно узнать, как Google Analytics может определить реферера. Если бы я знал, как они это делают, я мог бы реализовать это сам. К сожалению, я не могу полагаться на внешние банки. - person Mikey; 01.11.2010
comment
Это либо ответ на неправильный вопрос, либо ответ, который требует создания разных версий приложения для каждого пути установки, а затем использования аналитики для определения количества установок для каждой версии и, следовательно, пути. - person Chris Stratton; 01.11.2010
comment
Ваше обновление выглядит многообещающе, я рассмотрю это сегодня вечером, доложу и отмечу это как ответ, если это окажется так. Спасибо, что обратили на это мое внимание. - person Mikey; 01.11.2010
comment
@Janusz: Это действительно работает, как описано. Я переворачиваю свой предыдущий комментарий. +1 для вас. - person Peter Knego; 01.11.2010
comment
@Janusz, это не работает, когда используется рынок Android из Интернета для удаленной загрузки приложения на телефон? Есть ли альтернатива, которую я мог бы использовать? - person Hades; 26.04.2011
comment
@Janusz имеет какое-либо представление об отслеживании реферера с помощью Google. Я пробовал с моим собственным приемником и проверял, как указано в принятых ответах stackoverflow.com/questions/5890914/, и это работает отлично, но если я загружаю приложение с рынка, оно ничего не возвращает, мой вопрос находится в stackoverflow .com/questions/10431018/ - person Khan; 07.05.2012

Афаик нет.

Однако вы можете использовать службу сокращения URL-адресов, которая запоминает HTTP-реферер, после чего вы делитесь этим URL-адресом с веб-сайтами. . Одной из таких служб является referer.us.

Или вы можете создать свой собственный на AppEngine (надежный и бесплатный) с помощью HttpRedirectFilter.

Отредактировано:

Пожалуйста, взгляните на сообщение @Janusz. Он представил правильное решение.

person Peter Knego    schedule 01.11.2010
comment
Проблема в том, что мне нужно определить, когда приложение было установлено, а не просто просмотрено в Маркете. - person Mikey; 01.11.2010
comment
Правильный. В этом случае App Market должен будет запомнить эти данные и поделиться ими с вами. Я так не думаю. - person Peter Knego; 01.11.2010
comment
Я только что проверил - вы правы. Я исправил свой пост и комментарии. - person Peter Knego; 01.11.2010