Google Play পরিষেবা দ্বারা পরিচালিত ফোন নম্বর হিন্ট API, ব্যবহারকারীর (সিম কার্ড ভিত্তিক) ফোন নম্বরকে হিন্ট হিসেবে দেখানোর একটি সহজ উপায় প্রদান করে।
ফোন নম্বর হিন্ট ব্যবহার করার সুবিধাগুলির মধ্যে নিম্নলিখিত বিষয়গুলি অন্তর্ভুক্ত:
- অতিরিক্ত অনুমতির অনুরোধ করার প্রয়োজন নেই
- ব্যবহারকারীকে ম্যানুয়ালি ফোন নম্বর টাইপ করতে হয় না
- কোনও Google অ্যাকাউন্টের প্রয়োজন নেই
- সরাসরি সাইন-ইন বা সাইন-আপ ওয়ার্কফ্লোয়ের সাথে যুক্ত নয়
- অটোফিলের তুলনায় Android ভার্সনের জন্য আরও বেশি সহায়তা
এটি কীভাবে কাজ করে
ফ্লো শুরু করার জন্য ফোন নম্বর হিন্ট API একটি PendingIntent
ব্যবহার করে। PendingIntent লঞ্চ করা হয়ে গেলে, ব্যবহারকারীকে
সব (সিম কার্ড ভিত্তিক) ফোন নম্বরের তালিকা সহ একটি UI দেখানো হবে। ব্যবহারকারী
তারপরে যে ফোন নম্বর ব্যবহার করতে চান সেটি বেছে নিতে পারেন অথবা ফ্লো বাতিল করতে পারেন।
বেছে নেওয়া ফোন নম্বরটি ডেভেলপারকে Intent থেকে
রিট্রিভ করার জন্য উপলভ্য করা হবে।
আপনার অ্যাপ প্রস্তুত করতে, নিম্নলিখিত বিভাগে উল্লেখ করা ধাপগুলি সম্পূর্ণ করুন।
আপনার অ্যাপ কনফিগার করা
আপনার
মডিউলের Gradle বিল্ড ফাইলে,
ফোন নম্বর হিন্ট API-এর জন্য Google Play পরিষেবা
ডিপেন্ডেন্সি যোগ করুন,
যা সাধারণত app/build.gradle:
apply plugin: 'com.android.application'
...
dependencies {
implementation 'com.google.android.gms:play-services-auth:22.0.0'
}
GetPhoneNumbeHintIntentRequest অবজেক্ট তৈরি করুন
প্রদত্ত GetPhoneNumberHintIntentRequest.Builder()
পদ্ধতি ব্যবহার করে GetPhoneNumberHintIntentRequest অবজেক্ট তৈরি করার
মাধ্যমে শুরু করুন। এই অনুরোধ অবজেক্টটি তারপর Intent পেতে ব্যবহার করা যেতে পারে যাতে
ফোন নম্বর হিন্ট ফ্লো শুরু করা যায়।
Kotlin
val request: GetPhoneNumberHintIntentRequest = GetPhoneNumberHintIntentRequest.builder().build()
জাভা
GetPhoneNumberHintIntentRequest request = GetPhoneNumberHintIntentRequest.builder().build();
ফোন নম্বর হিন্টের জন্য অনুরোধ করা
ফোন নম্বর হিন্ট ফ্লো শুরু করার জন্য SignInClient.getPhoneNumberHintIntent()-এ কল করুন,
আগের GetPhoneNumberHintIntentRequest অবজেক্ট পাস করুন,
যাতে PendingIntent পাওয়া যায়।
Kotlin
val phoneNumberHintIntentResultLauncher = ... Identity.getSignInClient(activity) .getPhoneNumberHintIntent(request) .addOnSuccessListener { result: PendingIntent -> try { phoneNumberHintIntentResultLauncher.launch( IntentSenderRequest.Builder(result).build() ) } catch (e: Exception) { Log.e(TAG, "Launching the PendingIntent failed") } } .addOnFailureListener { Log.e(TAG, "Phone Number Hint failed") }
জাভা
ActivityResultLauncherphoneNumberHintIntentResultLauncher = ... Identity.getSignInClient(activity) .getPhoneNumberHintIntent(request) .addOnSuccessListener( result -> { try { phoneNumberHintIntentResultLauncher.launch(result.getIntentSender()); } catch(Exception e) { Log.e(TAG, "Launching the PendingIntent failed", e); } }) .addOnFailureListener(e -> { Log.e(TAG, "Phone Number Hint failed", e); });
ফোন নম্বর ফিরিয়ে আনা
ফোন নম্বরটি পেতে Intent থেকে SignInClient.getPhoneNumberFromIntent
পাস করুন।
Kotlin
val phoneNumberHintIntentResultLauncher = registerForActivityResult(ActivityResultContracts.StartIntentSenderForResult()) { result -> try { val phoneNumber = Identity.getSignInClient(activity).getPhoneNumberFromIntent(result.data) } catch(e: Exception) { Log.e(TAG, "Phone Number Hint failed") } }
জাভা
ActivityResultLauncherphoneNumberHintIntentResultLauncher = registerForActivityResult( new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback () { @Override public void onActivityResult(ActivityResult result) { try { String phoneNumber = Identity.getSignInClient(activity).getPhoneNumberFromIntent(result.getData()); } catch { Log.e(TAG, "Phone Number Hint failed", e); } } });