একটি নতুন ডিভাইস সেট আপ করার সময় অ্যাপের শংসাপত্রগুলি পুনরুদ্ধার করুন

ক্রেডেনশিয়াল ম্যানেজারের পুনরুদ্ধার শংসাপত্র বৈশিষ্ট্য ব্যবহারকারীদের একটি নতুন ডিভাইস সেট আপ করার সময় তাদের অ্যাপ অ্যাকাউন্টগুলি পুনরুদ্ধার করতে দেয়। এই APIটি বিকাশকারী প্রিভিউতে রয়েছে এবং Android 9 বা উচ্চতর এবং Google Play পরিষেবাগুলি (GMS) কোর সংস্করণ 242200000 বা উচ্চতর সমস্ত ডিভাইসে উপলব্ধ৷ পুনরুদ্ধার শংসাপত্র বৈশিষ্ট্যের সুবিধার মধ্যে রয়েছে:

  • বিরামহীন ব্যবহারকারীর অভিজ্ঞতা : ব্যবহারকারীরা প্রতিটি পৃথক অ্যাপে ম্যানুয়ালি সাইন ইন করার প্রয়োজন ছাড়াই তাদের অ্যাপ অ্যাকাউন্ট পুনরুদ্ধার করতে পারে।
  • বর্ধিত ব্যবহারকারীর ব্যস্ততা : ব্যবহারকারীরা একটি নতুন ডিভাইস সেট আপ করার সময় তাদের অ্যাকাউন্ট পুনরুদ্ধার করতে পারলে আপনার অ্যাপ ব্যবহার করা চালিয়ে যাওয়ার সম্ভাবনা বেশি।
  • হ্রাসকৃত উন্নয়ন প্রচেষ্টা : শংসাপত্র পুনরুদ্ধার বৈশিষ্ট্যটি ক্রেডেনশিয়াল ম্যানেজারের সাথে একত্রিত করা হয়েছে, তাই বিকাশকারীরা যারা ইতিমধ্যেই পাসকি সমর্থন করে তারা শংসাপত্র পুনরুদ্ধারের ক্ষমতা যুক্ত করতে পারে৷

এটা কিভাবে কাজ করে

আপনি প্রাসঙ্গিক শংসাপত্রগুলি তৈরি করতে, পেতে এবং সাফ করতে পুনরুদ্ধার শংসাপত্র ব্যবহার করতে পারেন৷

  1. পুনরুদ্ধার শংসাপত্র তৈরি করুন : যখন ব্যবহারকারী আপনার অ্যাপে সাইন ইন করেন, তখন তাদের অ্যাকাউন্টের সাথে যুক্ত একটি পুনরুদ্ধার শংসাপত্র তৈরি করুন। এই শংসাপত্র স্থানীয়ভাবে সংরক্ষণ করা হয় এবং ক্লাউডে সিঙ্ক করা হয় যদি ব্যবহারকারী Google ব্যাকআপ সক্ষম করে থাকে এবং শেষ থেকে শেষ এনক্রিপশন উপলব্ধ থাকে (অ্যাপগুলি ক্লাউডে সিঙ্ক করা থেকে অপ্ট আউট করতে পারে)
  2. পুনরুদ্ধার শংসাপত্র পান : যখন ব্যবহারকারী একটি নতুন ডিভাইস সেট আপ করে, তখন আপনার অ্যাপ ক্রেডেনশিয়াল ম্যানেজার থেকে শংসাপত্র পুনরুদ্ধারের অনুরোধ করতে পারে। এটি আপনাকে কোনো অতিরিক্ত ইনপুট প্রয়োজন ছাড়াই স্বয়ংক্রিয়ভাবে ব্যবহারকারীকে সাইন ইন করতে দেয়৷
  3. পুনরুদ্ধার শংসাপত্র সাফ করুন : ব্যবহারকারী আপনার অ্যাপ থেকে সাইন আউট করলে, আপনার সংশ্লিষ্ট পুনরুদ্ধার শংসাপত্র মুছে ফেলা উচিত।

পুনরুদ্ধার শংসাপত্র বৈশিষ্ট্যটি ব্যাকএন্ড সিস্টেমগুলির সাথে মসৃণভাবে সংহত করতে পারে যা ইতিমধ্যে পাসকিগুলি প্রয়োগ করেছে। এই সামঞ্জস্যতা এই সত্য থেকে উদ্ভূত হয় যে উভয় পাসকি এবং পুনরুদ্ধার কী (রিস্টোর শংসাপত্র বৈশিষ্ট্য দ্বারা ব্যবহৃত শংসাপত্রের ধরন) একই অন্তর্নিহিত প্রযুক্তিগত বৈশিষ্ট্যগুলি মেনে চলে। এই সারিবদ্ধকরণ নিশ্চিত করে যে পুনরুদ্ধার শংসাপত্র প্রক্রিয়াটি কার্যকরভাবে পাসকি-সক্ষম সিস্টেমে সংরক্ষিত ব্যবহারকারীর শংসাপত্রগুলি পুনরুদ্ধার এবং পুনঃস্থাপন করতে পারে, বিভিন্ন প্ল্যাটফর্ম এবং প্রমাণীকরণ পদ্ধতি জুড়ে একটি সামঞ্জস্যপূর্ণ এবং ব্যবহারকারী-বান্ধব অভিজ্ঞতা প্রদান করে।

ক্রেডেনশিয়াল ম্যানেজার নীচের শীট
চিত্র 1. ডায়াগ্রাম যা শংসাপত্র তৈরি করা, একটি পুনরুদ্ধার প্রবাহ শুরু করা এবং স্বয়ংক্রিয় ব্যবহারকারী সাইন-ইন সহ একটি পুনরুদ্ধার শংসাপত্র ব্যবহার করে একটি নতুন ডিভাইসে একটি অ্যাপ ডেটা পুনরুদ্ধার করা চিত্রিত করে

বাস্তবায়ন

ক্রেডেনশিয়াল ম্যানেজার জেটপ্যাক লাইব্রেরির মাধ্যমে রিস্টোর শংসাপত্র API পাওয়া যায়। শুরু করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. আপনার প্রজেক্টে ক্রেডেনশিয়াল ম্যানেজার নির্ভরতা যোগ করুন।

    // build.gradle.kts
    implementation("androidx.credentials:credentials:1.5.0-alpha03")
    
  2. একটি CreateRestoreCredentialRequest অবজেক্ট তৈরি করুন।

  3. CredentialManager অবজেক্টে createCredential() পদ্ধতিতে কল করুন।

    val credentialManager = CredentialManager.create(context)
    
    // On a successful authentication create a Restore Key
    // Pass in the context and CreateRestoreCredentialRequest object
    val response = credentialManager.createCredential(context, createRestoreRequest)
    

    এই তৈরি করা পুনরুদ্ধার শংসাপত্র হল এক ধরনের ওয়েবউথন শংসাপত্র, এবং এটি একটি পুনরুদ্ধার কী হিসাবে পরিচিত।

  4. যখন ব্যবহারকারী একটি নতুন ডিভাইস সেট আপ করে, তখন CredentialManager অবজেক্টে getCredential() পদ্ধতিতে কল করুন।

    // Fetch the Authentication JSON from server
    val authenticationJson = fetchAuthenticationJson()
    
    // Create the GetRestoreCredentialRequest object
    val options = GetRestoreCredentialOption(authenticationJson)
    val getRequest = GetCredentialRequest(listOf(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. ব্যবহারকারী আপনার অ্যাপ থেকে সাইন আউট করলে, CredentialManager অবজেক্টে clearCredentialState() পদ্ধতিতে কল করুন।

    // Create a ClearCredentialStateRequest object
    val clearRequest = ClearCredentialStateRequest(TYPE_CLEAR_RESTORE_CREDENTIAL)
    
    // On user log-out, clear the restore key
    val response = credentialManager.clearCredentialState(clearRequest)
    

আপনি যদি ব্যাকআপ এজেন্ট ব্যবহার করেন, তাহলে onRestore কলব্যাকের মধ্যে getCredential অংশটি সম্পাদন করুন৷ এটি নিশ্চিত করে যে অ্যাপের তথ্য পুনরুদ্ধার করার সাথে সাথেই অ্যাপের শংসাপত্রগুলি পুনরুদ্ধার করা হয়েছে।

প্রায়শই জিজ্ঞাসিত প্রশ্ন

প্রশ্ন ১. একটি পুনরুদ্ধার কী এবং একটি পাসকি মধ্যে পার্থক্য কি?

একটি পুনরুদ্ধার কী একটি পাসকির মতোই কাজ করে কিন্তু বিশেষভাবে নতুন ডিভাইসে অ্যাকাউন্ট পুনরুদ্ধারের জন্য ডিজাইন করা হয়েছে। আপনি যখন প্রমাণীকরণের জন্য Google পাসওয়ার্ড ম্যানেজারের মতো একটি পাসওয়ার্ড ম্যানেজার ব্যবহার করেন, তখন আপনার ব্যবহারযোগ্য পাসকি এবং পাসওয়ার্ডগুলি প্রদর্শিত হয়, যখন পুনরুদ্ধার কীটি হয় না, কারণ এটি নিয়মিত সাইন-ইন করার উদ্দেশ্যে নয়৷

প্রশ্ন ২. একটি পুনরুদ্ধার কী একটি একবার ব্যবহারের শংসাপত্র আছে?

না, একটি পুনরুদ্ধার কী একটি একবার ব্যবহারের শংসাপত্র নয়৷ শংসাপত্র ম্যানেজার রাষ্ট্রহীন এবং ব্যবহারকারীর কার্যকলাপ সম্পর্কে অবগত, তাই এটি ব্যবহারের পরে স্বয়ংক্রিয়ভাবে কী মুছে ফেলতে পারে না।

পুনরুদ্ধার কীগুলি শুধুমাত্র নিম্নলিখিত পরিস্থিতিতে সরানো হয়:

  • সিস্টেম-স্তরের ক্রিয়া : ব্যবহারকারীরা অ্যাপটি আনইনস্টল করে বা এর ডেটা সাফ করে।
  • অ্যাপ-লেভেল কল : আপনি যখন আপনার অ্যাপের কোডে ব্যবহারকারীর লগ আউট পরিচালনা করেন তখন আপনি CredentialManager#clearCredentialState() এ কল করে প্রোগ্রাম্যাটিকভাবে কীটি মুছে ফেলেন।

Q3. পুনরুদ্ধার শংসাপত্র বৈশিষ্ট্য শুধুমাত্র একটি নতুন ডিভাইসের জন্য কাজ করে?

হ্যাঁ, এই বৈশিষ্ট্যটি একটি নতুন অ্যান্ড্রয়েড-চালিত ডিভাইসের প্রাথমিক সেটআপের জন্য ডিজাইন করা হয়েছে, কারণ এটি সরাসরি সিস্টেমের ব্যাকআপ এবং পুনরুদ্ধার কার্যকারিতার সাথে সংযুক্ত।

Q4. আমি কি একই Google অ্যাকাউন্টে লগ ইন করা আছে এমন যেকোনো ডিভাইসে নীরবে সাইন ইন করার জন্য ক্রেডেনশিয়াল পুনরুদ্ধার করতে ব্যবহার করতে পারি?

না, শংসাপত্রগুলি পুনরুদ্ধার করুন বৈশিষ্ট্যটি ডিভাইস জুড়ে সাধারণ সাইন-ইন করার জন্য ব্যবহার করার উদ্দেশ্যে নয়৷ এটি শুধুমাত্র একটি নির্দিষ্ট পরিস্থিতিতে কাজ করে: যখন একজন ব্যবহারকারী তাদের পুরানো ডিভাইস থেকে একটি ব্যাকআপ পুনরুদ্ধার করে একটি নতুন ডিভাইস সেট আপ করে। এই এককালীন পুনরুদ্ধার প্রক্রিয়া সফল করার জন্য উভয় ডিভাইসকেই একই Google অ্যাকাউন্টের সাথে লিঙ্ক করতে হবে।

প্রশ্ন 5. আমার প্রতিষ্ঠানের একটি প্রধান অ্যাপ এবং একাধিক উপ-অ্যাপ রয়েছে। কেউ কি এই সমস্ত অ্যাপের জন্য মূল কাজ পুনরুদ্ধার করতে পারে?

না। একটি পুনরুদ্ধার কী একটি অ্যাপ্লিকেশনের অনন্য প্যাকেজ নামের সাথে সংযুক্ত থাকে। যেহেতু আপনার প্রধান অ্যাপ এবং প্রতিটি সাব-অ্যাপের বিভিন্ন প্যাকেজের নাম রয়েছে, তাই আপনাকে প্রতিটি অ্যাপের জন্য একটি পৃথক পুনরুদ্ধার কী তৈরি করতে হবে।

প্রশ্ন ৬. একটি ব্যবহারকারীর অ্যাকাউন্টের জন্য একটি পুনরুদ্ধার কী তৈরি করতে একটি পাসকি প্রয়োজন?

না, একটি পাসকি প্রয়োজন নেই। একটি পুনরুদ্ধার কী তৈরি করার ক্ষমতা ব্যবহারকারীর সাইন-ইন পদ্ধতির থেকে স্বাধীন। এর উদ্দেশ্য হল ব্যবহারকারীর বর্তমান প্রমাণীকৃত অবস্থা সংরক্ষণ করা। যতক্ষণ ব্যবহারকারী আপনার অ্যাপে সক্রিয়ভাবে সাইন ইন করেন, আপনি তাদের জন্য একটি পুনরুদ্ধার কী তৈরি করতে পারেন।

প্রশ্ন ৭. ব্যবহারকারী পুনরুদ্ধার কী মুছে ফেলতে পারেন?

না, পুনরুদ্ধার কীটির উপর ব্যবহারকারীর সরাসরি কোন নিয়ন্ত্রণ নেই। অ্যাপ লজিক পুনরুদ্ধার কী পরিচালনার জন্য দায়ী।

নিরাপত্তার জন্য, আমরা সুপারিশ করি যে কোনো ব্যবহারকারী সাইন আউট করলে অ্যাপটি স্বয়ংক্রিয়ভাবে কীটি মুছে দেয়। এটি নিশ্চিত করে যে পরের বার তারা একই ডিভাইসে অ্যাপ খুললে, তারা সঠিকভাবে সাইন আউট হয়ে গেছে এবং আবার সাইন ইন করার জন্য অনুরোধ করা হবে।

প্রশ্ন ৮. আমি কি আমার ম্যানিফেস্টে অনুমতি ব্যাকআপকে সত্যে সেট না করে পুনরুদ্ধার শংসাপত্র ব্যবহার করতে পারি?

হ্যাঁ, অনুমোদিত ব্যাকআপ সত্যে সেট করা হোক বা না হোক তা নির্বিশেষে পুনরুদ্ধার শংসাপত্র বৈশিষ্ট্যটি কাজ করে৷

প্রশ্ন9. একই অ্যাপে একাধিক লগ-ইন অ্যাকাউন্ট আছে এমন ব্যবহারকারীদের জন্য শংসাপত্র পুনরুদ্ধার কীভাবে কাজ করবে?

পুনরুদ্ধার শংসাপত্র বৈশিষ্ট্যটি একবারে শুধুমাত্র একটি অ্যাকাউন্টের সাথে কাজ করার জন্য ডিজাইন করা হয়েছে৷