Предотвратяване на неупълномощените промени и разпространение с помощта на автоматичната защита на целостта

Забележка: Описаните на тази страница функции понастоящем се предлагат само за избрани партньори на Google Play.

Функцията на Google Play за автоматична защита на целостта ви помага да предпазвате приложенията и игрите си от злоупотреба под формата на неупълномощени промени и разпространение. Автоматичната защита на целостта работи в приложението ви без връзка за пренос на данни. Функцията може да бъде включена с едно кликване в Play Console и не са необходими действия от програмистите преди тестването, нито интегриране с бекенд сървър.

Начин на работа

Функцията за автоматична защита на целостта добавя към кода на приложението ви механизми за проверка по време на изпълнение с цел ограничаване на модифицирането и неофициалното разпространение и използва съвременни техники за усложняване на кода и предотвратяване на обратно инженерство, за да направи премахването на тези механизми по-трудно. Ако бъде установен проблем при проверката на инсталационната програма, потребителите ще бъдат подканени да изтеглят приложението ви от Google Play. В случай че при проверката за модифициране бъдат открити промени, то няма да стартира. Това помага да предпазваме потребителите от опасно съдържание, което може да се показва в модифицирани версии на приложението ви.

Автоматичната защита на целостта е създадена със следните цели:

  • Предотвратяване на неупълномощени промени: функцията предпазва приложението ви от модифициране и по този начин затруднява разпространението на неофициални копия с променен начин на работа (например премахване на функционалност за таксуване, добавяне на реклами, промяна на идентификационния номер на собственика на рекламата или добавяне на злонамерен софтуер).
  • Предотвратяване на пиратство на платени приложения: Функцията предотвратява пиратството, като подканва потребителите, които инсталират немодифицираната версия на приложението ви посредством неофициален източник, да я купят от Google Play. Тази подкана не е задължителна и може да бъде изключена, като премахнете отметката от „Изискване за инсталиране от Google Play“ на страницата за конфигуриране на автоматичната защита на целостта.
  • Увеличаване на броя потребители, които получават официални актуализации: Функцията може да подканва потребителите, които използват неизвестен източник, за да инсталират немодифицираната версия на приложението ви, предлагана в Google Play, да я добавят към колекцията си в услугата, за да получават текущите актуализации на приложението. Тази подкана не е задължителна и може да бъде изключена, като премахнете отметката от „Изискване за инсталиране от Google Play“ на страницата за конфигуриране на автоматичната защита на целостта.
Важно: Функцията за автоматична защита на целостта не гарантира предпазване от всички случаи на кракване, пиратство, повторно пакетиране и неофициално разпространение. Тя прави извършването на тези действия по-трудно и скъпо и следователно намалява вероятността за осъществяването им. Google Play непрекъснато подобрява тази функция, така че новите версии на приложението ви автоматично ще получават най-новата и най-надеждна защита.

Настройване на функцията за автоматична защита на целостта

Стъпките по-долу описват какво трябва да направите, за да започнете да използвате автоматичната защита на целостта. Кликнете върху секция, за да я разгънете.

Необходими условия

Ако включите функцията за автоматична защита на целостта за определено приложение, Google Play автоматично ще добавя защита към всяка създадена от вас версия, която е готова за разпространение на устройства. За целта Google Play създава модифицирани APK файлове и ги подписва от ваше име, така че вие трябва да направите следното:

Моля, имайте предвид следното:

  • Автоматичната защита на целостта се поддържа само под Android 6.0 Marshmallow (API ниво 23) и по-нови версии. Пуснахме Android M през 2015 г., а според данни от 2023 г. насочването към версия 23 или по-нова чрез атрибута midSDKVersion обхваща над 97% от активните устройства с Android.
  • Функцията за автоматична защита на целостта поддържа следните ABI: x86, x86_64, armeabi-v7a и arm64-v8a. За да актуализирате целевите ABI на приложението си, актуализирайте настройките на Gradle. Други ABI, които не се използват от активни устройства с Android, могат да бъдат премахнати от насочването, без това да се отрази на наличността на приложението ви.
  • Автоматичната защита на целостта работи офлайн. „Изискване за инсталиране от Google Play“ периодично изисква връзка за пренос на данни, ако приложението Google Play Магазин на устройството е било офлайн за продължителен период от време.
  • Ако приложението ви вече използва услугата на Google Play за лицензиране, трябва да изключите настройката „Изискване за инсталиране от Google Play“.
  • Когато качвате приложението си чрез функцията за вътрешно споделяне на приложения, защитата не се прилага. Изключително важно е да предоставяте връзки за вътрешно споделяне на приложения само на доверени членове на екипа и да не споделяте незащитени версии с външни лица.
  • Функцията за автоматична защита на целостта е несъвместима с прозрачността на кода за пакетите с приложения, тъй като тя променя кода. Пакетите с приложения, качвани с механизма за прозрачност на кода, когато функцията е активирана, ще бъдат отхвърлени.
  • Мигновените варианти за приложенията не са защитени. За да получи защита, пакетът с приложения в каналите ви за пускане не трябва да е мигновено активиран. Можете едновременно да качите в канала си за пускане пакет с приложения, който получава защита, и мигновено активиран пакет с приложения в предназначения само за мигновени приложения канал, който не получава защита.
Стъпка 1: Включване на защитата

Създайте версия, както е описано в стъпка 1 на статията „Подготвяне и разпространение на версии“.

Можете да включите защитата при създаване на версия (както е описано в стъпка 2 на статията Подготвяне и разпространение на версии) или на страницата Цялост на приложението (Версия > Цялост на приложението), която съдържа услугите за тестване на целостта и подписване, които ви помагат да се подсигурите, че потребителите използват приложенията и игрите ви по желания от вас начин.

Когато подготвяте версията си, ще видите бутон с надпис Получете защита на целостта или Управление на функцията за защита на целостта. След това можете да включите функцията за защита на целостта, като кликнете върху Да, да се включи под „Автоматична защита на целостта“. Google Play ще подписва публикуваните ви версии и ще добавя защита на целостта, за да ограничи чуждата намеса и злоупотребата с разпространението. Това означава, че функцията за автоматична защита на целостта е включена.

Завършете подготвянето на версията си и запазете промените.

Стъпка 2: Тестване на защитеното ви приложение

Използвайте всеки от тестовите канали, за да изпробвате защитената версия на приложението и да се уверите, че няма неочакван ефект върху практическата работа на потребителите или ефективността.

Препоръчваме да извършите следните действия по време на прегледа:

  • да проверите дали при стартирането на играта ви възникват сривове или забавяния;
  • да тествате обратните извиквания от кода с директно изпълнение (C/C++) към Java (в собствения ви код или библиотеки на трети страни), например реклами, записване в регистрационни файлове, интегриране на социални функции, удостоверяване или функции конкретно за Android, като обработване на разрешения.

Ако откриете проблеми по време на процеса на тестване, имате възможност да се върнете към предишна версия на автоматичната защита на целостта, която може вече да сте използвали за предходна версия, както и да изключите функцията. Препоръчваме да не публикувате незащитени версии в отворени канали или в стандартния канал.

За да изключите защитата на целостта за отделна версия:

  1. Когато подготвяте версията си, кликнете върху Управление на функцията за защита на целостта.
  2. Под „Автоматична защита на целостта“ изберете опцията за предишна защита или Изключване на защитата за тази версия.
  3. Запазете промените. Те ще бъдат приложени към тази версия. Следващия път, когато качите версия, тя ще получи най-новата и най-надеждна защитата.
Стъпка 3: Повишаване на приложението ви до стандартния канал

Когато имате готовност, можете да стартирате разпространението на версията си в стандартния канал в Play Console, така че защитеното ви приложение да бъде достъпно за всички потребители на Google Play в избраните от вас държави.

Персонализиране на малката ви обява в магазина, когато потребителите я посещават от диалогови прозорци за защита на целостта

Функцията за автоматична защита на целостта може да подканва потребителите, които са получили приложението ви по неофициален начин, да го изтеглят от Google Play. Когато даден потребител докосне диалоговия прозорец, ще бъде пренасочен към малката ви обява в магазина, където може да докосне бутона за инсталиране, купуване или актуализиране, за да изтегли приложението ви от Google Play и да го добави към колекцията си в услугата.

Можете да персонализирате активите за малката си обява в магазина (включително името, иконата, описанията и графичните активи на приложението си) за посетителите, които са докоснали диалогов прозорец за защита на целостта. За да персонализирате малката си обява в магазина, когато потребителите я посещават от диалогов прозорец за защита на целостта:

  1. Отворете Play Console и страницата Цялост на приложението (Версия > Цялост на приложението).
  2. Превъртете до секцията „API на Google Play за тестване на целостта“.
  3. Кликнете върху Настройки.
  4. Превъртете до секцията „Персонализиране на малката обява в магазина“.
  5. Кликнете върху Създаване на малка обява.
  6. Изпълнете инструкциите на страницата Създаване на персонализирана малка обява в магазина и кликнете върху Запазване.

Можете също да създадете персонализирани малки обяви в магазина за диалоговите прозорци за защита на целостта директно от страницата Персонализирани малки обяви в магазина:

  1. Отворете Play Console и страницата Персонализирани малки обяви в магазина (Растеж > Персонализирани малки обяви в магазина).
  2. Кликнете върху Създаване на малка обява, изберете дали да създадете нова малка обява, или да дублирате съществуваща, след което кликнете върху Напред.
  3. В секцията „Подробности за малката обява“ превъртете до Целева аудитория.
  4. Изберете По URL адрес и въведете playintegrity в текстовото поле.
  5. Попълнете всички други подробности и кликнете върху Запазване.

Забележка: Параметърът на URL адреса playintegrity е специална ключова дума, която е запазена за преки връзки, свързани с целостта. Затова тя трябва да бъде въведена точно и без промени при настройването на персонализираната малка обява в магазина.

Препоръчителни практики

Не публикувайте незащитени версии на приложението

Ако публикувате незащитени версии в отворени канали или чрез други канали извън Google Play, защитата на приложението ви вече няма да работи. За да се възползвате от защитата на целостта, в отворени канали и в стандартния канал трябва да публикувате само защитени версии на приложението си.

Внимавайте при използването на няколко решения против външна намеса

Възможно е автоматичната защита на целостта да не е съвместима с други решения против външна намеса, които се прилагат по време на изпълнение. Съвместното им използване може да доведе до проблеми за потребителите. Ако вече внедрявате в приложението си лицензирането за Google Play, трябва да деактивирате опцията „Изискване на инсталиране от Google Play“. В случай че приложението ви извършва други проверки по време на изпълнение, не забравяйте щателно да тествате защитеното си приложение за проблеми, преди да бъде публикувано в отворен канал.

Тестване на защитеното ви приложение

Google Play автоматично ще доставя защитени компилации във всички канали: за вътрешно тестване, затворени, отворени и стандартния канал. Тествайте тези версии обстойно, както обикновено.

Ако качите компилацията на приложението си директно чрез функцията за вътрешно споделяне на приложения, Google Play няма да добави защита. Това ви дава възможност да качвате компилации за отстраняване на грешки и други подобни компилации.

Когато отворите в инструмента за разглеждане на Android App Bundle връзка за вътрешно споделяне на защитена версия на приложение, компилацията се споделя точно във вида, в който е обработена от Google Play. Ако тази версия е качена в тестов канал и защитена, връзката за вътрешно споделяне от инструмента за разглеждане на Android App Bundle ще води към защитена версия. Можете да видите състоянието на защита в раздела Подробности на инструмента.

Наблюдение на сривовете

Може да забележите увеличение на сривовете заради защитата на приложението ви. По принцип това означава, че функцията за автоматична защита на целостта работи нормално. Ако хакер се опита да модифицира приложението ви, обикновено механизмът за проверка по време на изпълнение предизвиква срив, за да прекрати работата на приложението.

Сривовете, които не са приписани на Google Play, не засягат стойностите за стабилността във функцията за показатели за Android. Ако използвате други инструменти за анализ на сривовете (например Crashlytics) и ви е необходимо име на пакет, за да филтрирате по източник на инсталиране, името на пакета за Google Play Магазин е com.android.vending.

Ако се тревожите за значително увеличение на сривовете, подайте сигнал до нас с възможно най-много подробности и екипът ни ще проучи случая. Ще отговорим на сигнала ви, ако установим, че сривовете са свързани със защитата.

Подаване на сигнал за кракнати версии на приложението ви

Кракнатата версия на приложението ви е такава, която продължава да работи, след като е модифицирана или след като е инсталирана от външен източник, ако изисквате инсталиране от Google Play.

Ако сте открили кракната версия на приложението си, можете да подадете сигнал до нас.

Сродно съдържание

Това полезно ли бе?

Как можем да направим подобрения?

Нуждаете се от още помощ?

Изпробвайте следните стъпки:

Търсене
Изчистване на търсенето
Затваряне на търсенето
Главно меню
5142780383180738760
true
Търсене в Помощния център
true
true
true
true
true
92637
false
false