Phone Number Hint API হল Google Play পরিষেবা দ্বারা পরিচালিত একটি লাইব্রেরি, যা ব্যবহারকারীর (সিম-ভিত্তিক) ফোন নম্বরকে ইঙ্গিত হিসেবে দেখানোর একটি সহজ উপায় প্রদান করে।
ফোন নম্বর ইঙ্গিত ব্যবহার করার সুবিধাগুলি নিচে দেওয়া হল:
- অনুমতির জন্য অতিরিক্ত কোনও অনুরোধের প্রয়োজন নেই
- ব্যবহারকারীকে ম্যানুয়ালি ফোন নম্বর টাইপ করতে হয় না
- কোনও 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); } } });