Если вы хотите отслеживать использование тегов для установки/загрузки вашего приложения
К сожалению, добавление параметров отслеживания в запись приложения Android (AAR) возможно лишь частично. Например, вы можете создать AAR со следующим именем пакета:
com.example.application&referrer=utm_source%3Dtag1
Этот AAR приведет к открытию Play Store для вашего приложения "com.example.application" и добавит параметр отслеживания, указывающий источник кампании "tag1" (на основе Измерение кампании Google Analytics SDK).
Однако этот AAR никогда не приведет к открытию вашего приложения напрямую. Независимо от того, установлено ваше приложение или нет, Play Store будет открыт. Это связано с тем, что системная служба NFC не поддерживает параметры отслеживания в AAR.
Я не думаю, что работа с идеей ашока об использовании отдельного приложения отслеживания будет очень полезной:
Вашим пользователям потребуется установить второе приложение помимо вашего основного приложения. Если, конечно, вы не интегрируете полный функционал вашего основного приложения в приложение для отслеживания.
Если вы не используете отдельное приложение для отслеживания для каждого тега, который вы хотите отслеживать, вашим пользователям потребуется дважды нажать на тег, чтобы запустить установку вашего основного приложения: один раз им нужно будет нажать, чтобы установить приложение для отслеживания и один раз для запуска приложения отслеживания и передачи ему параметров. Таким образом, вы можете точно так же применить двойное касание к своему основному приложению, потребовав от пользователя коснуться тега, чтобы активировать приложение при первом запуске.
Альтернативой может быть использование записи URI вместо AAR. Одним из вариантов может быть прямое использование URL-адреса Play Store, который включает параметры отслеживания:
https://play.google.com/store/apps/details?id=com.example.application&referrer=utm_source%3Dtag1
К сожалению, фильтры намерений Android не позволяют фильтровать параметры URL-адреса, поэтому вы можете зарегистрировать свое приложение только для запуска по любому «https://play.google.com/store/apps/details" независимо от идентификатора пакета. Так что этот вариант не совсем подходит.
Лучшим вариантом было бы предоставить веб-службу перенаправителя. Например, ваш редиректор может иметь URL:
http://www.example.com/apps/application/tag1
Затем веб-служба перенаправляет пользователя в Play Store (либо путем перенаправления на URL-адрес Play Store, либо на URL-адрес «market://»):
https://play.google.com/store/apps/details?id=com.example.application&referrer=utm_source%3Dtag1
Таким образом, если ваше приложение еще не установлено на устройстве пользователя, нажатие тега вызовет URL-адрес «http://www.example.com/apps/application/tag1" для открытия в веб-браузере (который, в свою очередь, откроет страницу вашего приложения в Play Store и передаст параметры отслеживания).
Если ваше приложение уже установлено, вы можете перехватить событие NDEF_DISCOVERED для всех своих тегов, зарегистрировав следующий фильтр намерений:
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="http" android:host="www.example.com" android:pathPrefix="/apps/application/" />
</intent-filter>
Затем в своем приложении вы можете получить намерение NDEF_DISCOVERED и определить тег, который запустил ваше приложение, путем анализа URL-адреса.
Если вам все равно, какой тег вызвал загрузку вашего приложения, и вы просто хотите отслеживать использование тега, когда ваше приложение уже установлено
В этом случае вы должны использовать обычный AAR, который содержит имя пакета вашего приложения, и добавить дополнительную запись внешнего типа форума NFC в качестве первой записи вашего сообщения NDEF:
EXT: example.com:tracking PAYLOAD=tag1
AAR: com.example.application
Затем вы должны зарегистрироваться для этого внешнего типа:
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="vnd.android.nfc"
android:host="ext"
android:pathPrefix="/example.com:tracking"/>
</intent-filter>
Если ваше приложение не установлено, AAR позаботится о том, чтобы страница вашего приложения в Play Маркете была запущена. Если ваше приложение установлено, ваше приложение будет запущено, и вы сможете проанализировать сообщение NDEF, которое отправляется вашему приложению как часть намерения NDEF_DISCOVERED для записи внешнего типа форума NFC.
person
Michael Roland
schedule
09.10.2014