Як автоматичний захист цілісності даних допомагає запобігати неавторизованому зміненню й розповсюдженню додатків

Примітка. Описані на цій сторінці можливості зараз доступні лише для деяких партнерів 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 рік націлювання на midSDK 23-го або вищого рівня охоплюватиме понад 97% активних пристроїв Android.
  • Автоматичний захист цілісності даних підтримує такі інтерфейси ABI: x86, x86_64, armeabi-v7a й arm64-v8a. Щоб оновити цільові ABI додатка, оновіть налаштування Gradle. Інші інтерфейси ABI, які не використовуються на активних пристроях Android, можна вилучити з націлювання (це не вплине на доступність додатка).
  • Автоматичний захист цілісності даних працює без підключення до Інтернету. Проте перевірка "Вимагати встановлення з Google Play" періодично запитує з’єднання з мережею, якщо додаток Play Маркет на пристрої довго не підключався до Інтернету.
  • Якщо у вашому додатку вже використовується сервіс ліцензування Google Play, зніміть прапорець "Вимагати встановлення з Google Play".
  • Коли ви завантажуєте додаток для внутрішнього доступу, захист не застосовується. Діліться посиланнями для внутрішнього доступу до додатків лише з надійними членами команди й не надавайте зовнішній доступ до незахищених версій.
  • Функція автоматичного захисту цілісності даних несумісна з механізмом прозорості коду для наборів App Bundle, оскільки захист цілісності передбачає змінення коду. Набори App Bundle, додані з механізмом прозорості коду, відхилятимуться, якщо ввімкнено Автоматичний захист цілісності даних.
  • Додатки з миттєвим запуском не захищаються. Захищати можна лише набори App Bundle без миттєвого запуску. Ви можете додати і захищену версію набору App Bundle, і незахищену з миттєвим запуском.
Крок 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. Прокрутіть до розділу "Play Integrity API".
  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 не застосує до нього захист. Завдяки цьому ви можете завантажувати туди призначені для налагодження та подібні складання.

Якщо посилання для внутрішнього доступу веде до захищеної версії додатка (збереженої в App Bundle Explorer), складання надається в тому вигляді, у якому пройшло обробку в Google Play. Якщо ви завантажили для тестування захищену версію, саме вона буде доступна за посиланням. Статус захисту можна переглянути на вкладці Відомості в App Bundle Explorer.

Відстежуйте збої

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

Збої, не пов’язані з Google Play, не впливають на показники стабільності в Android Vitals. Якщо ви використовуєте для аналізу збоїв інші інструменти (наприклад, Crashlytics), встановлення з Google Play можна відфільтрувати за назвою пакета "com.android.vending".

Якщо вас непокоїть збільшення кількості збоїв, повідомте нас, надавши якомога більше даних. Наша команда розгляне ваш випадок. Ми відповімо на ваше повідомлення, якщо виявимо, що такі збої пов’язані із захистом.

Повідомляйте про зламані версії додатка

Зламаною вважається версія додатка, яка працює навіть після внесення змін або встановлення за межами Google Play, якщо ви вимагаєте встановлення лише через Google Play.

Якщо ви виявили зламану версію додатка, повідомте нас про це.

Матеріали за темою

Чи корисна ця інформація?

Як можна її покращити?

Потрібна додаткова допомога?

Спробуйте дії нижче.

Пошук
Очистити пошук
Закрити пошук
Головне меню
5066328376047496246
true
Пошук у довідковому центрі
true
true
true
true
true
92637
false
false