وقتی صحبت از اندروید میشود، خیلیها ناخودآگاه به فروشگاه برنامکهای گوگل (Google Play Store)، نقشه (Map)، جیمیل، یوتیوب و دیگر سرویسهای گوگل فکر میکنند. این تصور چندان عجیب نیست؛ چون سالهاست بیشتر گوشیهای اندرویدی با همین مجموعه خدمات به دست کاربران میرسند. با این حال، واقعیت این است که اندروید و سرویسهای گوگل یک بسته ناگسستنی نیستند. به عبارت دقیقتر، هسته اصلی اندروید در قالب پروژه متنباز AOSP توسعه و ارائه میشود و میتواند بدون سرویسهای گوگل هم روی یک دستگاه اجرا شود. آن چیزی که تجربه آشنای گوشیهای اندرویدی امروزی را کامل میکند، مجموعهای جداگانه به نام Google Mobile Services یا GMS است. برای کاربران عادی شاید این تفاوت چندان مهم نباشد، اما برای تولیدکنندگان گوشی، سازندگان تجهیزات سازمانی، توسعهدهندگان سیستمعامل و شرکتهایی که قصد دارند اندروید را برای یک محصول خاص سفارشی کنند، تفاوت میان AOSP و GMS موضوعی اساسی است.
مجموعه خدمات گوگل (GMS) چیست؟
اصطلاح GMS سرنام عبارت Google Mobile Services است؛ مجموعهای از برنامهها، APIها و سرویسهای اختصاصی گوگل که روی بسیاری از دستگاههای اندرویدی نصب میشوند. برنامههایی مثل Google Play، Gmail، Google Maps، YouTube و Chrome بخشی از همین مجموعه هستند. البته اهمیت GMS فقط به این اپلیکیشنهای شناختهشده محدود نمیشود. بخش مهمتری از GMS در پشت صحنه فعالیت میکند. بسیاری از اپلیکیشنهای اندرویدی برای قابلیتهایی مثل موقعیت مکانی، ارسال اعلان، ورود با حساب گوگل، نقشه، پرداخت یا بررسی امنیت دستگاه از سرویسهای گوگل استفاده میکنند. به همین دلیل ممکن است یک برنامه روی دستگاهی بدون GMS نصب شود، اما بعضی قابلیتهایش بهدرستی کار نکند. نکته مهم اینجاست که GMS برخلاف خود AOSP متنباز نیست و تولیدکنندگان نمیتوانند کد آن را مشاهده کنند یا آزادانه آن را روی هر دستگاهی نصب و عرضه کنند.
پس AOSP چه تفاوتی با GMS دارد؟
برای درک بهتر ماجرا، بد نیست اندروید را به دو بخش جدا از هم نگاه کنیم. بخش اول Android Open Source Project یا AOSP است. AOSP پایه متنباز اندروید محسوب میشود و کد آن در اختیار تولیدکنندگان و توسعهدهندگان قرار دارد. یک شرکت میتواند AOSP را دریافت کند، آن را برای سختافزار موردنظر خود توسعه دهد، ظاهر و امکانات سیستم را تغییر دهد و حتی بخشهای مختلف سیستمعامل را متناسب با نیاز محصول خود بازطراحی کند. اما GMS در لایه دیگری قرار میگیرد. سرویسها و اپلیکیشنهای گوگل مالکیت اختصاصی دارند و استفاده رسمی از آنها تابع الزامات و قراردادهای گوگل است. به همین دلیل وجود اندروید الزاماً به معنی وجود Google Play یا سایر سرویسهای گوگل نیست. ممکن است دستگاهی کاملاً بر پایه اندروید ساخته شده باشد، اما هیچیک از برنامههای گوگل را روی خود نداشته باشد.
چه سرویسهایی در GMS قرار میگیرند؟
کاربران بیشتر GMS را با برنامههای معروف گوگل میشناسند؛ برنامههایی مثل: * Google Play Store * Google Play Services (GMS Core) * Google Maps * Gmail * Google Chrome * YouTube * Google Drive * Google Photos * Google Calendar * Google Meet اما همانطور که گفتیم، بخش مهم GMS مربوط به سرویسهایی است که مستقیماً دیده نمیشوند. مجموعه Google Play Services (که با اصطلاح GMS Core نیز شناخته میشود) یکی از مهمترین اجزای این مجموعه است. بسیاری از اپلیکیشنها برای ارائه امکانات مختلف به آن وابستهاند. برای مثال، یک برنامه ممکن است برای پیدا کردن موقعیت کاربر، نمایش نقشه، ارسال اعلان یا ورود با حساب گوگل از APIهای وابسته به GMS استفاده کند. در نتیجه، حذف GMS لزوماً باعث از کار افتادن اندروید نمیشود، اما ممکن است روی عملکرد بعضی اپلیکیشنها اثر بگذارد.