ارسال شده توسط نیلانش سهایی – مهندس روابط با توسعه دهنده
آیا می دانستید که به طور متوسط 40 درصد از مردم ایالات متحده تلفن های هوشمند خود را بازنش، یا تعویض می کنند هر سال? این چرخش مکرر دستگاه یک چالش – و یک فرصت – برای حفظ روابط قوی با کاربر است. هنگامی که کاربران یک تلفن جدید دریافت می کنند، اصطکاک وارد ، مجدد اعتبارنامه می تواند منجر به ناامیدی، رها شدن برنامه و ریزش شود.
برای پرداختن به این موضوع، معرفی می کنیم بازیابی اعتبارویژگی جدید Credential Manager API اندروید. با Restore Credentials، برنامهها میتوانند پس از بازیابی برنامهها و دادههای خود از دستگاه قبلی خود، بهطور یکپارچه کاربران را به حسابهایشان در دستگاه جدید منتقل کنند. این انتقال به یک دستگاه جدید را بدون دردسر می کند و وفاداری و روابط طول، مدت را تقویت می کند.
علاوه بر همه اینها، هیچ تلاش توسعهدهندهای برای انتقال کلید بازیابی از یک دستگاه به دستگاه دیگر لازم نیست، زیرا این فرآیند با مک،زم پشتیبانگیری و بازیابی سیستم اندروید مرتبط است. با این حال، اگر میخواهید به محض اتمام بازیابی، کاربران خود را بیصدا لاگین کنید، ممکن است بخواهید BackupAgent و منطق خود را به آن اضافه کنید در بازیابی پاسخ به تماس تجربه لذتبخش است – کاربران همچنان مانند دستگاه قبلی خود وارد سیستم میشوند و میتوانند اعلانها را دریافت کنند تا به راحتی به محتوای خود دسترسی داشته باشند، حتی بدون نیاز به باز ، برنامه در دستگاه جدید.
برخی از مزایای ویژگی Restore Credentials عبارتند از:
- تجربه کاربری یکپارچه: کاربران می توانند به راحتی به یک دستگاه اندرویدی جدید منتقل شوند.
- نامزدی فوری: کاربران را به محض اینکه شروع به استفاده از دستگاه جدید خود ،د، با اعلانها یا سایر اعلانها درگیر کنید.
- ورود بیصدا با ادغام عامل پشتیبان: اگر از یک عامل پشتیبان استفاده می کنید، پس از تکمیل بازیابی داده ها، کاربران می توانند به طور خودکار دوباره وارد سیستم شوند.
- بازیابی چک های کلید بدون ادغام عامل پشتیبان: اگر از یک عامل پشتیبان استفاده نمی شود، برنامه می تواند در اولین راه اندازی کلید بازیابی را بررسی کند و سپس کاربر را به طور خودکار وارد کند.
Restore Credentials چگونه کار می کند؟
ویژگی Restore Credentials بازیابی یکپارچه حساب کاربری را در یک دستگاه جدید فعال می کند. هنگامی که کاربر برنامهها و دادههای دستگاه قبلی را بازیابی میکند، این فرآیند بهطور خودکار در پسزمینه در هنگام راهاندازی دستگاه اتفاق میافتد. با بازیابی اعتبار برنامه، این ویژگی به برنامه اجازه میدهد بدون نیاز به هیچ گونه تعامل اضافی، کاربر را دوباره وارد سیستم کند.
نوع اعتباری که برای این ویژگی پشتیب، می شود، کلید بازیابی نام دارد که یک کلید عمومی سازگار با رمز عبور / FIDO2 باطن
جریان کاربر
در دستگاه قدیمی:
- اگر کاربر فعلی که وارد سیستم شده است مورد اعتماد باشد، میتو،د پس از احراز هویت در برنامه خود، کلید بازیابی را در هر نقطه ایجاد کنید. به ،وان مثال، این می تواند بلافاصله پس از ورود به سیستم یا در حین بررسی معمول برای یک کلید بازیابی موجود باشد.
- کلید بازیابی به صورت محلی ذخیره می شود و در فضای ابری نسخه پشتیبان تهیه می شود. برنامهها میتوانند از پشتیبانگیری آن در فضای ابری خودداری کنند.
در دستگاه جدید:
- هنگام تنظیم یک دستگاه جدید، کاربر می تواند یکی از دو گزینه را برای بازیابی داده ها انتخاب کند. آنها می توانند داده ها را از یک پشتیبان ابری بازیابی کنند یا می توانند داده ها را به صورت محلی منتقل کنند. اگر کاربر به صورت محلی انتقال دهد، کلید بازیابی به صورت محلی از دستگاه قدیمی به دستگاه جدید منتقل می شود. در غیر این صورت، اگر کاربر با استفاده از پشتیبانگیری ابری بازیابی کند، کلید بازیابی به همراه دادههای برنامه از پشتیبانگیری ابری در دستگاه جدید دانلود میشود.
- هنگامی که این کلید بازیابی در دستگاه جدید در دسترس است، برنامه میتواند از آن برای ورود کاربر در دستگاه جدید در پسزمینه استفاده کند.
توجه: شما باید به محض ،وج کاربر از سیستم، کلید بازیابی را حذف کنید. شما نمی خواهید کاربر شما در چرخه ،وج عمدی از سیستم گیر کند و سپس به طور خودکار دوباره به سیستم وارد شود.
نحوه پیاده سازی Restore Credentials
با استفاده از مدیر اعتبار Jetpack به شما اجازه می دهد اعتبارنامه های بازیابی مربوطه را ایجاد، دریافت و پاک کنید:
- یک اعتبار بازیابی ایجاد کنید: وقتی کاربر به برنامه شما وارد میشود، یک اعتبار بازیابی مرتبط با حساب او ایجاد کنید. اگر کاربر پشتیبانگیری Google را فعال کرده باشد، این اعتبار به صورت محلی ذخیره میشود و با ابر همگامسازی میشود و رمزگذاری انتها به انتها در دسترس است. برنامهها میتوانند از همگامسازی با ابر انصراف دهند.
- دریافت اعتبار بازیابی: وقتی کاربر دستگاه جدیدی را راهاندازی میکند، برنامه شما از Credential Manager درخواست بازیابی اعتبار میکند. این به کاربر اجازه می دهد تا به طور خودکار وارد سیستم شود.
- پاک ، اعتبار بازیابی: وقتی کاربر از برنامه شما خارج شد، اعتبار بازیابی مرتبط را حذف کنید.
بازیابی اعتبارنامه ها از طریق کتابخانه Credential Manager Jetpack در دسترس است. حداقل نسخه کتابخانه Jetpack است 1.5.0-بتا01، و حداقل نسخه GMS است 242200000. برای اطلاعات بیشتر در این مورد، به بازیابی اعتبارنامه صفحه DAC. برای شروع، مراحل زیر را دنبال کنید:
// build.gradle.kts implementation("androidx.credentials:credentials:1.5.0-beta01")
// Fetch Registration JSON from server // Same as the registrationJson created at the time of creating a P،key // See do،entation for more info val registrationJson = ... // Create the CreateRestoreCredentialRequest object // P، in the registrationJSON val createRequest = CreateRestoreCredentialRequest( registrationJson, /* isCloudBackupEnabled = */ true )
توجه: را تنظیم کنید isCloudBackupEnabled است پرچم را به false اگر می خواهید restoreKey به صورت محلی و نه در فضای ابری ذخیره شود. به ،وان تنظیم شده است درست است به طور پیش فرض
val credentialManager = CredentialManager.create(context) // On a successful authentication create a Restore Key // P، in the context and CreateRestoreCredentialRequest object val response = credentialManager.createCredential( context, createRestoreRequest )
4. هنگامی که کاربر دستگاه جدیدی را راه اندازی کرد، با شماره تماس بگیرید getCredential() روش بر روی CredentialManager شی
// Fetch the Authentication JSON from server val authenticationJson = ... // Create the GetRestoreCredentialRequest object val options = GetRestoreCredentialOption(authenticationJson) val getRequest = GetCredentialRequest(Immutablelist.of(options)) // The restore key can be fetched in two scenarios to // 1. On the first launch of app on the device, fetch the Restore Key // 2. In the onRestore callback (if the app implements the Backup Agent) val response = credentialManager.getCredential(context, getRequest)
اگر از یک عامل پشتیبان استفاده می کنید، این کار را انجام دهید دریافت اعتبار بخشی در در بازیابی پاسخ به تماس این تضمین می کند که اعتبار برنامه بلافاصله پس از بازیابی اطلاعات برنامه بازیابی می شود.
5. هنگامی که کاربر از برنامه شما خارج شد، با شماره تماس بگیرید clearCredentialState() روش بر روی CredentialManager شی
// Create a ClearCredentialStateRequest object val clearRequest = ClearCredentialStateRequest(/* requestType = */ 1) // On user log-out, clear the restore key val response = credentialManager.clearCredentialState(clearRequest)
نتیجه گیری
این بازیابی اعتبار این ویژگی مزایای قابلتوجهی را ارائه میکند و اطمینان میدهد که کاربران یک انتقال آرام بین دستگاهها را تجربه میکنند، و به آنها اجازه میدهد به سرعت و به راحتی از طریق عوامل پشتیبانگیری وارد شوند یا بررسیهای کلید را بازیابی کنند. برای توسعهدهندگان، این ویژگی برای یکپارچهسازی و استفاده از زیرساختهای موجود در سمت سرور، ساده است. به طور کلی، Restore Credentials یک ابزار ارزشمند است که یک راه حل احراز هویت کاربردی و کاربرپسند را ارائه می دهد.
این پست وبلاگ بخشی از مجموعه ما است: S،light Week: P،keys. ما در طول هفته منابع زیادی را در اختیار شما قرار می دهیم. به پستهای وبلاگ آموزنده، ویدیوهای جذاب، کد نمونه کاربردی و موارد دیگر فکر کنید—همه با دقت طراحی شدهاند تا به شما کمک کنند از آ،ین پیشرفتها در تجربه ثبت نام و ورود بیوقفه استفاده کنید.
با این راه حل های پیشرفته، می تو،د امنیت را افزایش دهید، اصطکاک را برای کاربران خود کاهش دهید، و در چشم انداز هویت دیجیتالی که به سرعت در حال تحول است، جلوتر از منحنی باشید. برای دریافت یک نمای کلی از آنچه هفته S،light ارائه می دهد و چگونه می تواند برای شما مفید باشد، حتما پست وبلاگ مروری ما را بخو،د.
منبع: http://android-developers.googleblog.com/2024/11/maintain-strong-user-relation،ps-with-restore-credentials.html