Intereting Posts
Создайте Android-приложение для выпуска Android в Phonegap 3.x CLI Монитор Android Studio GPU не будет работать для OpenGLES2 Как настроить Vim для Android? SyncAdapter всегда находится в состоянии ожидания Намерение возобновить ранее приостановленную деятельность (вызванную из уведомления) Android: обнаружение жестов В Android-браузере Android Google Chrome можно настроить безопасное обращение-небезопасное происхождение как безопасное Как нарисовать заголовок раздела в списке Android, как и UITableview ios? Как я могу заставить кордону InAppBrowser предоставить пользователю возможность закрыть браузер при использовании Android-устройства? ViewPager setCurrentItem Slide Android: Как получить пользовательский вид высоты и ширины? Как использовать приложение Google GDK для погружения Google Glass только с помощью Voice Command? Как получить pid приложения Android с помощью оболочки adb? Изменение отображаемого имени устройства Android в Eclipse Android делает вид исчезнуть, щелкнув за его пределами

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

Я опубликовал приложение для Android.

Проблема в том, что если кто-то покупает мое приложение, он может установить его на нескольких устройствах с использованием той же учетной записи.

Могу ли я ограничить установку несколькими (допустим, 2) уникальными устройствами на одну учетную запись?

Если пользователь хочет использовать его на другом устройстве с той же учетной записью, ему сначала придется удалить его из другого.

Например, MyBackup Pro разрешает только два уникальных устройства.

Как я могу добиться этого в своем приложении?

Solutions Collecting From Web of "Ограничить (ограничить) установку приложений на одну учетную запись (с учетом уникальных устройств) в Android"

Google помогает вам в этом .

Эта страница поможет вам настроить ее.

Более конкретно, похоже, что вы хотите добавить DeviceLimiter :

В некоторых случаях вам может потребоваться, чтобы ваша политика ограничивала количество фактических устройств, которым разрешено использовать одну лицензию. Это помешает пользователю перемещать лицензированное приложение на несколько устройств и использовать приложение на тех устройствах с одинаковым идентификатором учетной записи. Это также помешает пользователю «разделить» приложение, предоставив информацию учетной записи, связанную с лицензией, другим лицам, которые затем смогут войти в эту учетную запись на своих устройствах и получить доступ к лицензии для приложения.

LVL поддерживает лицензирование каждого устройства, предоставляя интерфейс DeviceLimiter, который объявляет один метод allowDeviceAccess (). Когда LicenseValidator обрабатывает ответ с сервера лицензирования, он вызывает allowDeviceAccess (), передавая строку идентификатора пользователя, извлеченную из ответа.

Если вы не хотите поддерживать ограничение устройства, работа не требуется – класс LicenseChecker автоматически использует стандартную реализацию NullDeviceLimiter. Как следует из названия, NullDeviceLimiter является классом «no-op», метод allowDeviceAccess () просто возвращает ответ LICENSED для всех пользователей и устройств.

Внимание: лицензирование на уровне устройства не рекомендуется для большинства приложений, поскольку:

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

Исходный код для DeviceLimiter можно найти здесь.

Источник в значительной степени объясняет, как вы будете использовать DeviceLimiter для реализации того, что вы хотите:

 /* The LICENSED response from the server contains a user identifier unique to * the <application, user> pair. The developer can send this identifier * to their own server along with some device identifier (a random number * generated and stored once per application installation, * {@link android.telephony.TelephonyManager#getDeviceId getDeviceId}, * {@link android.provider.Settings.Secure#ANDROID_ID ANDROID_ID}, etc). * * The more sources used to identify the device, the harder it will be for an * attacker to spoof. 

И ответы Аскорбина и Яряна приятно объяснить.

По моим знаниям Его можно управлять двумя способами.

1. Google самостоятельно

2. Своей собственной реализацией

Позволяет проверять один за другим,

1. Google Google

Ответ Аскорбина объясняет, как его реализовать и как Google управляет им. Так надейтесь, что у вас это получилось. Если нет, то дайте мне знать.

2. Своей собственной реализацией

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

Примечание. Google позволяет использовать одно и то же приложение на другом устройстве, если устройство настроено на одну учетную запись. Поэтому в этом случае это может быть возможно только путем обнаружения той же учетной записи с другим IMEI или MAC-адресом.

Надеюсь, вы поняли.

Не стесняйтесь комментировать. 🙂

Вы можете идентифицировать устройство, например, через MAC-адрес модуля wlan или IMEI (оба могут быть получены через системные службы Android). Затем вы определяете установку с вашим сервером, если сервер отвечает, что этот пользователь / клиент уже установил это на другом устройстве, вы заблокируете приложение и сообщите пользователю, что происходит.