Як працює "Перевірка ліцензії ринку" Google Play?


23

Приблизно місяць тому я придбав гру під назвою Whale Trail під час продажу в Google Play. Сьогодні, коли я спробував пограти в гру в метро, ​​він попросив перевірити ліцензію гри, і, не зробивши цього (оскільки в метро не було підключення до Інтернету), вимкніть гру. Повернувшись додому, я переглянув вкладку дозволів гри та побачив це:

Перевірка ліцензії на ринку

Можна перевірити, чи є у вас ліцензія на цю програму від Market

Схоже, це функція, вбудована в Google Play. Отже, моє запитання полягає в тому, як працює ця "перевірка ліцензії"? Як часто програми, що використовують цей "функціональний" телефон додому, щоб перевірити, чи справді я не брудний пірат, який краде програми цих розробників?


2
Я не експерт з цього питання, тому не збираюся відповідати, але інформація є тут . Швидке та забруднене: додаток придбано, а файл .apk вам ліцензований, він переходить через мережу, щоб перевірити ліцензію. Можливо, мережа була вам недоступною в той час, і розробник нічого не кешував і не впорався з цим.
Doozer Blake

@DoozerBlake Отже, відповідь - "Як часто розробник вибирає"? Я думаю, що це прийнятно як відповідь
Yi Jiang

Відповіді:


18

Ви можете вибрати, коли і як часто ви хочете, щоб ваша програма перевіряла її ліцензію, і ви мали повний контроль над тим, як вона обробляє відповідь, перевіряє підписані дані відповіді та застосовує контроль доступу.

З http://developer.android.com/guide/market/licensing/overview.html

Так що так, коли розробник цього хоче. Я думаю, найпоширеніший час для перевірки - це коли програма вперше відкрита.

Ваша програма не запитує сервер ліцензування безпосередньо, а натомість викликає клієнт Google Play через віддалений IPC, щоб ініціювати запит на отримання ліцензії. У запиті на отримання ліцензії:

  • У вашій програмі передбачено: ім'я пакету, поняття, яке пізніше використовується для перевірки будь-якої відповіді від сервера, і зворотний дзвінок, над яким відповідь може бути повернуто асинхронно.

  • Клієнт Google Play збирає необхідну інформацію про користувача та пристрої, таку як основне ім’я користувача облікового запису Google, IMSI та інша інформація. Потім він надсилає запит на перевірку ліцензії на сервер від імені вашої програми.

  • Сервер Google Play оцінює запит, використовуючи всю наявну інформацію, намагаючись встановити особу користувача на достатньому рівні довіри. Потім сервер перевіряє особу користувача на предмет записів про покупку вашої програми та повертає відповідь про ліцензію, яку клієнт Google Play повертає до вашої програми через зворотний виклик IPC.

Так:

  1. Інформація про програму, пристрій та користувача переходить на сервери Google.
  2. Потім Google перевіряє ваше ім’я у списку людей, за якими він знає, що заплатили за програму в Google Play. (Він також може перевірити назву програми відповідно до списку програм, які вона знає, що ви завантажили з Google Play)
  3. Якщо він може побачити, що ви завантажили (і заплатили за) програму з Google Play, вона поверне вам, що у вас є ліцензія, якщо ні, то вона скаже програмі, що ви цього не робите.

Очевидно, що це все робиться в Інтернеті, тому якщо ви не в режимі офлайн, це не працюватиме. Якщо я писав заявку, у мене був би лічильник, щоб дозволити людині користуватися нею в режимі офлайн 3 рази або близько того, перш ніж вийти в Інтернет, щоб отримати перевірку ліцензії, щоб зупинити те, що відбувається з вами там, де ви не можете грати офлайн. Звичайно, якщо хтось копається у файл, де зберігається лічильник, він може змінити значення назад на 3 спроби кожного разу, коли вони його використовують, і ніколи не доведеться платити, але це, мабуть, поза технічною компетенцією більшості користувачів.


що відбувається за наступним сценарієм, платний додаток, який не реалізував бібліотеку перевірки ліцензій у своїй першій версії, але реалізував бібліотеку перевірки ліцензій у своїй другій версії. Чи вважатимуть покупців 1-ї версії аутентифікованими користувачами під час оновлення до другої версії?
Мехул Джойсар
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.