عندما يبحث المستخدم عن تطبيقات لتنزيلها على Google Play أو يطّلع عليها، تتم فلترة النتائج استنادًا إلى التطبيقات المتوافقة مع الجهاز. على سبيل المثال، إذا كان التطبيق يتطلّب كاميرا، لن يعرض Google Play التطبيق على الأجهزة التي لا تتضمّن كاميرا. يساعد هذا الفلترة المطوّرين في إدارة توزيع تطبيقاتهم، كما يساعد في ضمان تقديم أفضل تجربة ممكنة للمستخدمين.
تستند عملية الفلترة في Google Play إلى عدة أنواع من البيانات الوصفية للتطبيقات و إعدادات الضبط، بما في ذلك بيانات البيان والمكتبات المطلوبة وعناصر الاعتماد على البنية وعناصر التحكّم في التوزيع التي تم ضبطها في Play Console، مثل الاستهداف الجغرافي والأسعار وغير ذلك.
تستند عملية الفلترة في Google Play جزئيًا إلى بيانات البيان وغيرها من العناصر في إطار عمل Android، ولكنّ سلوكيات الفلترة الفعلية تختلف عن الإطار ولا تكون مرتبطة بمستويات معيّنة لواجهات برمجة التطبيقات. يحدِّد هذا المستند قواعد الفلترة الحالية التي يستخدمها Google Play.
آلية عمل الفلاتر على Google Play
يستخدم Google Play قيود الفلترة الموضّحة أدناه لتحديد ما إذا كان سيتم عرض تطبيقك لمستخدم يتصفّح التطبيقات أو يبحث عنها من تطبيق Google Play.
عند تحديد ما إذا كان سيتم عرض تطبيقك، يتحقّق Google Play من متطلبات الأجهزة والبرامج على الجهاز، بالإضافة إلى مشغّل شبكة الجوّال والموقع الجغرافي وغيرها من السمات. بعد ذلك، تتم مقارنة هذه العناصر بالقيود والتبعيات التي يعرضها ملف بيان التطبيق وتفاصيل النشر.
إذا كان التطبيق متوافقًا مع الجهاز وفقًا لقواعد الترشيح، يعرض Google Play التطبيق للمستخدم. بخلاف ذلك، سيخفي Google Play تطبيقك من نتائج البحث وتصفّح الفئات، حتى إذا طلب مستخدم التطبيق تحديدًا من خلال النقر على رابط لصفحة معيّنة يشير مباشرةً إلى رقم تعريف التطبيق ضمن Google Play.
يمكنك استخدام أي مجموعة من الفلاتر المتاحة لتطبيقك. على سبيل المثال، يمكنك ضبط متطلبات
minSdkVersion
على "4"
وضبط smallScreens="false"
في التطبيق، ثم عند تحميل التطبيق إلى Google Play، يمكنك استهداف البلدان الأوروبية (شركات الجوّال)
فقط. وبالتالي، ستمنع فلاتر Google Play توفّر التطبيق على أي جهاز
لا يستوفي جميع هذه المتطلبات الثلاثة.
ترتبط جميع قيود الفلترة بإصدار التطبيق ويمكن أن تتغيّر من إصدار إلى آخر. على سبيل المثال، إذا ثبَّت مستخدم تطبيقك ونشرت تحديثًا يجعل التطبيق غير مرئي للمستخدم، لن يظهر للمستخدم أنّ تحديثًا متاحًا.
الفلترة على موقع Google Play الإلكتروني
عندما يتصفّح المستخدمون موقع Google Play الإلكتروني، يمكنهم الاطّلاع على جميع التطبيقات المنشورة. يقارن موقع Google Play الإلكتروني متطلبات التطبيق بكل جهاز من الأجهزة المسجّلة للمستخدم للتحقّق من التوافق، ولا يسمح له بتثبيت التطبيق إلا إذا كان متوافقًا مع جهازه.
الفلترة استنادًا إلى بيان التطبيق
يتم تفعيل معظم الفلاتر بواسطة عناصر ضمنملف بيان التطبيق، AndroidManifest.xml (على الرغم من أنّ بعض العناصر في ملف البيان قد لا تؤدي إلى بدء عملية الفلترة). يسرد الجدول 1 عناصر البيان التي يجب استخدامها لبدء عملية filtering، ويوضّح آلية عمل الفلترة لكل عنصر.
الجدول 1: عناصر البيان التي تؤدي إلى بدء الفلترة على Google Play
عنصر البيان | اسم الفلتر | آلية العمل |
---|---|---|
<supports-screens>
|
حجم الشاشة |
يشير التطبيق إلى أحجام الشاشة التي يمكنه التعامل معها من خلال
ضبط سمات عنصر بوجهٍ عام، يفترض Google Play أنّ النظام الأساسي على الجهاز يمكنه تكييف التصاميم الأصغر حجمًا لتلائم الشاشات الأكبر حجمًا، ولكن لا يمكنه تكييفتصاميم أكبر حجمًا لتلائم الشاشات الأصغر حجمًا. وبالتالي، إذا أعلن تطبيق عن توافقه مع حجم شاشة "عادي" فقط، يجعل Google Play التطبيق متاحًا على كلٍّ من الأجهزة ذات الشاشات العادية والكبيرة، ولكنه يفلتر التطبيق لكي لا يكون متاحًا على الأجهزة ذات الشاشات الصغيرة. إذا لم يُعلن التطبيق عن سمات
المثال 1 المثال 2 المثال 3 لمزيد من المعلومات حول كيفية الإفصاح عن توافق تطبيقك مع أحجام الشاشات، يُرجى الاطّلاع على |
<uses-configuration>
|
إعدادات
جهازك: لوحة المفاتيح، وعناصر التنقّل، والشاشة التي تعمل باللمس |
يمكن للتطبيق طلب ميزات معيّنة للأجهزة، ولن يعرض Google Play التطبيق إلا على الأجهزة التي تتضمّن الأجهزة المطلوبة. المثال 1 المثال 2 لمزيد من التفاصيل، يُرجى الاطّلاع على |
<uses-feature>
|
ميزات الجهاز ( name ) |
يمكن أن يتطلّب التطبيق توفُّر ميزات معيّنة على الجهاز. تم تقديم هذه الوظيفة في الإصدار 2.0 من نظام Android (المستوى 5 من واجهة برمجة التطبيقات). المثال 1 المثال 2 للاطّلاع على المعلومات الكاملة، يُرجى الاطّلاع على الفلترة استنادًا إلى الميزات الضمنية: في بعض الحالات، يفسّر Google
Play الأذونات المطلوبة من خلال عناصر
|
OpenGL-ES
إصدار ( openGlEsVersion ) |
يمكن للتطبيق أن يطلب من الجهاز توافقه مع إصدار معيّن
من OpenGL-ES باستخدام السمة المثال 1 المثال 2 المثال 3 المثال 4 لمزيد من التفاصيل، يُرجى الاطّلاع على |
|
<uses-library> |
مكتبات البرامج | يمكن أن يتطلّب التطبيق توفُّر مكتبات مشتركة معيّنة على الجهاز. المثال 1 المثال 2 لمزيد من التفاصيل، يُرجى الاطّلاع على |
<uses-permission> |
لا يفرِّط Google Play في الفلترة استنادًا إلى عناصر
بشكل عام، إذا طلب تطبيق أذونات ذات صلة بالأجهزة، يفترض Google Play أنّ التطبيق يتطلّب ميزات الأجهزة الأساسية، حتى لو لم تكن هناك بيانات الإفصاح المقابلة ل للحصول على قائمة بالأذونات التي تشير إلى ميزات الأجهزة، يُرجى الاطّلاع على مستندات العنصر |
|
<uses-sdk> |
الحد الأدنى لإصدار الإطار (minSdkVersion ) |
يمكن أن يتطلّب التطبيق حدًا أدنى لمستوى واجهة برمجة التطبيقات. المثال 1 المثال 2 ولأنّك تريد تجنُّب هذا السيناريو الثاني، ننصحك بإدراج |
الحد الأقصى لإصدار الإطار (maxSdkVersion ) |
تمّ إيقاف هذا العمود نهائيًا. لا يتحقّق الإصدار لا ننصح بتحديد |
فلاتر البيان المتقدّمة
بالإضافة إلى عناصر البيان الواردة في الجدول 1، يمكن أن يمحوِّل Google Play التطبيقات أيضًا استنادًا إلى عناصر البيان المتقدّمة الواردة في الجدول 2.
إنّ عناصر البيان هذه والفلترة التي تنشئها مخصّصة فقط لحالات الاستخدام الاستثنائية. تم تصميم هذه الأنواع لأنواع معيّنة من الألعاب العالية الأداء والتطبيقات المشابهة التي تتطلب عناصر تحكّم صارمة في توزيع التطبيقات. يجب ألا تستخدم معظم التطبيقات هذه الفلاتر مطلقًا.
الجدول 2: عناصر البيان المتقدّمة لأجل فلترة Google Play
عنصر البيان | ملخّص |
---|---|
<compatible-screens> |
يصوّر Google Play التطبيق إذا لم يتطابق حجم شاشة الجهاز وكثافتها مع
أي من إعدادات الشاشة (المُعلَن عنها من خلال عنصر تحذير: يجب عدم استخدام
عنصر البيان هذا في العادة. يمكن أن يؤدي استخدام هذا العنصر إلى خفض قاعدة المستخدمين المحتملين لتطبيقك بشكلٍ كبير، وذلك من خلال استبعاد جميع مجموعات حجم الشاشة
وكثافتها التي لم تذكرها. يجب بدلاً من ذلك استخدام عنصر البيان |
<supports-gl-texture> |
يصوّر Google Play التطبيق ما لم يكن الجهاز متوافقًا أيضًا مع تنسيق واحد أو أكثر من تنسيقات ضغط بنية GL المتوافقة مع التطبيق. |
فلاتر أخرى
يستخدم Google Play سمات التطبيق الأخرى لتحديد ما إذا كان سيتم عرض تطبيق معيّن أو إخفاؤه لمستخدم معيّن على جهاز معيّن، كما هو موضّح في الجدول أدناه.
الجدول 3: ميزات التطبيق والنشر التي تؤثّر في الفلترة على Google Play
اسم الفلتر | آلية العمل |
---|---|
حالة النشر | لن تظهر سوى التطبيقات المنشورة في عمليات البحث والتصفّح ضمن Google Play. حتى إذا تم إلغاء نشر تطبيق، يمكن تثبيته إذا كان بإمكان المستخدمين الاطّلاع عليه في قسم "عمليات التنزيل" ضمن التطبيقات التي تم شراؤها أو تثبيتها أو إلغاء تثبيتها مؤخرًا. إذا تم تعليق تطبيق، لن يتمكّن المستخدمون من إعادة تثبيته أو تحديثه، حتى إذا كان يظهر في قسم "عمليات التنزيل". |
السعر الحالة | لا يمكن لبعض المستخدمين رؤية التطبيقات المدفوعة. لعرض التطبيقات المدفوعة، يجب أن يعمل الجهاز بالإصدار 1.1 من نظام التشغيل Android أو إصدار أحدث، ويجب أن يكون في بلد تتوفّر فيه التطبيقات المدفوعة. إذا كان الجهاز يحتوي على شريحة SIM، يحدِّد مشغّل شبكة الجوّال ما إذا كانت التطبيقات المدفوعة متاحة. إذا لم يكن الجهاز مزوّدًا بشريحة SIM، يتم استخدام عنوان IP للجهاز لتحديد ما إذا كان الجهاز في بلد تتوفّر فيه التطبيقات المدفوعة. |
استهداف البلدان | عند تحميل تطبيقك إلى Google Play، يمكنك اختيار البلدان التي تريد توزيع تطبيقك فيها ضمن الأسعار والتوزيع. وسيصبح التطبيق بعد ذلك متاحًا للمستخدمين في البُلدان التي تختارها فقط. |
بنية وحدة المعالجة المركزية (ABI) | لا يظهر التطبيق الذي يتضمّن مكتبات برمجية أصلية تستهدف بنية وحدة معالجة مركزية معيّنة (مثل ARM EABI v7 أو x86) إلا على الأجهزة المتوافقة مع هذه البنية. لمعرفة التفاصيل حول حزمة NDK واستخدام المكتبات الأصلية، يُرجى الاطّلاع على ما هو حزمة NDK لنظام التشغيل Android؟ |
التطبيقات المحمية ضد النسخ | لم يعُد Google Play يتيح ميزة "الحماية من النسخ" في Play Console، ولم يعُد يفرِّز التطبيقات استنادًا إليها. لتأمين تطبيقك، يُرجى استخدام ترخيص التطبيقات بدلاً من ذلك. اطّلِع على ميزة "استبدال ميزة حماية النسخ" للحصول على مزيد من المعلومات. |
نشر حِزم APK متعددة باستخدام فلاتر مختلفة
تسمح لك بعض فلاتر Google Play المحدّدة بنشر حِزم APK متعددة للتطبيق نفسه بهدف توفير حِزمة APK مختلفة لإعدادات الأجهزة المختلفة. على سبيل المثال، إذا كنت بصدد إنشاء لعبة فيديو تستخدم مواد عرض رسومات عالية الدقة، قد تحتاج إلى إنشاء ملفَي APK يتيح كل منهما تنسيقات مختلفة لضغط النسيج. بهذه الطريقة، يمكنك تقليل حجم ملف APK من خلال تضمين الأشكال المطلوبة فقط لكل إعداد للجهاز. استنادًا إلى توافق كل جهاز مع تنسيقات ضغط النسيج، سيرسل Google Play حزمة APK التي أعلنت أنّها متوافقة مع هذا الجهاز.
لا يسمح لك Google Play حاليًا بنشر حِزم APK متعددة للتطبيق نفسه إلا عندما يوفّر كل حِزمة APK فلاتر مختلفة استنادًا إلى الإعدادات التالية:
- تنسيقات ضغط بنية OpenGL
باستخدام العنصر
<supports-gl-texture>
- حجم الشاشة (وكثافة الشاشة اختياريًا)
باستخدام العنصر
<supports-screens>
أو<compatible-screens>
- مستوى واجهة برمجة التطبيقات
باستخدام العنصر
<uses-sdk>
- بنية وحدة المعالجة المركزية (ABI)
من خلال تضمين مكتبات أصلية تم إنشاؤها باستخدام حزمة تطوير البرامج (NDK) لنظام التشغيل Android التي تستهدف بنية وحدة معالجة مركزية معيّنة (ARM EABI v7 أو x86، على سبيل المثال)
لا تزال جميع الفلاتر الأخرى تعمل كالمعتاد، ولكن هذه الفلاتر الأربعة هي الفلاتر الوحيدة التي يمكنها تمييز حزمة APK عن غيرها ضمن بطاقة بيانات التطبيق نفسها على Google Play. على سبيل المثال، لا يمكنك نشر حِزم APK متعددة للتطبيق نفسه إذا كانت حِزم APK تختلف فقط استنادًا إلى ما إذا كان الجهاز يحتوي على كاميرا.
تحذير: يُعدّ نشر حِزم APK متعددة للتطبيق نفسه ميزة متقدّمة، ويجب أن تنشر معظم التطبيقات حِزمة APK واحدة فقط تتوافق مع مجموعة كبيرة من إعدادات الأجهزة. يتطلّب نشر حِزم APK متعددة اتّباع قواعد محدّدة ضمن فلاترك، كما يتطلّب الانتباه بشكل خاص إلى رموز الإصدار لكل حزمة APK لضمان مسارات التحديث المناسبة لكلّ إعداد.
إذا كنت بحاجة إلى مزيد من المعلومات حول كيفية نشر حِزم APK متعددة على Google Play، يُرجى الاطّلاع على مقالة إتاحة حِزم APK متعددة.