این راهنما توضیح میدهد که چگونه پلتفرم Android و Google Play بهروزرسانیهای برنامهها را مدیریت میکنند و گزینههای مختلفی را برای توسعهدهندگانی که برنامههای خود را در فروشگاههای برنامه متعدد منتشر میکنند، مورد بحث قرار میدهد.
اندروید چگونه بهروزرسانیهای برنامه را مدیریت میکند
هر برنامه Android یک شناسه برنامه منحصر به فرد دارد که شبیه نام بسته جاوا یا Kotlin است، مانند com.example.myapp
. این شناسه به طور منحصربهفرد هر برنامه را در دستگاه شناسایی میکند. دستگاههای Android میتوانند هر بار فقط یک برنامه با شناسه برنامه مشخص نصب شده داشته باشند.
برای اینکه بروزرسانی توسط پلتفرم اندروید پذیرفته شود، باید شرایط زیر وجود داشته باشد:
- شناسه برنامه به روز رسانی باید با برنامه نصب شده یکسان باشد.
- گواهی امضای بهروزرسانی باید با گواهی امضای برنامه نصبشده یکسان باشد یا باید حاوی یک اثبات چرخش معتبر باشد.
- کد نسخه به روز رسانی باید بالاتر یا برابر با کد نسخه برنامه نصب شده باشد.
- در برخی موارد، کاربر ممکن است نیاز به پذیرش بهروزرسانی داشته باشد.
توجه داشته باشید که زمانی که بهروزرسانیها دارای گواهی امضای یکسان و کد نسخه یکسان یا بالاتر هستند، هیچ پیشگیری داخلی در برابر بهروزرسانی نصبکنندههای مختلف برنامه وجود ندارد.
برای نصب برنامهای که شرایط بالا را ندارد، کاربر باید ابتدا نسخه نصبشده فعلی را حذف نصب کند که تمام دادههای برنامه را از دستگاه پاک میکند.
چگونه Google Play برنامه ها را به روز می کند
رویکرد Google Play برای بهروزرسانی برنامهها بر اساس اصول زیر است:
- کاربران را به روز نگه دارید. به روز نگه داشتن برنامه ها برای ایمن نگه داشتن کاربران از مشکلات امنیتی و بهره مندی از آخرین پیشرفت های ویژگی توصیه می شود.
- به انتخاب کاربر احترام بگذارید. Google Play برنامههایی را که با حسابهای کاربران مرتبط هستند و بر اساس اولویتهای بهروزرسانی انتخابی آنها، مانند مجاز یا غیرمجاز کردن استفاده از دادههای اندازهگیری شده، بهروزرسانی میکند.
- به انتخاب توسعه دهنده احترام بگذارید. Google Play هنگام تعیین بهروزرسانیهای برنامه، از گزینههای پیکربندی توسعهدهندگان استفاده میکند.
- از هدر رفتن منابع خودداری کنید. با بهینهسازی هنگام دانلود بهروزرسانیها، عمر باتری را حفظ کنید و با استفاده از تکنیکهایی مانند فشردهسازی و وصلهسازی، استفاده از دادهها را به حداقل برسانید.
برای برنامه معینی که روی دستگاه نصب شده است، Google Play برنامه را در صورت داشتن شرایط زیر به روز می کند:
- این اپلیکیشن با همان شناسه اپلیکیشن در گوگل پلی منتشر شده است.
- گواهی امضای برنامه منتشر شده با گواهی امضای نسخه نصب شده فعلی مطابقت دارد یا حاوی یک اثبات چرخش معتبر است.
- این برنامه بخشی از کتابخانه کاربر است یا توسط یک OEM از قبل بارگذاری شده است.
- این برنامه برای این کاربر و این دستگاه، با توجه به گزینه های هدف گذاری تعریف شده توسط توسعه دهنده، در دسترس است.
- برنامه نصب شده در مقایسه با نسخه موجود در Google Play قدیمی است.
تا زمانی که این شرایط رعایت شود، Google Play می تواند برنامه را به روز کند. بخش های فرعی زیر جزئیات برخی از شرایط ذکر شده را ارائه می دهد.
توجه داشته باشید که زمانهای دیگری وجود دارد که Google Play محتوای برنامه را دانلود میکند یا از طرف توسعهدهندگان بدون تغییر کد نسخه Android، از فایلهای باینری برنامه نگهداری میکند - به عنوان مثال، هنگام تکمیل بارگیریهای جزئی یا بارگیری تقسیمهای درخواستی .
در گوگل پلی منتشر شده است
Google Play از شناسه برنامه برای شناسایی منحصر به فرد برنامه های منتشر شده در Google Play استفاده می کند. اگر شناسه برنامه نصب شده با شناسه برنامه یک برنامه منتشر شده در Google Play مطابقت داشته باشد، این شرط رعایت می شود.
بخشی از کتابخانه کاربر
اگر یکی از موارد زیر درست باشد این شرط برقرار است:
- هر حساب Google فعال در دستگاه قبلاً با ضربه زدن روی دکمه نصب یا خرید در Google Play برنامه را به دست آورده است.
- OEM برنامه را به عنوان بخشی از تصویر سیستم از قبل بارگذاری کرد.
کاربران همچنین می توانند به صورت دستی برنامه ها را از کتابخانه های خود حذف کنند.
تاریخ گذشته است
Google Play با مشاهده کد نسخه، قدیمی بودن برنامه نصب شده در دستگاه را تعیین میکند—اگر نسخه موجود برای دانلود در Google Play کد نسخه بالاتری نسبت به نسخه نصبشده داشته باشد، Google Play برنامه نصبشده را خارج از سیستم میداند. تاریخ
برنامهها در فروشگاههای اپلیکیشن متعدد
هنگامی که یک برنامه را در چندین فروشگاه برنامه منتشر می کنید، چند راه وجود دارد که می توانید به روز رسانی های بین فروشگاهی را کنترل کنید. بخش های زیر به این گزینه ها و مزایا و معایب احتمالی آنها می پردازد.
جلوگیری از بهروزرسانیهای بین فروشگاهی
ممکن است بخواهید از انجام هر گونه به روز رسانی برنامه های متقابل فروشگاهی برای هر برنامه فروشگاهی برای برنامه شما جلوگیری کنید. اگر محتوای برنامه شما در هر فروشگاه برنامه متفاوت است، ممکن است این کار را انجام دهید. این را می توان با انتشار برنامه با دو شناسه برنامه متفاوت یا با انتشار برنامه با شناسه برنامه مشابه و دو کلید امضای متفاوت به دست آورد.
ممکن است بخواهید استفاده مجدد از کلید امضای خود را به حداقل برسانید تا ریسک ناشی از به خطر افتادن کلید را کاهش دهید، و بنابراین از یک کلید امضای برنامه متفاوت برای هر فروشگاه برنامه استفاده کنید. انجام این کار از بروز رسانی های بین فروشگاهی جلوگیری می کند.
صرف نظر از اینکه کدام رویکرد را انتخاب میکنید، Android برنامههای بدون شناسه برنامه و کلید امضای مشابه را ناسازگار میداند. کاربری که مایل به جابجایی از یک فروشگاه به فروشگاه دیگر است باید برنامه نصب شده را حذف کند - که همه داده های مرتبط با آن برنامه را حذف می کند - و دوباره از فروشگاه دیگر نصب کند.
بهروزرسانیهای بین فروشگاهی را مجاز کنید
ممکن است بخواهید به هر فروشگاه برنامه اجازه دهید بهروزرسانیهای برنامههای متقابل فروشگاهی را برای برنامه شما انجام دهد. اگر برنامه خود را با محتوای یکسان در همه فروشگاه های برنامه توزیع می کنید و می خواهید به روز بودن کاربران را در اولویت قرار دهید، می توانید این کار را انجام دهید. تا زمانی که از شناسه برنامه و کلیدهای امضای یکسانی در همه فروشگاههای برنامه که برنامه خود را منتشر میکنید استفاده میکنید، هر فروشگاه برنامه میتواند بدون توجه به اینکه کاربر ابتدا برنامه را از کجا دانلود کرده است، نصبهای برنامه شما را بهروزرسانی کند.
با این حال، این میتواند منجر به رفتار غیرقابل پیشبینی برای کاربران شما شود، بسته به اینکه هر فروشگاه برنامه چگونه بهروزرسانیهای برنامههای بین فروشگاهی را انتخاب میکند. برای مثال، یک کاربر ممکن است بهروزرسانیهای یک فروشگاه را غیرفعال کند، اما متوجه نباشد که فروشگاه دیگری ممکن است به ارائه بهروزرسانیها ادامه دهد.
اگر قبلاً بهروزرسانیهای بین فروشگاهی را مجاز کردهاید، اما میخواهید زمانی که منبع بهروزرسانی خاصی در دستگاه وجود دارد ترجیح دهید، میتوانید برنامه خود را با کد نسخه بالاتر در فروشگاه برنامه دلخواه خود منتشر کنید و به انتشار با کدهای نسخه پایینتر در سایر فروشگاهها ادامه دهید. فروشگاه های اپلیکیشن هنگامی که بهروزرسانی کد نسخه بالاتر از منبع ترجیحی نصب شد، فروشگاههای برنامه دیگر نمیتوانند در آن دستگاه بهروزرسانی متقابل انجام دهند.
،این راهنما توضیح میدهد که چگونه پلتفرم Android و Google Play بهروزرسانیهای برنامهها را مدیریت میکنند و گزینههای مختلفی را برای توسعهدهندگانی که برنامههای خود را در فروشگاههای برنامه متعدد منتشر میکنند، مورد بحث قرار میدهد.
اندروید چگونه بهروزرسانیهای برنامه را مدیریت میکند
هر برنامه Android یک شناسه برنامه منحصر به فرد دارد که شبیه نام بسته جاوا یا Kotlin است، مانند com.example.myapp
. این شناسه به طور منحصربهفرد هر برنامه را در دستگاه شناسایی میکند. دستگاههای Android میتوانند هر بار فقط یک برنامه با شناسه برنامه مشخص نصب شده داشته باشند.
برای اینکه بروزرسانی توسط پلتفرم اندروید پذیرفته شود، باید شرایط زیر وجود داشته باشد:
- شناسه برنامه به روز رسانی باید با برنامه نصب شده یکسان باشد.
- گواهی امضای بهروزرسانی باید با گواهی امضای برنامه نصبشده یکسان باشد یا باید حاوی یک اثبات چرخش معتبر باشد.
- کد نسخه به روز رسانی باید بالاتر یا برابر با کد نسخه برنامه نصب شده باشد.
- در برخی موارد، کاربر ممکن است نیاز به پذیرش بهروزرسانی داشته باشد.
توجه داشته باشید که زمانی که بهروزرسانیها دارای گواهی امضای یکسان و کد نسخه یکسان یا بالاتر هستند، هیچ پیشگیری داخلی در برابر بهروزرسانی نصبکنندههای مختلف برنامه وجود ندارد.
برای نصب برنامهای که شرایط بالا را ندارد، کاربر باید ابتدا نسخه نصبشده فعلی را حذف نصب کند که تمام دادههای برنامه را از دستگاه پاک میکند.
چگونه Google Play برنامه ها را به روز می کند
رویکرد Google Play برای بهروزرسانی برنامهها بر اساس اصول زیر است:
- کاربران را به روز نگه دارید. به روز نگه داشتن برنامه ها برای ایمن نگه داشتن کاربران از مشکلات امنیتی و بهره مندی از آخرین پیشرفت های ویژگی توصیه می شود.
- به انتخاب کاربر احترام بگذارید. Google Play برنامههایی را که با حسابهای کاربران مرتبط هستند و بر اساس اولویتهای بهروزرسانی انتخابی آنها، مانند مجاز یا غیرمجاز کردن استفاده از دادههای اندازهگیری شده، بهروزرسانی میکند.
- به انتخاب توسعه دهنده احترام بگذارید. Google Play هنگام تعیین بهروزرسانیهای برنامه، از گزینههای پیکربندی توسعهدهندگان استفاده میکند.
- از هدر رفتن منابع خودداری کنید. با بهینهسازی هنگام دانلود بهروزرسانیها، عمر باتری را حفظ کنید و با استفاده از تکنیکهایی مانند فشردهسازی و وصلهسازی، استفاده از دادهها را به حداقل برسانید.
برای برنامه معینی که روی دستگاه نصب شده است، Google Play برنامه را در صورت داشتن شرایط زیر به روز می کند:
- این اپلیکیشن با همان شناسه اپلیکیشن در گوگل پلی منتشر شده است.
- گواهی امضای برنامه منتشر شده با گواهی امضای نسخه نصب شده فعلی مطابقت دارد یا حاوی یک اثبات چرخش معتبر است.
- این برنامه بخشی از کتابخانه کاربر است یا توسط یک OEM از قبل بارگذاری شده است.
- این برنامه برای این کاربر و این دستگاه، با توجه به گزینه های هدف گذاری تعریف شده توسط توسعه دهنده، در دسترس است.
- برنامه نصب شده در مقایسه با نسخه موجود در Google Play قدیمی است.
تا زمانی که این شرایط رعایت شود، Google Play می تواند برنامه را به روز کند. بخش های فرعی زیر جزئیات برخی از شرایط ذکر شده را ارائه می دهد.
توجه داشته باشید که زمانهای دیگری وجود دارد که Google Play محتوای برنامه را دانلود میکند یا از طرف توسعهدهندگان بدون تغییر کد نسخه Android، از فایلهای باینری برنامه نگهداری میکند - به عنوان مثال، هنگام تکمیل بارگیریهای جزئی یا بارگیری تقسیمهای درخواستی .
در گوگل پلی منتشر شده است
Google Play از شناسه برنامه برای شناسایی منحصر به فرد برنامه های منتشر شده در Google Play استفاده می کند. اگر شناسه برنامه نصب شده با شناسه برنامه یک برنامه منتشر شده در Google Play مطابقت داشته باشد، این شرط رعایت می شود.
بخشی از کتابخانه کاربر
اگر یکی از موارد زیر درست باشد این شرط برقرار است:
- هر حساب Google فعال در دستگاه قبلاً با ضربه زدن روی دکمه نصب یا خرید در Google Play برنامه را به دست آورده است.
- OEM برنامه را به عنوان بخشی از تصویر سیستم از قبل بارگذاری کرد.
کاربران همچنین می توانند به صورت دستی برنامه ها را از کتابخانه های خود حذف کنند.
تاریخ گذشته است
Google Play با مشاهده کد نسخه، قدیمی بودن برنامه نصب شده در دستگاه را تعیین میکند—اگر نسخه موجود برای دانلود در Google Play کد نسخه بالاتری نسبت به نسخه نصبشده داشته باشد، Google Play برنامه نصبشده را خارج از سیستم میداند. تاریخ
برنامه های موجود در فروشگاه های برنامه های متعدد
هنگامی که یک برنامه را در چندین فروشگاه برنامه منتشر می کنید، چند راه وجود دارد که می توانید به روز رسانی های بین فروشگاهی را کنترل کنید. بخش های زیر به این گزینه ها و مزایا و معایب احتمالی آنها می پردازد.
جلوگیری از بهروزرسانیهای بین فروشگاهی
ممکن است بخواهید از انجام هر گونه به روز رسانی برنامه های متقابل فروشگاهی برای هر برنامه فروشگاهی برای برنامه شما جلوگیری کنید. اگر محتوای برنامه شما در هر فروشگاه برنامه متفاوت است، ممکن است این کار را انجام دهید. این را می توان با انتشار برنامه با دو شناسه برنامه متفاوت یا با انتشار برنامه با شناسه برنامه مشابه و دو کلید امضای متفاوت به دست آورد.
ممکن است بخواهید استفاده مجدد از کلید امضای خود را به حداقل برسانید تا ریسک ناشی از به خطر افتادن کلید را کاهش دهید، و بنابراین از یک کلید امضای برنامه متفاوت برای هر فروشگاه برنامه استفاده کنید. انجام این کار از بروز رسانی های بین فروشگاهی جلوگیری می کند.
صرف نظر از اینکه کدام رویکرد را انتخاب میکنید، Android برنامههای بدون شناسه برنامه و کلید امضای مشابه را ناسازگار میداند. کاربری که مایل به جابجایی از یک فروشگاه به فروشگاه دیگر است باید برنامه نصب شده را حذف کند - که همه داده های مرتبط با آن برنامه را حذف می کند - و دوباره از فروشگاه دیگر نصب کند.
بهروزرسانیهای بین فروشگاهی را مجاز کنید
ممکن است بخواهید به هر فروشگاه برنامه اجازه دهید بهروزرسانیهای برنامههای متقابل فروشگاهی را برای برنامه شما انجام دهد. اگر برنامه خود را با محتوای یکسان در همه فروشگاه های برنامه توزیع می کنید و می خواهید به روز بودن کاربران را در اولویت قرار دهید، می توانید این کار را انجام دهید. تا زمانی که از شناسه برنامه و کلیدهای امضای یکسانی در همه فروشگاههای برنامه که برنامه خود را منتشر میکنید استفاده میکنید، هر فروشگاه برنامه میتواند بدون توجه به اینکه کاربر ابتدا برنامه را از کجا دانلود کرده است، نصبهای برنامه شما را بهروزرسانی کند.
با این حال، این میتواند منجر به رفتار غیرقابل پیشبینی برای کاربران شما شود، بسته به اینکه هر فروشگاه برنامه چگونه بهروزرسانیهای برنامههای بین فروشگاهی را انتخاب میکند. برای مثال، یک کاربر ممکن است بهروزرسانیهای یک فروشگاه را غیرفعال کند، اما متوجه نباشد که فروشگاه دیگری ممکن است به ارائه بهروزرسانیها ادامه دهد.
اگر قبلاً بهروزرسانیهای بین فروشگاهی را مجاز کردهاید، اما میخواهید زمانی که منبع بهروزرسانی خاصی در دستگاه وجود دارد ترجیح دهید، میتوانید برنامه خود را با کد نسخه بالاتر در فروشگاه برنامه دلخواه خود منتشر کنید و به انتشار با کدهای نسخه پایینتر در سایر فروشگاهها ادامه دهید. فروشگاه های اپلیکیشن هنگامی که بهروزرسانی کد نسخه بالاتر از منبع ترجیحی نصب شد، فروشگاههای برنامه دیگر نمیتوانند در آن دستگاه بهروزرسانی متقابل انجام دهند.
،این راهنما توضیح میدهد که چگونه پلتفرم Android و Google Play بهروزرسانیهای برنامهها را مدیریت میکنند و گزینههای مختلفی را برای توسعهدهندگانی که برنامههای خود را در فروشگاههای برنامه متعدد منتشر میکنند، مورد بحث قرار میدهد.
اندروید چگونه بهروزرسانیهای برنامه را مدیریت میکند
هر برنامه Android یک شناسه برنامه منحصر به فرد دارد که شبیه نام بسته جاوا یا Kotlin است، مانند com.example.myapp
. این شناسه به طور منحصربهفرد هر برنامه را در دستگاه شناسایی میکند. دستگاههای Android میتوانند هر بار فقط یک برنامه با شناسه برنامه مشخص نصب شده داشته باشند.
برای اینکه بروزرسانی توسط پلتفرم اندروید پذیرفته شود، باید شرایط زیر وجود داشته باشد:
- شناسه برنامه به روز رسانی باید با برنامه نصب شده یکسان باشد.
- گواهی امضای بهروزرسانی باید با گواهی امضای برنامه نصبشده یکسان باشد یا باید حاوی یک اثبات چرخش معتبر باشد.
- کد نسخه به روز رسانی باید بالاتر یا برابر با کد نسخه برنامه نصب شده باشد.
- در برخی موارد، کاربر ممکن است نیاز به پذیرش بهروزرسانی داشته باشد.
توجه داشته باشید که زمانی که بهروزرسانیها دارای گواهی امضای یکسان و کد نسخه یکسان یا بالاتر هستند، هیچ پیشگیری داخلی در برابر بهروزرسانی نصبکنندههای مختلف برنامه وجود ندارد.
برای نصب برنامهای که شرایط بالا را ندارد، کاربر باید ابتدا نسخه نصبشده فعلی را حذف نصب کند که تمام دادههای برنامه را از دستگاه پاک میکند.
چگونه Google Play برنامه ها را به روز می کند
رویکرد Google Play برای بهروزرسانی برنامهها بر اساس اصول زیر است:
- کاربران را به روز نگه دارید. به روز نگه داشتن برنامه ها برای ایمن نگه داشتن کاربران از مشکلات امنیتی و بهره مندی از آخرین پیشرفت های ویژگی توصیه می شود.
- به انتخاب کاربر احترام بگذارید. Google Play برنامههایی را که با حسابهای کاربران مرتبط هستند و بر اساس اولویتهای بهروزرسانی انتخابی آنها، مانند مجاز یا غیرمجاز کردن استفاده از دادههای اندازهگیری شده، بهروزرسانی میکند.
- به انتخاب توسعه دهنده احترام بگذارید. Google Play هنگام تعیین بهروزرسانیهای برنامه، از گزینههای پیکربندی توسعهدهندگان استفاده میکند.
- از هدر رفتن منابع خودداری کنید. با بهینهسازی هنگام دانلود بهروزرسانیها، عمر باتری را حفظ کنید و با استفاده از تکنیکهایی مانند فشردهسازی و وصلهسازی، استفاده از دادهها را به حداقل برسانید.
برای برنامه معینی که روی دستگاه نصب شده است، Google Play برنامه را در صورت داشتن شرایط زیر به روز می کند:
- این اپلیکیشن با همان شناسه اپلیکیشن در گوگل پلی منتشر شده است.
- گواهی امضای برنامه منتشر شده با گواهی امضای نسخه نصب شده فعلی مطابقت دارد یا حاوی یک اثبات چرخش معتبر است.
- این برنامه بخشی از کتابخانه کاربر است یا توسط یک OEM از قبل بارگذاری شده است.
- این برنامه برای این کاربر و این دستگاه، با توجه به گزینه های هدف گذاری تعریف شده توسط توسعه دهنده، در دسترس است.
- برنامه نصب شده در مقایسه با نسخه موجود در Google Play قدیمی است.
تا زمانی که این شرایط رعایت شود، Google Play می تواند برنامه را به روز کند. بخش های فرعی زیر جزئیات برخی از شرایط ذکر شده را ارائه می دهد.
توجه داشته باشید که زمانهای دیگری وجود دارد که Google Play محتوای برنامه را دانلود میکند یا از طرف توسعهدهندگان بدون تغییر کد نسخه Android، از فایلهای باینری برنامه نگهداری میکند - به عنوان مثال، هنگام تکمیل بارگیریهای جزئی یا بارگیری تقسیمهای درخواستی .
در گوگل پلی منتشر شده است
Google Play از شناسه برنامه برای شناسایی منحصر به فرد برنامه های منتشر شده در Google Play استفاده می کند. اگر شناسه برنامه نصب شده با شناسه برنامه یک برنامه منتشر شده در Google Play مطابقت داشته باشد، این شرط رعایت می شود.
بخشی از کتابخانه کاربر
اگر یکی از موارد زیر درست باشد این شرط برقرار است:
- هر حساب Google فعال در دستگاه قبلاً با ضربه زدن روی دکمه نصب یا خرید در Google Play برنامه را به دست آورده است.
- OEM برنامه را به عنوان بخشی از تصویر سیستم از قبل بارگذاری کرد.
کاربران همچنین می توانند به صورت دستی برنامه ها را از کتابخانه های خود حذف کنند.
تاریخ گذشته است
Google Play با مشاهده کد نسخه، قدیمی بودن برنامه نصب شده در دستگاه را تعیین میکند—اگر نسخه موجود برای دانلود در Google Play کد نسخه بالاتری نسبت به نسخه نصبشده داشته باشد، Google Play برنامه نصبشده را خارج از سیستم میداند. تاریخ
برنامهها در فروشگاههای اپلیکیشن متعدد
هنگامی که یک برنامه را در چندین فروشگاه برنامه منتشر می کنید، چند راه وجود دارد که می توانید به روز رسانی های بین فروشگاهی را کنترل کنید. بخش های زیر به این گزینه ها و مزایا و معایب احتمالی آنها می پردازد.
جلوگیری از بهروزرسانیهای بین فروشگاهی
ممکن است بخواهید از انجام هر گونه به روز رسانی برنامه های متقابل فروشگاهی برای هر برنامه فروشگاهی برای برنامه شما جلوگیری کنید. اگر محتوای برنامه شما در هر فروشگاه برنامه متفاوت است، ممکن است این کار را انجام دهید. این را می توان با انتشار برنامه با دو شناسه برنامه متفاوت یا با انتشار برنامه با شناسه برنامه مشابه و دو کلید امضای متفاوت به دست آورد.
ممکن است بخواهید استفاده مجدد از کلید امضای خود را به حداقل برسانید تا ریسک ناشی از به خطر افتادن کلید را کاهش دهید، و بنابراین از یک کلید امضای برنامه متفاوت برای هر فروشگاه برنامه استفاده کنید. انجام این کار از بروز رسانی های بین فروشگاهی جلوگیری می کند.
صرف نظر از اینکه کدام رویکرد را انتخاب میکنید، Android برنامههای بدون شناسه برنامه و کلید امضای مشابه را ناسازگار میداند. کاربری که مایل به جابجایی از یک فروشگاه به فروشگاه دیگر است باید برنامه نصب شده را حذف کند - که همه داده های مرتبط با آن برنامه را حذف می کند - و دوباره از فروشگاه دیگر نصب کند.
بهروزرسانیهای بین فروشگاهی را مجاز کنید
ممکن است بخواهید به هر فروشگاه برنامه اجازه دهید بهروزرسانیهای برنامههای متقابل فروشگاهی را برای برنامه شما انجام دهد. اگر برنامه خود را با محتوای یکسان در همه فروشگاه های برنامه توزیع می کنید و می خواهید به روز بودن کاربران را در اولویت قرار دهید، می توانید این کار را انجام دهید. تا زمانی که از شناسه برنامه و کلیدهای امضای یکسانی در همه فروشگاههای برنامه که برنامه خود را منتشر میکنید استفاده میکنید، هر فروشگاه برنامه میتواند بدون توجه به اینکه کاربر ابتدا برنامه را از کجا دانلود کرده است، نصبهای برنامه شما را بهروزرسانی کند.
با این حال، این میتواند منجر به رفتار غیرقابل پیشبینی برای کاربران شما شود، بسته به اینکه هر فروشگاه برنامه چگونه بهروزرسانیهای برنامههای بین فروشگاهی را انتخاب میکند. برای مثال، یک کاربر ممکن است بهروزرسانیهای یک فروشگاه را غیرفعال کند، اما متوجه نباشد که فروشگاه دیگری ممکن است به ارائه بهروزرسانیها ادامه دهد.
اگر قبلاً بهروزرسانیهای بین فروشگاهی را مجاز کردهاید، اما میخواهید زمانی که منبع بهروزرسانی خاصی در دستگاه وجود دارد ترجیح دهید، میتوانید برنامه خود را با کد نسخه بالاتر در فروشگاه برنامه دلخواه خود منتشر کنید و به انتشار با کدهای نسخه پایینتر در سایر فروشگاهها ادامه دهید. فروشگاه های اپلیکیشن هنگامی که بهروزرسانی کد نسخه بالاتر از منبع ترجیحی نصب شد، فروشگاههای برنامه دیگر نمیتوانند در آن دستگاه بهروزرسانی متقابل انجام دهند.
،این راهنما توضیح میدهد که چگونه پلتفرم Android و Google Play بهروزرسانیهای برنامهها را مدیریت میکنند و گزینههای مختلفی را برای توسعهدهندگانی که برنامههای خود را در فروشگاههای برنامه متعدد منتشر میکنند، مورد بحث قرار میدهد.
اندروید چگونه بهروزرسانیهای برنامه را مدیریت میکند
هر برنامه Android یک شناسه برنامه منحصر به فرد دارد که شبیه نام بسته جاوا یا Kotlin است، مانند com.example.myapp
. این شناسه به طور منحصربهفرد هر برنامه را در دستگاه شناسایی میکند. دستگاههای Android میتوانند هر بار فقط یک برنامه با شناسه برنامه مشخص نصب شده داشته باشند.
برای اینکه بروزرسانی توسط پلتفرم اندروید پذیرفته شود، باید شرایط زیر وجود داشته باشد:
- شناسه برنامه به روز رسانی باید با برنامه نصب شده یکسان باشد.
- گواهی امضای بهروزرسانی باید با گواهی امضای برنامه نصبشده یکسان باشد یا باید حاوی یک اثبات چرخش معتبر باشد.
- کد نسخه به روز رسانی باید بالاتر یا برابر با کد نسخه برنامه نصب شده باشد.
- در برخی موارد، کاربر ممکن است نیاز به پذیرش بهروزرسانی داشته باشد.
توجه داشته باشید که زمانی که بهروزرسانیها دارای گواهی امضای یکسان و کد نسخه یکسان یا بالاتر هستند، هیچ پیشگیری داخلی در برابر بهروزرسانی نصبکنندههای مختلف برنامه وجود ندارد.
برای نصب برنامهای که شرایط بالا را ندارد، کاربر باید ابتدا نسخه نصبشده فعلی را حذف نصب کند که تمام دادههای برنامه را از دستگاه پاک میکند.
چگونه Google Play برنامه ها را به روز می کند
رویکرد Google Play برای بهروزرسانی برنامهها بر اساس اصول زیر است:
- کاربران را به روز نگه دارید. به روز نگه داشتن برنامه ها برای ایمن نگه داشتن کاربران از مشکلات امنیتی و بهره مندی از آخرین پیشرفت های ویژگی توصیه می شود.
- به انتخاب کاربر احترام بگذارید. Google Play برنامههایی را که با حسابهای کاربران مرتبط هستند و بر اساس اولویتهای بهروزرسانی انتخابی آنها، مانند مجاز یا غیرمجاز کردن استفاده از دادههای اندازهگیری شده، بهروزرسانی میکند.
- به انتخاب توسعه دهنده احترام بگذارید. Google Play هنگام تعیین بهروزرسانیهای برنامه، از گزینههای پیکربندی توسعهدهندگان استفاده میکند.
- از هدر رفتن منابع خودداری کنید. با بهینهسازی هنگام دانلود بهروزرسانیها، عمر باتری را حفظ کنید و با استفاده از تکنیکهایی مانند فشردهسازی و وصلهسازی، استفاده از دادهها را به حداقل برسانید.
برای برنامه معینی که روی دستگاه نصب شده است، Google Play برنامه را در صورت داشتن شرایط زیر به روز می کند:
- این اپلیکیشن با همان شناسه اپلیکیشن در گوگل پلی منتشر شده است.
- گواهی امضای برنامه منتشر شده با گواهی امضای نسخه نصب شده فعلی مطابقت دارد یا حاوی یک اثبات چرخش معتبر است.
- این برنامه بخشی از کتابخانه کاربر است یا توسط یک OEM از قبل بارگذاری شده است.
- این برنامه برای این کاربر و این دستگاه، با توجه به گزینه های هدف گذاری تعریف شده توسط توسعه دهنده، در دسترس است.
- برنامه نصب شده در مقایسه با نسخه موجود در Google Play قدیمی است.
تا زمانی که این شرایط رعایت شود، Google Play می تواند برنامه را به روز کند. بخش های فرعی زیر جزئیات برخی از شرایط ذکر شده را ارائه می دهد.
توجه داشته باشید که زمانهای دیگری وجود دارد که Google Play محتوای برنامه را دانلود میکند یا از طرف توسعهدهندگان بدون تغییر کد نسخه Android، از فایلهای باینری برنامه نگهداری میکند - به عنوان مثال، هنگام تکمیل بارگیریهای جزئی یا بارگیری تقسیمهای درخواستی .
در گوگل پلی منتشر شده است
Google Play از شناسه برنامه برای شناسایی منحصر به فرد برنامه های منتشر شده در Google Play استفاده می کند. اگر شناسه برنامه نصب شده با شناسه برنامه یک برنامه منتشر شده در Google Play مطابقت داشته باشد، این شرط رعایت می شود.
بخشی از کتابخانه کاربر
اگر یکی از موارد زیر درست باشد این شرط برقرار است:
- هر حساب Google فعال در دستگاه قبلاً با ضربه زدن روی دکمه نصب یا خرید در Google Play برنامه را به دست آورده است.
- OEM برنامه را به عنوان بخشی از تصویر سیستم از قبل بارگذاری کرد.
کاربران همچنین می توانند به صورت دستی برنامه ها را از کتابخانه های خود حذف کنند.
تاریخ گذشته است
Google Play با مشاهده کد نسخه، قدیمی بودن برنامه نصب شده در دستگاه را تعیین میکند—اگر نسخه موجود برای دانلود در Google Play کد نسخه بالاتری نسبت به نسخه نصبشده داشته باشد، Google Play برنامه نصبشده را خارج از سیستم میداند. تاریخ
برنامه های موجود در فروشگاه های برنامه های متعدد
هنگامی که یک برنامه را در چندین فروشگاه برنامه منتشر می کنید، چند راه وجود دارد که می توانید به روز رسانی های بین فروشگاهی را کنترل کنید. بخش های زیر به این گزینه ها و مزایا و معایب احتمالی آنها می پردازد.
جلوگیری از بهروزرسانیهای بین فروشگاهی
ممکن است بخواهید از انجام هر گونه به روز رسانی برنامه های متقابل فروشگاهی برای هر برنامه فروشگاهی برای برنامه شما جلوگیری کنید. اگر محتوای برنامه شما در هر فروشگاه برنامه متفاوت است، ممکن است این کار را انجام دهید. این را می توان با انتشار برنامه با دو شناسه برنامه متفاوت یا با انتشار برنامه با شناسه برنامه مشابه و دو کلید امضای متفاوت به دست آورد.
ممکن است بخواهید استفاده مجدد از کلید امضای خود را به حداقل برسانید تا ریسک ناشی از به خطر افتادن کلید را کاهش دهید، و بنابراین از یک کلید امضای برنامه متفاوت برای هر فروشگاه برنامه استفاده کنید. انجام این کار از بروز رسانی های بین فروشگاهی جلوگیری می کند.
صرف نظر از اینکه کدام رویکرد را انتخاب میکنید، Android برنامههای بدون شناسه برنامه و کلید امضای مشابه را ناسازگار میداند. کاربری که مایل به جابجایی از یک فروشگاه به فروشگاه دیگر است باید برنامه نصب شده را حذف کند - که همه داده های مرتبط با آن برنامه را حذف می کند - و دوباره از فروشگاه دیگر نصب کند.
بهروزرسانیهای بین فروشگاهی را مجاز کنید
ممکن است بخواهید به هر فروشگاه برنامه اجازه دهید بهروزرسانیهای برنامههای متقابل فروشگاهی را برای برنامه شما انجام دهد. اگر برنامه خود را با محتوای یکسان در همه فروشگاه های برنامه توزیع می کنید و می خواهید به روز بودن کاربران را در اولویت قرار دهید، می توانید این کار را انجام دهید. تا زمانی که از شناسه برنامه و کلیدهای امضای یکسانی در همه فروشگاههای برنامه که برنامه خود را منتشر میکنید استفاده میکنید، هر فروشگاه برنامه میتواند بدون توجه به اینکه کاربر ابتدا برنامه را از کجا دانلود کرده است، نصبهای برنامه شما را بهروزرسانی کند.
با این حال، این میتواند منجر به رفتار غیرقابل پیشبینی برای کاربران شما شود، بسته به اینکه هر فروشگاه برنامه چگونه بهروزرسانیهای برنامههای بین فروشگاهی را انتخاب میکند. برای مثال، یک کاربر ممکن است بهروزرسانیهای یک فروشگاه را غیرفعال کند، اما متوجه نباشد که فروشگاه دیگری ممکن است به ارائه بهروزرسانیها ادامه دهد.
اگر قبلاً بهروزرسانیهای بین فروشگاهی را مجاز کردهاید، اما میخواهید زمانی که منبع بهروزرسانی خاصی در دستگاه وجود دارد ترجیح دهید، میتوانید برنامه خود را با کد نسخه بالاتر در فروشگاه برنامه دلخواه خود منتشر کنید و به انتشار با کدهای نسخه پایینتر در سایر فروشگاهها ادامه دهید. فروشگاه های اپلیکیشن هنگامی که بهروزرسانی کد نسخه بالاتر از منبع ترجیحی نصب شد، فروشگاههای برنامه دیگر نمیتوانند در آن دستگاه بهروزرسانی متقابل انجام دهند.