Можете да користите Play API за интегритет да бисте заштитили апликације и игре од ризичних интеракција. Идентификовањем тих интеракција, апликација може да реагује правилно да би смањила ризик од напада и злоупотребе.
Принцип рада
API за интегритет обједињује Google Play функције за заштиту од злоупотребе и колекцију сигнала за интегритет да би програмери Android апликација и игара открили потенцијално ризичан саобраћај који служи за превару. Овај саобраћај може да потиче од измењених верзија апликације или игре, непоузданих уређаја или других непоузданих окружења. Ако откријете овај саобраћај, можете да предузмете одговарајуће радње да бисте смањили нападе и злоупотребу као што су преваре, варање и неовлашћени приступ.
Када корисник обави радњу дефинисану у апликацији или игри, сервер шаље клијентски кôд ради активирања API-ја за интегритет. Google Play сервер враћа шифрован одговор са одлуком о интегритету, односно о томе да ли можете да верујете овом уређају и његовом бинарном програму. Апликација затим прослеђује тај одговор серверу на верификацију. Сервер може да одлучи шта апликација или игра треба следеће да уради.
API пружа одлуку о интегритету у одговору који обухвата следеће информације:
- Интегритет апликације: То вам говори да ли имате интеракцију са неизмењеним бинарним фајлом који Google Play препознаје.
- Детаљи налога: То вам говори да ли је актуелни кориснички налог лиценциран, што значи да је корисник преузео апликацију или игру инсталирањем или плаћањем на Google Play-у.
- Интегритет уређаја: То вам говори да ли апликација ради на оригиналном Android уређају са Google Play услугама.
Савети:
- Статус Play Integrity API-ја и других Play услуга можете да пратите помоћу Google Play контролне табле статуса.
- Integrity API пружа највећу вредност за апликацију када пратите сваку од препоручених пракси из документације на сајту за Android програмере.
Подесите Play Integrity API и управљајте њиме
Омогућите API за интегритет за апликацију
Да бисте омогућили одговоре API-ја за интегритет за апликацију, треба да повежете Google Cloud пројекат у Play конзоли. Да бисте повезали пројекат:
- Отворите Play конзолу и идите на страницу Интегритет апликација (Издање > Подешавање > Интегритет апликације).
- Кликните на картицу API за интегритет.
- Одаберите опцију Повежи постојећи пројекат и пројекат који желите да повежете или опцију Направите нов пројекат.
- Кликните на Повежи пројекат.
Да бисте започели интеграцију API-ја за интегритет у апликацију, треба да урадите следеће:
- За Java/Kotlin апликације инсталирајте најновију доступну Android библиотеку за Play API за интегритет из Google Maven складишта.
- За Unity игре инсталирајте најновије издање Google Play додатних компоненти за Unity. Подржане су све верзије 2019.x 2020.x и новије. Ако користите Unity 2018.x, инсталирајте верзију 2018.4 или новију. Ако користите Unity 2017.x, инсталирајте верзију 2017.4.40 или новију. Unity 5.x и старије верзије нису подржане.
- За матичне апликације и игре инсталирајте најновији Play Core Native SDK.
Сада можете да пратите ове кораке на сајту за Android програмере да бисте почели да користите Play API за интегритет у апликацији или игри.
(Опционално) Одаберите како се управља шифровањем одговора
Google подразумевано управља шифровањем одговора. Међутим, можете да одаберете да сами управљате шифровањем одговора ако то желите.
Важно: Пребацивање са шифрофања одговара којима управља Google на оне са самосталним управљањем и обрнуто захтева промене кодова на серверу позадинског механизма.
Да бисте сами управљали шифровањем одговора:
- Отворите Play конзолу и идите на страницу Интегритет апликација (Издање > Подешавање > Интегритет апликације).
- Кликните на картицу API за интегритет.
- Скролујте до одељка Подешавања.
- Поред ставке Шифровање одговора статус ће подразумевано бити Управља Google. Кликните на Промени.
- Одаберите Преузећу кључеве за шифровање одговора и управљаћу њима и кликните на Сачувај промене. Google ће генерисати кључеве за шифровање одговора које можете да преузмете и којим можете да управљате. Морате да ажурирате логику сервера позадинског механизма да бисте користили кључеве за дешифровање одговора.
- Пратите упутства на екрану да бисте генерисали .pem фајл и отпремили .pem фајл како бисте преузели API кључеве.
- Порука на екрану ће потврдити да је управљање шифровањем одговара ажурирано.
- Преузмите нове кључеве за шифровање одговара и ажурирајте сервер позадинског механизма да бисте помоћу њих дешифровали одговоре у производној верзији. Вратите се на картицу API за интегритет на страници Интегритет апликација да бисте омогућили Google Play-у да почне да користи нове кључеве за шифровање одговора уместо старих верзија кључева. Ова промена одмах ступа на снагу.
Ако желите да се вратите са самосталног управљања на Google управљање:
- Отворите Play конзолу и идите на страницу Интегритет апликација (Издање > Подешавање > Интегритет апликације).
- Кликните на картицу API за интегритет.
- Скролујте до одељка Подешавања.
- Поред ставке Шифровање одговора статус ће бити Самостално управљање зато што сте га променили у прошлости. Кликните на Промени.
- Одаберите Дозволи да Google управља мојим шифровањем одговара (препоручено) и кликните на Сачувај промене. Google ће генерисати кључеве за шифровање одговора и управљати њима. Сервер позадинског механизма ће позвати Google Play сервер ради дешифровања одговора.
(Опционално) Конфигуришите одговоре API-ја за интегритет
Следећи одговори API-ја су подразумевано конфигурисани:
Одговор API-ја | Ознака | Опис |
Интегритет уређаја | MEETS_DEVICE_INTEGRITY |
Апликација ради на Android уређају који користи Google Play услуге. Уређај пролази провере интегритета и испуњава услове за компатибилност са Android-ом. |
Нема ознака (празна вредност) |
Апликација је покренута на уређају на ком постоје знакови напада (на пример, копчање API-ја) или компромитовања система (на пример, систем је рутован) или апликација није покренута на физичком уређају (попут емулатора који не пролази Google Play провере интегритета). |
|
Детаљи о налогу | LICENSED |
Корисник има право на апликацију. Другим речима, корисник је инсталирао или купио вашу апликацију на Google Play-у. |
UNLICENSED |
Корисник нема право на апликацију. То се дешава када, на пример, корисник учита апликацију са извора треће стране или је не преузме са Google Play-а. |
|
UNEVALUATED |
Детаљи о лиценци нису процењени јер није испуњен неопходан услов. То може да се догоди из неколико разлога, укључујући следеће:
|
|
Интегритет апликације | PLAY_RECOGNIZED |
Апликација и сертификат се подударају са верзијама које дистрибуира Google Play. |
UNRECOGNIZED_VERSION |
Сертификат или назив пакета се не подудара са евиденцијом Google Play-а. |
|
UNEVALUATED |
Интегритет апликације није процењен. Није испуњен неопходан услов, на пример, када уређај није довољно поуздан. |
Можете да омогућите и следеће одговоре API-ја:
Одговор API-ја | Ознака | Опис |
Интегритет уређаја | MEETS_BASIC_INTEGRITY |
Апликација ради на уређају који је прошао основне провере интегритета система. Уређај можда не испуњава услове за компатибилност са Android-ом и можда нема одобрење за покретање Google Play услуга. На пример, уређај користи непознату верзију Android-а, можда има откључан покретачки програм или га произвођач није сертификовао. |
MEETS_STRONG_INTEGRITY |
Апликација ради на Android уређају који користи Google Play услуге и има јаку гаранцију за интегритет система као што је хардверско складиште кључева. Уређај пролази провере интегритета и испуњава услове за компатибилност са Android-ом. |
Када омогућите пријем додатних ознака, одговор у вези са интегритетом ће садржати више ознака за исти уређај ако су испуњени критеријуми свих ознака. Можете да припремите сервер позадинског механизма за различито понашање у зависности од опсега могућих одговора. На пример, уређај који враћа MEETS_BASIC_INTEGRITY
, MEETS_DEVICE_INTEGRITY
и MEETS_STRONG_INTEGRITY
може да буде поузданији од уређаја који приказује само MEETS_BASIC_INTEGRITY
и начин на који сервер одговара може да се прилагоди у складу са тим.
Да бисте изменили одговоре API-ја:
- Отворите Play конзолу и идите на страницу Интегритет апликација (Издање > Подешавање > Интегритет апликације).
- Кликните на картицу API за интегритет.
- Померите до одељка Одговори.
- Кликните на Измени.
- Означите поља за потврду поред одговора API-ја које желите да промените или поништите њихов избор.
- Кликните на Сачувај промене.
Важно: Промене одговора API-ја ступају на снагу одмах после чувања, укључујући производну верзију апликације. Пре него што промените скуп одговора API-ја у Play конзоли, уверите се да је сервер спреман да прихвати те одговоре.
Надгледајте коришћење Play API-ја за интегритет и промените ниво
За апликације се одређује максимални дневни број захтева API-ју на основу нивоа коришћења апликације. Апликације на стандардном нивоу дневно могу да пошаљу до 10.000 захтева API-ју за интегритет.
Да бисте прегледали ниво коришћења апликације:
- Отворите Play конзолу и идите на страницу Интегритет апликација (Издање > Подешавање > Интегритет апликације).
- Кликните на картицу API за интегритет.
- Скролујте до одељка Подешавања.
- Погледајте ниво коришћења.
Да бисте видели број захтева које апликација свакодневно шаље, прегледајте повезани Cloud пројекат у услузи Google Cloud Console.
Да бисте премашили 10.000 захтева дневно, можете да затражите промену нивоа коришћења апликације у ниво Повишени. Да бисте испунили услове за ниво Повишени, морате:
- да потврдите правилну примену логике API-ја, укључујући поновне покушаје.
- да објавите апликацију на Google Play-у поред свих других канала за дистрибуцију.
Да бисте променили ниво коришћења апликације, обратите се подршци за програмере.
Тестирајте интеграцију API-ја за интегритет
Можете да подесите листу Gmail налога који ће тестирати интеграцију API-ја за интегритет. Прво се уверите да тестери имају приступ издању:
- Објавите верзију апликације за интерно тестирање или верзију коју намеравате да тестирате. Затим пратите упутства за управљање тестерима помоћу имејл адреса или помоћу Google група како би тестери могли да приступају издању.
Да бисте подесили тестирање:
- Отворите Play конзолу и идите на страницу Интегритет апликација (Издање > Подешавање > Интегритет апликације).
- Кликните на картицу API за интегритет.
- Померите до одељка Тестирање.
- Кликните на Направи нови тест.
- Изаберите листу имејл адреса или направите нову.
- Кликните на Направи тест.
Подесите изузимање уређаја на Google Play-у
Уређаје можете да изузмете из дистрибуције апликације на Google Play-у на основу одговора API-ја за интегритет у Play продавници. Изузети уређаји неће моћи да виде ни инсталирају апликацију на Google Play-у. Изузимање уређаја не спречава кориснике да преузму апликацију на други начин, на пример, преко другог канала за дистрибуцију или учитавањем са извора треће стране.
Важно: Изузимање уређаја користи одговор API-ја за интегритет који је примила апликација Play продавница и није повезано са одговором који је апликација примила када сте интегрисали API.
Доступне су три опције изузимања уређаја API-ја за интегритет:
- Не изузимај: Не изузима се ниједан уређај на основу API-ја за интегритет.
- Изузми само уређаје са неуспешном основном провером: Изузима непоуздане уређаје који не задовољавају основну проверу интегритета.
- Изузми све уређаје са неуспешном провером: Изузима непоуздане уређаје који не задовољавају проверу интегритета уређаја.
Савет: Дефиниције основних интегритета и интегритета уређаја можете да пронађете у документацији за Play API за интегритет на сајту за Android програмере.
Ево како можете да промените подешавање изузимања уређаја у Play конзоли:
- Отворите Play конзолу и идите на страницу Интегритет апликација (Издање > Подешавање > Интегритет апликације).
- Кликните на картицу API за интегритет.
- Поред опције Изузимање уређаја одаберите да ли желите да изузмете уређаје из дистрибуције апликације на основу одговора API-ја за интегритет. Изузети уређаји неће моћи да виде ни инсталирају апликацију на Google Play-у.
- Сачувајте промене.
Важно: Тиме се аутоматски ажурирају правила каталога уређаја за изузимање.