تعرف على سبب عدم ظهور جميع التطبيقات لك في متجر غوغل بلاي

يتساءل الكثيرون عن سبب عدم ظهور بعض التطبيقات في متجر غوغل بلاي على هواتفهم أو هواتف أصدقائهم،وهو أمر قد مر به كثير من أقربائي وأصدقائي وكانوا يسألونني عن ذلك، ولطالما كانت هواتفهم إما ضعيفة أو متوسطة أو لا تحوي على الكثير من الميزات.

إذا أن متجر غوغل بلاي يتطور يوماً بعد يوم، وهو يدعم خاصية فلترة رهيبة تكون فعلياً بالتعاون مع مطوري التطبيقات..

وسأشرح لكم بالتفصيل كيف تتم عملية الفلترة حسب الجهاز المستخدم للبحث وذلك ابتداءً من تطوير أي تطبيق أو لعبة.

جميعنا يعرف أنه ليس جميع الأجهزة متماثلة في المواصفات، وأيضاً فإن التطبيقات بدورها لا تستخدم جميع ميزات الجهاز وإنما بعضها، وبعض التطبيقات مثل الألعاب الثقيلة تتطلب عتاداً معيناً لا يتواجد في جميع الأجهزة فبعضها يتطلب 2 غيغابايت رام على الأقل وبعضها لا يعمل سوى على نسخة أندرويد معينة، وبعض التطبيقات الأخرى تستخدم خاصيات في الكاميرا معينة قد لا تتواجد في جميع الأجهزة ولهذا السبب ظهرت الحاجة إلى عملية الفلترة  للحصول على أكبر توافقية بين الأجهزة والتطبيقات وتتم هذه العملية كالتالي:

في البداية عندما يقوم أي مطور تطبيقات بكتابة الكود الخاص بتطبيقه فعليه أن يقوم بالتصريح عن الميزات ونوع العتاد الذي يحتاجه تطبيقه ليعمل بشكل سلس ويقوم بذلك عن طريق Android Package Manager أو الحزمة الإدارية الخاصة بأندرويد والتي تحوي على العديد من التوابع والثوابت التي بإمكاننا استخدامها كمطوري تطبيقات لتعريف الميزات التي يحتاجها التطبيق مثل:

استدعاء ميزة البلوتوث: android.hardware.bluetooth

والتي تستخدم للدلالة على أن التطبيق يحتاج لميزة البلوتوث على الجهاز كي يعمل

استدعاء ميزة البصمة: android.hardware.fingerprint

تستخدم إذا كان التطبيق يحتاج إلى قارئ البصمة كي يعمل، أي أنه في حال كان الجهاز لا يحوي قارئ بصمة فإن التطبيق لن يظهر على هذا الجهاز وسأشرح لاحقاً كيف يتم ذلك.

ولكن هنالك بعض التطبيقات التي قد لا تحتاج لميزات معينة كي تعمل ولكنها تحتاجها لكي تعمل بشكل أفضل أو كامل، مثل ميزة البصمة فبعض التطبيقات تمنحنا القدرة على توثيق حسابنا داخل التطبيق من خلال البصمة وهي ميزة إضافية يعمل التطبيق بشكل كامل بدونها لكن إن أحببنا الاستفادة من هذه الميزة فيجب أن يحوي الجهاز على قارئ بصمة، ولكي يستطيع المبرمج تحديد هذا الأمر فإنه لدينا بعض التوابع التي تأخذ قيمتين إما True أو False بحيث أن True تستخدم للدلالة على أن التطبيق لن يعمل دون وجود هذه الخاصية أي في هذه الحالة لن يظهر التطبيق على الأجهزة التي لا تحمل هذه الميزة، أما بالنسبة ل False فإنها تعطي دلالة على أن التطبيق يعمل على الأجهزة التي لاتحوي هذه الخاصية ولكن يفضل أن تكون موجودة وبذلك فإن التطبيق يظهر عند أغلب المستخدمين.

إضافة إلى أنه هنالك بعض الميزات التي تحمل نسخاً متعددة مثل البلوتوث 5.0، فيمكننا أيضاً كمبرمجين ومطوري تطبيقات أن نحدد ماهي النسخة المدعومة والمطلوب وجودها في الجهاز كي يعمل التطبيق.

عندما يقوم أي مستخدم بفتح تطبيق غوغل بلاي، فإن المتجر يقوم بطلب لائحة بالميزات التي يحملها الجهاز على الصعيدين العتادي الفيزيائي وكذلك البرمجي وذلك من الحزمة الإدارية الخاصة بأندرويد عن طريق استدعاء ()getSystemAvailableFeatures

وفي نفس الوقت، عندما يقوم المبرمج بتحميل تطبيقه الخاص على متجر غوغل بلاي، فإن المتجر يقوم بفحص ملف ال Manifest الخاص به ويقوم بالبحث على الميزات التي يتطلبها التطبيق لكي يعمل بشكل كامل بالإضافة إلى بعض الميزات الأخرى وبعض المعلومات الإضافية، بعدها يقوم المتجر بتخزين هذه المعلومات بشكل داخلي كمعلومات إضافية عن التطبيق أو ما يسمى Metadata للاحقة الخاصة بتطبيقات الأندرويد .apk

وبذلك فإنه في كل مرة نقوم بالبحث عن تطبيق ما على متجر غوغل بلاي فإنه يقوم بمقارنة ميزات الجهاز الذي حصل عليها المتجر من خلال استدعاء ()getSystemAvailableFeatures كما ذكرنا سابقاً مع ال Metadata الخاصة بكل تطبيق، فإن تحقق وجود جميع الميزات المطلوبة من قبل التطبيق في الجهاز فإن المتجر يعرض لنا هذا التطبيق لكي نستطيع تحميله، وإلا فلن يظهر لدينا التطبيق داخل المتجر.

بشكل عام كانت هذه لمحة بسيطة عن هذا الموضوع، وبالطبع فإن أي مهتم بإمكانه التوجه إلى موقع مطوري غوغل وذلك للحصول على معلومات موسعة حول هذا الموضوع، لكني لم أشأ تحويل المقال إلى درس تعليمي برمجي وذكر جميع الميزات المدعومة وكذلك نسخ ال Api المختلفة وغيرها.

أخبروني رأيكم، هل صادفتم هذه الحادثة من قبل؟ وهل ترغبون بالمزيد من المقالات حول تطوير تطبيقات الأندرويد بشكل مختصر ومبسط؟

أخبروني رأيكم في التعليقات..    

قد يعجبك أيضًا
عدد التعليقات 9
  1. حربي حامد يقول

    أولا كل عام وانتي بخير وعيد سعيد. ونعم صادفت هذه الحالة كثيرا والان فقط عرفت السبب ولهذا نحتاج إلى هذه الشروحات كثيرا

    1. دينا غازي يقول

      وأنت بخير..
      شكرا لك…

  2. يوسف أنور يقول

    كل عام وانت بألف خير ويوجد هنالك سبباً آخر اقل تقنياً وهو ان بعض البرامج تتوفر في متجر يخص بلد دون الاخر ويتطلب الامر الاتصال بواسطة VPN للحصول على عنوان انترنت خاص بالبلد المطلوب.

    1. دينا غازي يقول

      وأنت بخير، أوافقك تماماً في ذلك إلا أنه سبب أقل شيوعاً في متجر غوغل بلاي مقارنة بغيره من المتاجر خارج نطاق التطبيقات، لكنه موجود

  3. Deya يقول

    طبعا يوجد ايضا فلترة حسب الدول

  4. KUN FREEMAN يقول

    مقال جميل ..

  5. M0hamedAlsheikh يقول

    كل عام وانتي بخير،،، شكرا 🙂

  6. يسموّني ... Fahd يقول

    اخت دينا , من زمان نبحث عن شخص مبدع في كتابة تقارير ملهمه وذات خبرة في مجال الاندرويد

    شكرا لوجودك ولدعمك للمحتوى العربي

  7. abdalla يقول

    كيفية تحديث اصدار اندوريج 4.3 ل سامسونج جلاكسى تاب 10 2014 الى اصدار حديث حيث ان معظم التطبيقات لا تنزل الى التاب بكون ان التاب لا تتوافق مع هذا التطبيق ولا تظهر حتى لى فى المتجر

اترك ردًا

لن يتم نشر عنوان بريدك الإلكتروني.