چرا حجم یا نسخه برخی برنامهها در گوگل پلی و بازار متفاوت است؟
آیتیایران- تحریمهای تکنولوژی آمریکا علیه ایران در چند سال اخیر باعث شده تا کاربران ایرانی نتوانند از برخی برنامهها و بازیهای توسعهدهندگان خارجی استفاده کنند. به دنبال این اتفاق کافه بازار برای رفع نیاز کاربران خود، بعضی از این برنامههای خارجی پرطرفدار را که رایگان ارائه میشوند، بهصورت مستقیم و کامل از گوگل پلی (Google Play) دریافت و منتشر میکند.
با این همه گاهی اوقات ممکن است که حجم یا نسخه یک برنامه در بازار با گوگلی پلی متفاوت باشد، در واقع با وجود یکسان بودن امضا یک برنامه در گوگل پلی و بازار، حجم یا شماره نسخه آن برنامه در این دو فروشگاه اندرویدی با یکدیگر متفاوت است، اما علت این اتفاق از کجا نشات میگیرد؟
مناطق جغرافیایی متفاوت
کافه بازار دلایل مختلفی را برای این اتفاق اعلام میکند. آنطور که بازار میگوید در بعضی موارد که حجم با نسخه یک برنامه در بازار و گوگل پلی با هم متفاوت است، میتواند به این خاطر باشد که گوگل پلی با درنظرگرفتن منطقهی جغرافیایی کاربران، فایل نصب متفاوتی را در اختیار آنها قرار میدهد. بنابراین، در یک برنامهی یکسان ممکن است بستهای که به کاربران آمریکایی ارائه میشود، با بستهای که به کاربران منطقهی خاورمیانه ارائه میشود، اختلاف حجم داشته باشد.
براساس توضیحات بازار، این پلتفرم به طور معمول برنامههای خارجی را از گوگل پلی آمریکا دریافت میکند، درحالیکه کاربران ایرانی گوگلپلی نسخه مخصوص خاورمیانه را میبینند. بنابراین، این امکان وجود دارد که روی گوشی کاربر، حجم یک برنامه در گوگل پلی متفاوت از حجم آن در بازار باشد.
بازار تاکید میکند که نسخه بروزرسانیشده برنامهها نیز برای مناطق جغرافیایی مختلف در بازههای زمانی متفاوتی ارائه میشود. بازارا در این زمینه مثالی زده و گفته است که گاهی گوگل پلی نسخهای بهروزرسانی شده از برنامهای را برای کاربران آمریکایی ارائه میکند، درحالیکه کاربران خاورمیانه بهصورت همزمان به این نسخه دسترسی ندارند و ممکن است بعد از مدتی آن را دریافت کنند. درنتیجه، گاهی پیش میآید که بازار بروزرسانی منتشرشده یک برنامه در آمریکا را به کاربرانش ارائه میدهد، درحالیکه کاربران ایرانی هنوز از گوگلپلی آن بروزرسانی را دریافت نکرده باشند.
یکیدیگر از دلایل این تفاوت میتواند به این موضوع باز گردد که براساس ادعای بازار گاهی اوقات، گوگلپلی برای تست نسخهای از یک برنامه، آن را به تعدادی از کاربران خود ارائه میدهد. درواقع این نسخههای آزمایشی در اختیار تمام کاربران قرار نمیگیرد، بنابراین ممکن است در بعضی دستگاهها نسخهی بروزرسانیشدهی یک برنامه نمایش داده شود، اما در برخی دیگر این نسخه قابل دسترسی نباشد.
نسخه مناسب برای دستگاه مناسب
بازار در این زمینه دلیل دیگری هم مطرح کرده و توضیح داده که گوگل به توسعهدهندگان اجازه میدهد چندین APK را در قالب یک برنامه ارائه دهند؛ سپس هنگام نصب برنامه، باتوجه به پیکربندی دستگاه، APK مناسب را انتخاب میکند و در اختیار کاربر قرار میدهد. این انتخاب براساس معیارهای متفاوتی ازجمله معماری پردازنده، platform version، سایز صفحهی نمایش و … دستگاه کاربر صورت میگیرد. گاهی ممکن است ویژگیهایی که گوگل از مشخصات گوشی کاربر مدنظر قرار میدهد، با ویژگیهای موردنظر بازار تفاوت داشته باشد یا به عبارت دیگر، گوگلپلی و بازار نسخههای متفاوتی از یک برنامه را برای دستگاه کاربر مناسب بدانند. هر دوی این نسخهها روی دستگاه کاربر بهدرستی کار میکند و فقط معیارهای انتخاب این دو فروشگاه اندرویدی با یکدیگر متفاوت است. درنتیجه، بستهای متفاوت با حجمی متفاوت در اختیار کاربران قرار میگیرد.
طبق مثالی که در این زمینه بازار زده است در مواردی توسعهدهنده نسخههایی از برنامهی خود را با dpiهای مختلف، در کنار یک نسخهی nodpi روی گوگلپلی قرار میدهد. از آنجایی که dpi از جمله خصوصیاتی است که گوگلپلی مدنظر قرار میدهد و ممکن است از جمله معیارهای مورد نظر بازار نباشد، گوگلپلی نسخهای با یک dpi خاص را در اختیار کاربر قرار میدهد، اما بازار نسخهی nodpi را مناسب میداند، که البته هر دوی این نسخهها بهدرستی روی گوشی کاربر کار خواهد کرد.
کسب اطمینان از دریافت برنامهِ بدون دستکاری
با تمام اینها برخی کاربران ممکن است با توجه به حجم برنامههای آلوده و انتشار لینکهای مختلف برای دریافت یک برنامه به این موضوع شک داشته باشند که برنامه اصلی را دریافت نکردهاند و حتی اگر برنامهای را از بازار دریافت میکنند، آن برنامه به نوعی دستکاری شده باشد. در این شرایط کاربران چگونه میتوانند مطمئن شوند برنامهای که از بازار دریافت میکنند دستکاری نشده است؟
بازار در این زمینه اعلام میکند که هنگام ارائهی هر برنامهی اندرویدی و انتشار برنامه در بازار APK باید با استفاده از یک کلید امضا شود. به گفته بازار این امضا باعث میشود که فقط توسعهدهندهی اصلی برنامه قادر به بارگذاری بستههای جدید (update) برای برنامه باشد. بنابراین، اگر امضای (sign) برنامهی دریافتی از گوگلپلی و بازار را بررسی و مقایسه کنید، متوجه میشوید که این امضا در هر دو برنامه یکسان است یا به عبارت دیگر، هر دو برنامه توسط یک شخص توسعه داده شده و یکسان هستند. این مسئله بسیار اهمیت دارد، زیرا اگر امضا یکسان نباشد، اندروید به شما اجازه بروزرسانی برنامه را نمیدهد و از سوی package installer دستگاه خود با اخطار مواجه میشوید. در بیشتر نسخههای اندرویدی این خطا با توضیحات زیر نمایش داده میشود:
«An existing package by the same name with a conflicting signature is already installed»
بازار با این توضیحات تایید میکند که در این شرایط، امکان بارگذاری نسخهی دیگری از یک برنامه، توسط شخصی غیر از توسعهدهندهی اصلی وجود ندارد.