Можно ли передать пользовательский аргумент на рынок Android, чтобы мое приложение получало его при первом запуске? - PullRequest
12 голосов
/ 10 сентября 2011

Есть ли способ передать пользовательский аргумент на рынок Android (или любым другим способом), чтобы мое приложение получало аргумент после установки (и запуска в первый раз).

Позвольте мне объяснить.

  1. Начать намерение с аргументом1 = "Hello world1" (пользовательский аргумент каждый время)
  2. Установите приложение с Android Market.
  3. Откройте приложение в первый раз.
  4. Приложение показывает сообщение "Hello world1"

Подойдет любой случай, а не только намерение на рынок Android.

Большую часть времени приложение будет устанавливаться через сканер штрих-кода со связанной http-схемой. Так что возможен обходной путь браузера, клиентское хранилище HTML5 (сохраните аргумент в браузере и получите его оттуда при первом запуске моего приложения)

Обновление

Решением будет создание файла cookie или чего-то еще для браузера, а затем доступ к нему из приложения, которое я установил. Это возможно? Если да, можете ли вы предоставить некоторую информацию об этом? Могут ли браузеры обмениваться данными с приложениями?

Ответы [ 3 ]

16 голосов
/ 28 сентября 2011

Вы можете опубликовать такую ​​ссылку
http://market.android.com/details?id=your.package.name&referrer=your_referrer_parameter
После того, как пользователь щелкнет по этой ссылке и установит приложение, ваш получатель рассылки получит широковещательный com.android.vending.INSTALL_REFERRER со значением «your_referrer_parameter».

Дополнительная информация:
http://code.google.com/mobile/analytics/docs/android/#android-market-tracking
Получить реферер после установки приложения из Android Market
Получить тэг реферера Google Analytics для Android

4 голосов
/ 27 сентября 2011

AFAIK то, что вы спрашиваете, невозможно. Маркет поставляет только APK файлы на устройства. Однако, в зависимости от того, что именно вы хотите сделать, возможно, есть много разных способов.

Вот пара мыслей:

Если вы хотите, чтобы рынок предоставил пользовательский аргумент, уникальный для каждого пользователя, то почему бы вашему приложению не подключиться к серверу при первом запуске и не загрузить этот аргумент? Даже если рынок может предоставить аргумент, он должен получить его от вас, и вам, вероятно, придется настроить сервер, чтобы предоставить рынку аргумент.

Если вы просто хотите, чтобы приложение знало, работает ли оно в первый раз или нет, вы можете сделать это с помощью SharedPreference. Запросите, существует ли предпочтение типа hasAppRunBefore, а если нет, то вы знаете, что приложение запускается впервые после установки. Затем установите переменную hasAppRunBefore в какое-либо значение, указывающее, что она запускалась раньше. Эта реализация позволит пользователям удалить приложение и переустановить его, и после каждой переустановки приложение будет снова запускаться впервые.

Другим вариантом является комбинация первых двух. Вы можете подключить приложение к вашему серверу и предоставить серверу UUID устройства, после чего сервер сможет проверить, видел ли он этот UUID ранее. Если он не имеет, он предоставляет аргумент, иначе это не так.

Если вам действительно нужно, чтобы каждый APK отличался для каждого устройства, вы можете настроить сервер, который при получении запроса на загрузку компилирует новый APK и предоставляет ссылку для загрузки этого APK. Это позволит вам создавать новый и уникальный APK для каждой загрузки. Однако для этого потребуется самостоятельно распространять APK, поскольку Android Market в настоящее время не предоставляет эту функцию.

1 голос
/ 27 сентября 2011

Я хотел бы, чтобы веб-сайт, который перенаправлял на рынок, также отправлял файл клиенту. файл может быть назван как «yourapp.info» и содержать необходимые данные. Как только ваше приложение запускается, оно может искать SD-карту (она должна находиться в нескольких известных каталогах, также называемой / sdcard / Downloads) и читать этот файл. На SDCard нет ограничений доступа.

Относительно куки в браузере: я не уверен, что вы можете получить доступ к куки из любого другого приложения - (проверьте это: blog.watchfire.com/files/advisory-android-browser.pdf - это невозможно чтобы получить доступ к куки), поэтому я думаю, что маршрут будет закрыт.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...