AFAIK то, что вы спрашиваете, невозможно. Маркет поставляет только APK файлы на устройства. Однако, в зависимости от того, что именно вы хотите сделать, возможно, есть много разных способов.
Вот пара мыслей:
Если вы хотите, чтобы рынок предоставил пользовательский аргумент, уникальный для каждого пользователя, то почему бы вашему приложению не подключиться к серверу при первом запуске и не загрузить этот аргумент? Даже если рынок может предоставить аргумент, он должен получить его от вас, и вам, вероятно, придется настроить сервер, чтобы предоставить рынку аргумент.
Если вы просто хотите, чтобы приложение знало, работает ли оно в первый раз или нет, вы можете сделать это с помощью SharedPreference. Запросите, существует ли предпочтение типа hasAppRunBefore
, а если нет, то вы знаете, что приложение запускается впервые после установки. Затем установите переменную hasAppRunBefore
в какое-либо значение, указывающее, что она запускалась раньше. Эта реализация позволит пользователям удалить приложение и переустановить его, и после каждой переустановки приложение будет снова запускаться впервые.
Другим вариантом является комбинация первых двух. Вы можете подключить приложение к вашему серверу и предоставить серверу UUID устройства, после чего сервер сможет проверить, видел ли он этот UUID ранее. Если он не имеет, он предоставляет аргумент, иначе это не так.
Если вам действительно нужно, чтобы каждый APK отличался для каждого устройства, вы можете настроить сервер, который при получении запроса на загрузку компилирует новый APK и предоставляет ссылку для загрузки этого APK. Это позволит вам создавать новый и уникальный APK для каждой загрузки. Однако для этого потребуется самостоятельно распространять APK, поскольку Android Market в настоящее время не предоставляет эту функцию.