Udostępnij za pośrednictwem


Usługi licencjonowania firmy Google

Przed sklepem Google Play aplikacje systemu Android opierały się na starszej wersji ochrony kopiowania udostępnianej przez google market, aby zapewnić, że tylko autoryzowani użytkownicy będą mogli uruchamiać aplikacje na swoich urządzeniach. Ograniczenia mechanizmu ochrony kopii sprawiły, że jest to mniej niż idealne rozwiązanie do ochrony aplikacji.

Licencjonowanie Google zastępuje ten starszy mechanizm ochrony kopii. Licencjonowanie Google to elastyczna, bezpieczna usługa sieciowa, którą aplikacje systemu Android mogą wysyłać zapytania w celu określenia, czy aplikacja ma licencję na uruchamianie na danym urządzeniu.

Licencjonowanie Google jest elastyczne, ponieważ aplikacje systemu Android mają pełną kontrolę nad tym, kiedy należy sprawdzić licencję, jak często sprawdzić licencję i jak obsługiwać odpowiedź z serwera licencjonowania.

Licencjonowanie Google jest bezpieczne, ponieważ każda odpowiedź jest podpisana przy użyciu pary kluczy RSA, która jest udostępniana wyłącznie między serwerem Google Play a aplikacją. Sklep Google Play udostępnia klucz publiczny dla deweloperów osadzonych w aplikacji systemu Android i służy do uwierzytelniania odpowiedzi. Serwer Google Play przechowuje klucz prywatny wewnętrznie.

Aplikacja, która zaimplementowała licencjonowanie Google, wysyła żądanie do usługi hostowanej przez aplikację Google Play na urządzeniu. Następnie sklep Google Play wysyła to żądanie na serwer licencjonowania Google, który odpowiada ze stanem licencji:

Licensing server workflow diagram

Na powyższym diagramie przedstawiono ten przepływ pracy:

  • Aplikacja udostępnia nazwę pakietu, inną niż (kryptograficzny wystawca uwierzytelniania), która jest używana do weryfikowania odpowiedzi serwera, oraz wywołania zwrotnego, które może obsługiwać odpowiedź asynchronicznie.

  • Sklep Google Play udostępnia informacje, takie jak konto Google i samo urządzenie, takie jak numer IMSI.

Usługa licencjonowania Google jest również kluczowym składnikiem plików rozszerzeń APK (które zostały omówione w dalszej części tego dokumentu). Pliki rozszerzeń APK korzystają z usług licencjonowania Google w celu uzyskania adresów URL plików rozszerzenia, które zostaną pobrane.

Wymagania

Aplikacje, które nie zostały zakupione za pośrednictwem sklepu Google Play, nie będą korzystać z usług licencjonowania Google. Jeśli sklep Google Play nie jest zainstalowany na urządzeniu, aplikacje korzystające z usług licencjonowania będą nadal działać normalnie na tym urządzeniu.

Sklep Google Play wymaga dostępu do Internetu w celu zapewnienia funkcjonalności. Aplikacja może buforować licencję, aby uwzględnić scenariusze, w których urządzenie nie ma dostępu do serwerów licencjonowania Google Play.

Bezpłatne aplikacje wymagają licencjonowania Google tylko wtedy, gdy aplikacja używa plików rozszerzeń APK.