# الامتثال لسياسة Google Package Visibility

نظرًا لأن Google قامت بتحديث سياسة برنامج المطورين الخاصة بها، فقد تظهر بعض المشكلات عند نشر التطبيقات التي تستخدم Pushwoosh SDK على Google Play. ارجع إلى [مركز سياسات Google](https://support.google.com/googleplay/android-developer/answer/10446026) للحصول على التفاصيل.

للتغلب على هذه المشكلات أو منعها، يرجى التأكد من أن تطبيقك يمتثل لسياسة Package Visibility المحدثة (التي دخلت حيز التنفيذ في صيف 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** بحثًا عن ملفات APKs/AABs قديمة تحتوي على 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).