کاربران اغلب زمان و تلاش قابل توجهی را صرف ایجاد هویت، اضافه کردن دادهها و سفارشیسازی تنظیمات و ترجیحات در برنامه شما میکنند. حفظ این دادهها و شخصیسازی برای کاربران هنگام ارتقاء به دستگاه جدید یا نصب مجدد برنامه شما، بخش مهمی از تضمین یک تجربه کاربری عالی است. این صفحه توضیح میدهد که از چه دادههایی باید نسخه پشتیبان تهیه شود و گزینههای پشتیبانگیری موجود برای شما چیست.
انتخاب کنید که از کدام دادهها نسخه پشتیبان تهیه شود

شکل ۱. مطمئن شوید که دادههای هویتی، دادههای برنامه و دادههای تنظیمات را برای کاربرانی که دوباره به برنامه شما مراجعه میکنند، بازیابی میکنید.
کاربران هنگام استفاده از برنامههای شما دادههای زیادی تولید میکنند. مراقب باشید که از دادههای مناسب نسخه پشتیبان تهیه کنید - فقط تهیه نسخه پشتیبان از برخی از دادهها میتواند کاربران را هنگام باز کردن برنامه در دستگاه جدید و کشف چیزی که از قلم افتاده است، ناامید کند. دادههای مهمی که باید برای کاربران خود پشتیبانگیری کنید، دادههای هویتی، دادههای برنامه تولید شده توسط کاربر و دادههای تنظیمات آنها است که در بخشهای بعدی توضیح داده شده است.
دادههای هویتی
شما میتوانید با انتقال حساب کاربری کاربر هنگام شروع به کار با یک دستگاه جدید، به حفظ تعامل فعلی او کمک کنید.
برای جزئیات بیشتر در مورد انتقال اعتبارنامههای احراز هویت و توکنهای مجوز، به فروشگاه بلوک مراجعه کنید.
برای بررسی راهکارهای ورود به سیستم گوگل جهت تسهیل ورود کاربر به برنامه خود، به Google Identity مراجعه کنید.
دادههای برنامه
دادههای برنامه میتوانند شامل محتوای تولید شده توسط کاربر، مانند متن، تصاویر و سایر رسانهها باشند. میتوانید دادههای برنامه را بین دستگاههای دارای سیستم عامل اندروید همگامسازی کنید و دادههایی را که میخواهید در طول چرخه عمر عادی برنامه استفاده کنید، ذخیره کنید. همچنین میتوانید دادههای کاربر قبلی را در یک دستگاه جدید بازیابی کنید. برای یادگیری نحوه انجام این کار، به بخش انتقال دادهها با استفاده از آداپتورهای همگامسازی مراجعه کنید.
دادههای تنظیمات
مطمئن شوید که از دادههای تنظیمات نیز پشتیبانگیری و بازیابی میکنید تا تنظیمات شخصیسازیشدهی کاربر قبلی در دستگاه جدید حفظ شود. حتی اگر کاربر وارد برنامهی شما نشود، میتوانید دادههای تنظیمات را بازیابی کنید. میتوانید از تنظیماتی که کاربر صریحاً در رابط کاربری برنامهی شما تنظیم میکند، و همچنین از دادههای شفاف، مانند پرچمی که نشان میدهد آیا کاربر ویزارد راهاندازی را دیده است یا خیر، پشتیبانگیری کنید.
برای حفظ هرچه بیشتر تجربه کاربری فعلی در دستگاه جدید، حتماً از تنظیمات کاربری زیر نسخه پشتیبان تهیه کنید:
هرگونه تنظیماتی که توسط کاربر تغییر داده شده است، برای مثال هنگام استفاده از کتابخانه Jetpack Preference .
اینکه آیا کاربر اعلانها و آهنگهای زنگ را روشن یا خاموش کرده است.
پرچمهای بولی که نشان میدهند آیا کاربر صفحات خوشامدگویی یا راهنماهای مقدماتی را دیده است یا خیر.

شکل ۲. بازیابی تنظیمات در دستگاههای جدید به تضمین یک تجربه کاربری عالی کمک میکند.
از پشتیبانگیری از URIها خودداری کنید، زیرا میتوانند ناپایدار باشند. در برخی موارد، بازیابی به یک دستگاه تلفن همراه جدید میتواند منجر به یک URI نامعتبر شود که به یک فایل معتبر اشاره نمیکند. یک نمونه از این موارد، استفاده از URIها برای ذخیره آهنگ زنگ مورد علاقه کاربر است. هنگامی که کاربر برنامه را دوباره نصب میکند، URI ممکن است به هیچ آهنگ زنگی یا به آهنگ زنگی متفاوت از آهنگ مورد نظر اشاره کند. به جای پشتیبانگیری از URI، میتوانید از برخی فرادادههای مربوط به تنظیمات، مانند عنوان آهنگ زنگ یا هش آهنگ زنگ، پشتیبانگیری کنید.
گزینههای پشتیبانگیری
اندروید روشهای زیر را برای پشتیبانگیری برنامهها از دادههایشان در فضای ابری ارائه میدهد:
- پشتیبانگیری خودکار برای برنامهها
- پشتیبانگیری کلید-مقدار
- API پشتیبانگیریهای بزرگ (با تأیید برای توسعهدهندگان برنامههای کاربردی در مقیاس بزرگ)
پشتیبانگیری خودکار که در اندروید نسخه ۶.۰ و بالاتر موجود است، دادهها را با آپلود کردن آنها در حساب گوگل درایو کاربر حفظ میکند. پشتیبانگیری خودکار شامل فایلهایی در اکثر دایرکتوریهایی است که توسط سیستم به برنامه شما اختصاص داده شده است. پشتیبانگیری خودکار میتواند تا ۲۵ مگابایت داده مبتنی بر فایل را در هر برنامه ذخیره کند. ویژگی پشتیبانگیری کلید-مقدار (که قبلاً با نامهای API پشتیبانگیری و سرویس پشتیبانگیری اندروید شناخته میشد) دادههای تنظیمات را به شکل جفتهای کلید-مقدار با آپلود کردن آنها در سرویس پشتیبانگیری اندروید حفظ میکند.
به طور کلی، ما پشتیبانگیری خودکار را توصیه میکنیم زیرا به طور پیشفرض فعال است و نیازی به انجام هیچ کاری برای پیادهسازی ندارد. برنامههایی که اندروید نسخه ۶.۰ یا بالاتر را هدف قرار میدهند، به طور خودکار برای پشتیبانگیری خودکار فعال هستند. ویژگی پشتیبانگیری خودکار یک رویکرد مبتنی بر فایل برای پشتیبانگیری از دادههای برنامه است. اگرچه پیادهسازی پشتیبانگیری خودکار ساده است، اما اگر نیازهای خاصتری برای پشتیبانگیری از دادهها دارید، استفاده از ویژگی پشتیبانگیری کلید-مقدار را در نظر بگیرید.
جدول زیر برخی از تفاوتهای کلیدی بین پشتیبانگیری کلید-مقدار و پشتیبانگیری خودکار را شرح میدهد:
| دسته بندی | پشتیبانگیری کلید-مقدار (سرویس پشتیبانگیری اندروید) | پشتیبان گیری خودکار اندروید |
|---|---|---|
| نسخههای پشتیبانیشده | اندروید ۲.۲ (سطح API ۸) و بالاتر. | اندروید ۶.۰ (سطح API ۲۳) و بالاتر. |
| مشارکت | به طور پیشفرض غیرفعال است. برنامهها میتوانند با اعلام یک عامل پشتیبان، در این حالت شرکت کنند. | به طور پیشفرض فعال است. برنامهها میتوانند با غیرفعال کردن پشتیبانگیری، از این قابلیت انصراف دهند. |
| پیادهسازی | برنامهها باید یک BackupAgent پیادهسازی کنند. عامل پشتیبانگیری تعریف میکند که از چه دادههایی پشتیبانگیری شود و چگونه دادهها بازیابی شوند. | به طور پیشفرض، پشتیبانگیری خودکار تقریباً تمام فایلهای برنامه را شامل میشود. میتوانید از XML برای گنجاندن و حذف فایلها استفاده کنید. در داخل، پشتیبانگیری خودکار به یک عامل پشتیبانگیری متکی است که در SDK قرار دارد. |
| فرکانس | برنامهها باید زمانی که دادههایی آماده پشتیبانگیری وجود دارد، درخواستی را صادر کنند. درخواستها از چندین برنامه به صورت دستهای و هر چند ساعت یکبار اجرا میشوند. | پشتیبانگیری بهطور خودکار و تقریباً روزی یکبار انجام میشود. |
| انتقال | دادههای پشتیبان را میتوان با استفاده از Wi-Fi یا داده تلفن همراه منتقل کرد. | دادههای پشتیبان به طور پیشفرض از طریق وایفای منتقل میشوند، اما کاربر دستگاه میتواند پشتیبانگیری از دادههای تلفن همراه را فعال کند. اگر دستگاه هرگز به شبکه وایفای متصل نباشد یا کاربر تنظیمات پشتیبانگیری از دادههای تلفن همراه خود را تغییر ندهد، پشتیبانگیری خودکار هرگز انجام نمیشود. |
| شرایط انتقال | شرایط دستگاه مورد نیاز برای پشتیبانگیری را در onBackup() تعریف کنید. | در صورت استفاده از عامل پشتیبانگیری پیشفرض، شرایط دستگاه مورد نیاز برای پشتیبانگیری را در فایل XML تعریف کنید . |
| برنامه تعطیل شد | برنامهها هنگام پشتیبانگیری بسته نمیشوند. | سیستم هنگام پشتیبانگیری، برنامه را خاموش میکند. |
| ذخیرهسازی پشتیبان | دادههای پشتیبان در سرویس پشتیبانگیری اندروید ذخیره میشوند و به ۵ مگابایت برای هر برنامه محدود میشوند. گوگل این دادهها را مطابق با سیاست حفظ حریم خصوصی گوگل، به عنوان اطلاعات شخصی در نظر میگیرد. | دادههای پشتیبان در گوگل درایو کاربر ذخیره میشوند و حجم آنها برای هر برنامه محدود به ۲۵ مگابایت است. گوگل این دادهها را مطابق با سیاست حفظ حریم خصوصی گوگل، به عنوان اطلاعات شخصی در نظر میگیرد. |
| ورود کاربر | نیازی به ورود کاربر به برنامه شما ندارد. کاربر باید با یک حساب گوگل وارد دستگاه شود. | نیازی به ورود کاربر به برنامه شما ندارد. کاربر باید با یک حساب گوگل وارد دستگاه شود. |
| رابط برنامهنویسی کاربردی | متدهای API مرتبط مبتنی بر موجودیت هستند: | متدهای API مرتبط مبتنی بر فایل هستند: |
| بازیابی اطلاعات | دادهها هنگام نصب برنامه بازیابی میشوند. در صورت نیاز، میتوانید درخواست بازیابی دستی دهید. | دادهها هنگام نصب برنامه بازیابی میشوند. در صورت وجود چندین مجموعه داده، کاربران میتوانند از لیست مجموعه دادههای پشتیبان انتخاب کنند. |
| مستندات | پشتیبانگیری از جفتهای کلید-مقدار با سرویس پشتیبانگیری اندروید | پشتیبانگیری از اطلاعات کاربر با قابلیت پشتیبانگیری خودکار |
برای اطلاعات بیشتر در مورد نحوهی عملکرد پشتیبانگیری و بازیابی برای هر سرویس، به «آزمایش پشتیبانگیری و بازیابی» مراجعه کنید.