Для чого потрібне підписування додатків у Google Play? Крім захисту ваших ключів від утрати або зламу, реєстрація в програмі підписування додатків у Google Play відкриває вам доступ до оптимізацій для ваших файлів Android App Bundle (AAB). Дозволивши Google підписувати оптимізовані файли APK для розповсюдження, згенеровані з ваших наборів App Bundle, ви отримуєте доступ до цінних сервісів, наприклад автоматичного захисту й автоматичного перекладу текстових сегментів за допомогою моделей Gemini. Для ігор передбачено такі додаткові автоматичні сервіси, як Sidekick у Play Іграх, запуск гри під час завантаження й безкоштовні пробні версії для платних ігор.
Щоб налаштувати підписування додатків у Google Play, ви повинні бути власником облікового запису або мати дозвіл на випуск робочої версії, виключення пристроїв і підписування додатків у Google Play, а також прийняти Умови використання.
Основні поняття
Підписування додатків у Google Play передбачає використання двох окремих ключів. Щоб уникнути проблем з автентифікацією, пов’язаних зі сторонніми API, украй важливо розуміти різницю між цими ключами і їх технічними форматами.
| Тип ключа | Місце збереження | Технічні деталі й призначення |
|
Ключ завантаження |
У вас (зберігайте його в надійному місці!) |
|
| Ключ підпису додатка |
Google Play |
|
Примітка. Для максимальної безпеки ключ завантаження й ключ підпису додатка мають відрізнятися.
Як Google підписує додаток. Коли Google генерує і підписує файли APK ключем підпису додатка, за допомогою інструмента ApkSigner в маніфест додаються дві мітки (com.android.stamp.source і com.android.stamp.type). Ці мітки дають змогу безпечно відстежити оригінальне джерело підпису файлів APK.
Налаштування функції підписування додатків у Google Play
Щоб опублікувати новий або перенести наявний додаток, потрібно виконати різні дії.
Для нових додатків
- Створіть ключ завантаження. Згенеруйте сховище ключів, щоб підписати набір App Bundle для випуску. Ви можете згенерувати його в Android Studio або скористатися Java-утилітою keytool через командний рядок.
- Завантажте набір App Bundle. Відкрийте Play Console і підготуйте новий випуск. За умовчанням, коли ви завантажуєте набір App Bundle, функція підписування додатків у Google Play автоматично генерує криптографічно надійний 4096-бітний ключ RSA для керування вашим додатком і його захисту. Понад 90% нових додатків використовують цей рекомендований варіант за умовчанням, і для його налаштування не потрібно виконувати жодних додаткових дій.
- Змініть ключ підпису додатка (необов’язково). Досвідчені розробники, які хочуть самостійно керувати власним ключем, можуть скористатися цією можливістю. Для цього в розділі Цілісність додатка свого випуску натисніть Змінити ключ підпису або виберіть Захищено за допомогою Google Play > Розповсюдження в Google Play > Перейти до підписування додатків у Google Play. У цьому розділі ви можете вибрати один із наведених нижче варіантів.
- Використовувати той самий ключ, що й для іншого додатка в цьому обліковому записі розробника.
- Надати копію вашого ключа підпису додатка. Для цього спершу завантажте відкритий ключ шифрування Google у Play Console. Потім скористайтесь інструментом Play Encrypt Private Key (PEPK), щоб надійно зашифрувати й завантажити ваш наявний ключ RSA (розміром від 2048 бітів) з будь-якого сховища. Ви можете завантажити скомпільований інструмент PEPK або його початковий код безпосередньо в Play Console, щоб перевірити або скласти його самостійно.
Для наявних додатків
Якщо ви зараз самостійно керуєте власними ключами й завантажуєте файли APK, то можете перейти на підписування додатків у Google Play, щоб користуватися перевагами наборів App Bundle і оптимізацій Google Play.
- У Play Console виберіть Захищено за допомогою Google Play > Захист Google Play > Перейти до підписування додатків у Google Play.
- Прийміть умови використання, якщо ви ще цього не зробили.
- Перенесіть копію оригінального ключа. Завантажте інструмент PEPK і дотримуйтеся покрокових вказівок, щоб зашифрувати й завантажити наявний ключ підпису додатка з будь-якого сховища.
Реєстрація в постачальників API
Якщо у вашому додатку використовуються певні API (Google Maps, OAuth, Facebook Login тощо), ці сервіси автентифікують його за допомогою цифрового відбитка ключа підпису додатка.
Оскільки Google підписує остаточну версію файла APK, ви повинні зареєструвати цифровий відбиток ключа підпису додатка, який зберігається в Google, у ваших постачальників API (а не лише ключ завантаження, який зберігається на вашому пристрої).
- Виберіть Захищено за допомогою Google Play > Розповсюдження в Google Play > Перейти до підписування додатків у Google Play.
- Прокрутіть сторінку до розділу Ключ підпису додатка.
- Скопіюйте потрібні цифрові відбитки (SHA-1 або SHA-256).
- Вставте ці цифрові відбитки в консоль свого постачальника API (наприклад, консоль Google Cloud).
Підказка. Якщо ви використовуєте функцію Android App Links, додайте ці цифрові відбитки у файл assetlinks.json.
Керування ключами
Як оновити ключ підпису додатка
Якщо ваш ключ підпису додатка зламано або вам потрібен ключ із надійнішим криптографічним захистом, ви можете надіслати запит на щорічне оновлення ключа для всіх встановлень на пристроях з Android N (API 24-го рівня) і новіших версій.
Як ми забезпечуємо використання оновленого ключа в різних версіях Android
- Android T (API 33-го рівня) і новіших версій. На цій платформі Android використання оновленого ключа є обов’язковою вимогою.
- Від Android N (API 24-го рівня) до Android S (API 32-го рівня). Ці платформи Android розпізнають старий ключ підпису, а використання оновленого ключа не є обов’язковою вимогою. Однак Google Play Захист виконує додаткові перевірки, щоб переконатися, що оновлення для додатка підписані оновленим ключем (якщо користувач не вимкнув цю функцію).
Важливо
- Спільні дані. Оскільки використання оновленого ключа не є обов’язковою вимогою на пристроях з Android S (API 32-го рівня) і старіших версій, якщо ви використовуєте той самий ключ у кількох додатках для обміну даними, ці старіші версії Android розпізнаватимуть лише старий ключ для таких функцій, як надання спеціальних дозволів.
Щоб перейти на новий план:
- Виберіть Захищено за допомогою Google Play > Розповсюдження в Google Play > Перейти до підписування додатків у Google Play.
- У розділі "Ключ підпису додатка" натисніть Оновити ключ.
- Виберіть потрібний варіант:
- Дозволити Google Play згенерувати новий ключ підпису додатка (рекомендовано)
- Використовувати той самий ключ підпису, що й для іншого додатка в цьому обліковому записі розробника
- Надати копію вашого ключа підпису додатка (дотримуючись вказівок)
- Натисніть Зберегти й зареєструйте цифрові відбитки нового ключа в постачальників API.
Як надіслати запит на скидання ключа завантаження
Якщо ви загубили ключ завантаження або підозрюєте, що його зламано, це не означає, що ви втратили доступ до свого додатка.
- Створіть новий ключ завантаження в Android Studio.
- Експортуйте сертифікат у форматі PEM:
keytool -export -rfc -keystore upload-keystore.jks -alias upload -file upload_certificate.pem
(Щоб дізнатися більше про keytool і шляхи до сховища ключів, перегляньте посібник із підписування додатків в Android Studio.) - Створивши файл PEM, надішліть запит на скидання в Play Console.
- Виберіть Захищено за допомогою Google Play > Захист Google Play > Керуйте підписуванням додатків у Google Play.
- У розділі Сертифікат ключа завантаження натисніть Запит на скидання ключа завантаження.
- Укажіть причину скидання.
- Долучіть файл
upload_certificate.pemі натисніть Надіслати запит.
Практичні поради й альтернативні способи розповсюдження
- Безпека. Захистіть доступ до Play Console, увімкнувши двохетапну перевірку для всіх користувачів.
- Оптимізації Google Play. Зареєструвавшись у програмі підписування додатків у Google Play, ви отримаєте доступ до оптимізацій Google Play для ваших наборів App Bundle. Щоб отримати оновлення, спочатку внесіть потрібні зміни під час створення нового випуску, а потім завантажте новий набір App Bundle.
- Розповсюдження за межами Google Play. Якщо ви розповсюджуєте додаток через інші магазини додатків і хочете скрізь використовувати той самий ключ підпису, це можна зробити двома способами. Ви можете дозволити Google згенерувати ключ підпису додатка й завантажити підписаний універсальний файл APK з останніх випусків і пакетів, щоб розповсюджувати додаток в інших магазинах (натисніть Тестування й випуск > Останні випуски й набори, виберіть набір App Bundle і перейдіть на вкладку Завантаження). Або ж ви можете згенерувати ключ підпису додатка, який використовуватиметься в усіх магазинах додатків, і завантажити його в Google під час налаштування функції підписування додатків у Google Play.
- Тестування. Використовуйте внутрішній доступ до додатків, щоб протестувати саме ту версію додатка, яку Google Play доставляє на пристрої користувачів, або завантажте оптимізовані для конкретних пристроїв файли APK через App Bundle Explorer й встановіть їх на своєму пристрої за допомогою команди adb install-multiple *
.apk. - Схема підписів APK версії 4. Функція підписування додатків у Google Play автоматично використовує підписи версії 4 для додатків, які відповідають вимогам, у рамках підтримки оптимізованого розповсюдження на пристроях з Android 11 і новіших версій. Вам не потрібно нічого робити. Докладнішу інформацію про технічні переваги цієї схеми наведено в документації.
- Проєкти Google Cloud на власних серверах. Якщо у вас є особливі вимоги до безпеки (наприклад, ви використовуєте ключі OEM), ви можете зареєструватися в сервісі підписування додатків у Google Play за допомогою Play Developer API і проєкту Google Cloud на власному сервері. Примітка. Це нестандартний варіант, який ми не рекомендуємо використовувати. Якщо ви розміщуєте проєкт на власному сервері, то несете повну відповідальність за підписування додатків, а отже Google Play не може виконувати важливі функції, наприклад післяаварійне відновлення.