با استفاده از «سرویس دریافت بهروزرسانی» میتوانید در برنامهٔ خود از وجود آخرین نسخهٔ سازگار با دستگاه کاربر مطلع شوید. همچنین میتوانید VersionCode و تغییرات آخرین نسخه را دریافت کنید و به کاربران برنامهٔ خود نمایش دهید و در صورت لزوم با استفاده از اینتنت، کاربر را به صفحهٔ برنامهٔ خود در مایکت هدایت کنید تا برنامه را به روزرسانی نماید.
اضافه کردن فایلهای کمکی به پروژه
فایلهای کمکی را از اینجا دانلود کنید. سپس فایل Zip را باز کنید. این فایل شامل یک پوشه با نام util و یک فایل AIDL است که کافی است مطابق تصویر آن را به پروژه اضافه کنید:
ساختار تمام پروژههای اندرویدی یکسان نیست. در پروژههایی که با Android Studio ایجاد شدهاند، باید فایلهای AIDL را در پوشهی java/aidl کپی داد. ولی در ساختارهای قدیمی مانند پروژههایی که با Eclipse ایجاد شدهاند، باید فایلهای AIDL را در آدرس خودش (پکیجی که در خود فایل آورده شده است) و در کنار دیگر فایلهای Java کپی کرد.
حال پروژه رو Rebuild کنید و توجه نمایید در صورتی که از ابزار gradle استفاده میکنید باید gradle را Sync کنید تا فایلهای AIDL را Compile کند.
نحوهٔ استفاده
برای استفاده ابتدا باید یک نمونه از کلاس MyketHelper ایجاد و سپس آن را Setup نمایید:
mMyketHelper = new MyketSupportHelper(this);
mMyketHelper.startSetup(new MyketSupportHelper.OnMyketSetupFinishedListener() {
@Override
public void onMyketSetupFinished(MyketResult result) {
if (!result.isSuccess()) {
alert(getString(R.string.problem_error_api_connect));
return;
}
}
});
حال با صدا زدن متد getAppUpdateStateAsync و دادن یک Callback برای دریافت نتیجه سرویس دریافت بهروزرسانی برنامهٔ شما فراخوانی میشود:
mMyketHelper.getAppUpdateStateAsync(mCheckAppUpdateListener);
private MyketSupportHelper.CheckAppUpdateListener mCheckAppUpdateListener = new MyketSupportHelper
.CheckAppUpdateListener() {
@Override
public void onCheckAppUpdateFinished(MyketResult result, Update update) {
showLoading(false);
if (!result.isSuccess()) {
alert(getString(R.string.problem_in_myket_service));
return;
}
if (update.isUpdateAvailable()) {
updateAlert(update.getDescription());
} else {
alert(getString(R.string.you_already_have_the_lastest_version));
}
}
};
در onCheckAppUpdateFinished یک کلاس با نام Update برمیگردد که شامل فیلدهای زیر است:
isUpdateAvailable:در صورتی که مایکت برای برنامهٔ شما بهروزرسانی داشته باشد این فیلد برابر True و در غیر این صورت برابر False است.
description:ویژگیهای جدید آخرین نسخهٔ سازگار با دستگاه
versionCode:آخرین نسخهٔ سازگار با دستگاه
توجه کنید که برای تست این سناریوها باید برنامهٔ شما توسط مدیر تایید و در مایکت قابل مشاهده باشد.
برنامهٔ نمونه
برنامهٔ نمونه را میتوانید از اینجا دانلود نمایید.