যদি ওয়ান ট্যাপ সাইন-ইন আপনার চাহিদা পূরণ করে, তবে পরিবর্তে এটি ব্যবহার করার কথা বিবেচনা করুন। One Tap-এ একটি আপডেট হওয়া ব্যবহারকারীর অভিজ্ঞতা এবং অন্যান্য উন্নতি রয়েছে৷

অ্যান্ড্রয়েড ইন্টিগ্রেশন ফ্লো

আপনার Android অ্যাপে পাসওয়ার্ডের জন্য Smart Lock সংহত করতে, আপনাকে অবশ্যই আপনার অ্যাপের স্টার্ট-আপ এবং সাইন-ইন প্রবাহে শংসাপত্র API- এ কল যোগ করতে হবে। নিম্নলিখিত চিত্রটি একটি সাধারণ Android অ্যাপের প্রবাহ দেখায় যা পাসওয়ার্ডের জন্য স্মার্ট লক ব্যবহার করে।

যদিও পাসওয়ার্ডের জন্য Smart Lock সফলভাবে সংহত করার অনেক উপায় রয়েছে, এবং একটি ইন্টিগ্রেশনের সুনির্দিষ্ট বৈশিষ্ট্যগুলি অ্যাপের কাঠামো এবং ব্যবহারকারীর অভিজ্ঞতার উপর নির্ভর করে, বেশিরভাগ অ্যাপের জন্য নিম্নলিখিত প্রবাহটি সুপারিশ করা হয়৷ যে অ্যাপগুলি এই প্রবাহ ব্যবহার করে তাদের এই ব্যবহারকারীর অভিজ্ঞতার সুবিধা রয়েছে:

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

স্মার্ট লক সাইন-ইন প্রবাহের চিত্র

শংসাপত্র পুনরুদ্ধার করুন

  1. অ্যাপটি শুরু হলে, যদি কোনও ব্যবহারকারী ইতিমধ্যে সাইন ইন না করে থাকেন, তাহলে CredentialsClient.request() এ কল করুন।
  2. Task সফল হলে, getResult().getCredential() দিয়ে ব্যবহারকারীর শংসাপত্রগুলি পান এবং সাইন ইন করতে সেগুলি ব্যবহার করুন৷
  3. যদি Task ব্যর্থ হয় এবং ব্যতিক্রমটি ResolvableApiException এর একটি উদাহরণ হয় এবং getStatusCode() RESOLUTION_REQUIRED প্রদান করে, তাহলে একটি শংসাপত্র বাছাই করার জন্য ব্যবহারকারীর ইনপুট প্রয়োজন। একটি সংরক্ষিত অ্যাকাউন্ট নির্বাচন করতে ব্যবহারকারীকে অনুরোধ জানাতে startResolutionForResult() এ কল করুন, তারপর ব্যবহারকারীর শংসাপত্রগুলি পেতে এবং সাইন ইন করতে সেগুলি ব্যবহার করতে getParcelableExtra(Credential.EXTRA_KEY) এ কল করুন৷

শংসাপত্র সংরক্ষণ করুন

  1. যদি ApiException এর সাথে Task ব্যর্থ হয় এবং getStatusCode() SIGN_IN_REQUIRED ফেরত দেয়, তাহলে ব্যবহারকারীর কোনো সংরক্ষিত শংসাপত্র নেই এবং আপনার বর্তমান সাইন-ইন বা সাইন-আপ প্রবাহ ব্যবহার করে ম্যানুয়ালি সাইন ইন বা সাইন আপ করতে হবে। ব্যবহারকারী সফলভাবে সাইন ইন সম্পন্ন করার পরে, আপনি ব্যবহারকারীকে ভবিষ্যতে পুনরুদ্ধারের জন্য তাদের শংসাপত্রগুলি সংরক্ষণ করার একটি সুযোগ প্রদান করতে পারেন (ধাপ 5)৷

    আপনি ব্যবহারকারীর ইমেল ঠিকানার মতো সাইন-ইন ইঙ্গিতগুলি পুনরুদ্ধার করে ব্যবহারকারীকে সাইন ইন করতে বা দ্রুত এবং আরও সহজে সাইন আপ করতে সহায়তা করতে পারেন৷ ব্যবহারকারী ইঙ্গিত নির্বাচন করতে পারেন এবং তাদের শংসাপত্র টাইপ করা এড়িয়ে যেতে পারেন। যদি আপনার অ্যাপের ব্যবহারকারীদের সাইন ইন করার প্রয়োজন হয়, আপনি প্রাথমিক শংসাপত্রের অনুরোধ ব্যর্থ হওয়ার সাথে সাথে ইঙ্গিতগুলি পুনরুদ্ধার করতে বেছে নিতে পারেন (অন্যথায়, ব্যবহারকারী সাইন-ইন বা সাইন-আপ প্রবাহ শুরু না হওয়া পর্যন্ত আপনি অপেক্ষা করতে পারেন)।

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

    ব্যবহারকারী যদি Google সাইন-ইন-এর মতো একটি ফেডারেটেড পরিচয় প্রদানকারীর সাথে সাইন ইন করে থাকেন, তাহলে আইডি হিসাবে ব্যবহারকারীর ইমেল ঠিকানা সহ Credential বস্তু তৈরি করুন এবং setAccountType এর সাথে পরিচয় প্রদানকারীকে নির্দিষ্ট করুন।

সাইন আউট

  1. ব্যবহারকারী সাইন আউট করলে, ব্যবহারকারীকে অবিলম্বে আবার সাইন ইন করা থেকে আটকাতে CredentialsClient.disableAutoSignIn() কল করুন৷ স্বয়ংক্রিয়-সাইন-ইন নিষ্ক্রিয় করা ব্যবহারকারীদের সহজেই অ্যাকাউন্টগুলির মধ্যে স্যুইচ করতে সক্ষম করে - উদাহরণস্বরূপ, কাজের এবং ব্যক্তিগত অ্যাকাউন্টগুলির মধ্যে, বা অ্যাকাউন্টগুলির মধ্যে৷ শেয়ার করা ডিভাইসে—তাদের সাইন-ইন তথ্য পুনঃপ্রবিষ্ট না করেই।

আপনার অ্যাপে পাসওয়ার্ডের জন্য স্মার্ট লক সংহত করতে প্রস্তুত? শুরু করুন