# Соответствие политике видимости пакетов Google

Поскольку Google обновил свою Политику программы для разработчиков, могут возникнуть некоторые проблемы с публикацией в Google Play приложений с Pushwoosh SDK. Подробности см. в [Центре правил Google](https://support.google.com/googleplay/android-developer/answer/10446026).

Чтобы преодолеть или предотвратить эти проблемы, убедитесь, что ваше приложение соответствует обновленной политике видимости пакетов (действующей с лета 2021 года), следуя шагам, описанным в этом руководстве.

## Обновите Pushwoosh SDK

Обновите Pushwoosh SDK (для нативных приложений Android) или соответствующий плагин для любой из кроссплатформенных сред до последней версии; 6.2.5 — это необходимый минимум.

Начиная с версии 6.2.5, из Pushwoosh SDK были удалены все методы, запрашивающие установленные приложения или пакеты с устройства пользователя, в частности:

* [android.content.pm](http://android.content.pm/).PackageManager.getInstalledApplications()
* [android.content.pm](http://android.content.pm/).PackageManager.getInstalledPackages()

## Убедитесь, что другие SDK соответствуют требованиям

Обновленная политика может касаться не только Pushwoosh SDK, но и любого другого SDK, реализованного в вашем приложении, поэтому вы должны убедиться, что они соответствуют требованиям, чтобы повторно отправить приложение в Google Play.

Проанализируйте свой APK, чтобы убедиться, что никакая другая библиотека не использует методы `getInstalledApplications()` и `getInstalledPackages()`.

1. Запустите [Android Studio](https://developer.android.com/studio).

2. Загрузите .apk.

3. Откройте **Build**-> **Analyze APK…**, найдите свой **.apk** и выберите его.

<img src="/android-push-notifications-compliance-with-google-package-visibility-policy-1.webp" alt=""/>

4. Вы увидите **View**, где можно найти ресурсы **.apk**. Перейдите к файлам **.dex**:

<img src="/android-push-notifications-compliance-with-google-package-visibility-policy-2.webp" alt=""/>

5. Открывайте все файлы **.dex** один за другим и найдите `android.content.pm.PackageManager`:

<img src="/android-push-notifications-compliance-with-google-package-visibility-policy-3.webp" alt=""/>

6. Найдите методы `getInstalledApplications()` и `getInstalledPackages()`. Если они есть, щелкните по ним правой кнопкой мыши и выберите опцию **Find usages**:

<img src="/android-push-notifications-compliance-with-google-package-visibility-policy-4.webp" alt=""/>

Это покажет, какие SDK используют эти методы. Если вы используете Ogury, Pollfish, Adjoe.io, ironSource или UnityNativeShare — эти библиотеки могут использовать методы запроса пакетов.

7. Убедитесь, что вы обновили эти SDK до версий, соответствующих Политике Google, или удалили их из приложения.

8. Повторите шаги 2.4-2.7 для всех файлов .dex в вашем APK.

## Удалите старые несоответствующие версии

1. Войдите в свою Google Play Console.
2. Выберите приложение, которое вы хотите отправить в магазин.
3. Проверьте свои треки **Production, Open, Closed** и **Internal testing** на наличие старых APK/AAB с устаревшим Pushwoosh SDK или любым сторонним SDK, который был обнаружен на предыдущем шаге.

Если вы найдете такие артефакты, удалите пакеты приложений. Для этого:

1. Откройте трек (например, Internal testing).

2. Нажмите на **Release Details**.

3. В разделе **App bundles and APKs** выберите свой APK/AAB и откройте его детали (синяя стрелка справа от релиза).

4. Нажмите **Explore App Bundle**.

5. Удалите пакет приложения, нажав кнопку **Delete App Bundle**.

<Aside type="caution">
Убедитесь, что пакет удален, а не просто деактивирован.
</Aside>

6. Если релиз уже опубликован, APK/AAB может быть недоступен для удаления. В этом случае обновите релиз до новой версии SDK.

Повторите шаги 1–6 для всех устаревших артефактов.

<Aside type="note">
Перед повторной отправкой приложения в Google Play убедитесь, что вы обновили его в текущем релизе.
</Aside>

Перед повторной отправкой увеличьте версию приложения (например, если была 1.0.1, она должна стать 1.0.2).

## Чтобы ускорить одобрение

Чтобы ускорить одобрение со стороны Google, отправьте апелляцию на play-bd-support@google.com и приложите скриншоты, подтверждающие, что:

* Ваш APK не содержит вызовов этих методов:

[_android.content.pm_](http://android.content.pm/)_.PackageManager.getInstalledApplications()_\
[_android.content.pm_](http://android.content.pm/)_.PackageManager.getInstalledPackages()_

* Все ваши треки релизов в Google Play Console содержат только совместимые пакеты.

## Поделитесь с нами своим мнением

Ваши отзывы помогают нам улучшать наш продукт, поэтому мы будем рады услышать от вас, если у вас возникнут какие-либо проблемы в процессе интеграции SDK. Если вы столкнетесь с какими-либо трудностями, пожалуйста, не стесняйтесь поделиться своими мыслями с нами [через эту форму](https://docs.google.com/forms/d/e/1FAIpQLSd\_0b8jwn-V\_JmoPLIxIFYbHACCQhrzidOZV3ELywoQPXRSxw/viewform).