অতিরিক্ত সুযোগের জন্য অনুরোধ করা হচ্ছে

সর্বোত্তম ব্যবহারকারীর অভিজ্ঞতার জন্য, প্রাথমিকভাবে ব্যবহারকারীদের সাইন ইন করার সময় আপনার যতটা সম্ভব কম সুযোগের অনুরোধ করা উচিত। যদি আপনার অ্যাপের মূল কার্যকারিতা একটি Google পরিষেবার সাথে আবদ্ধ না থাকে, তাহলে GoogleSignInOptions.DEFAULT_SIGN_IN কনফিগারেশনটি প্রায়ই সাইন-ইন করার সময় আপনার প্রয়োজন হয়৷

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

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

এই কৌশলটি ব্যবহার করে, আপনি অপ্রতিরোধ্য নতুন ব্যবহারকারীদের এড়াতে পারেন, বা ব্যবহারকারীদের কেন নির্দিষ্ট অনুমতি চাওয়া হচ্ছে তা নিয়ে বিভ্রান্ত করতে পারেন।

ব্যবহারকারীর ক্রিয়াকলাপের জন্য প্রয়োজনীয় অনুমতির অনুরোধ করা

যখনই একজন ব্যবহারকারী এমন একটি ক্রিয়া সম্পাদন করে যার জন্য একটি সুযোগ প্রয়োজন যা সাইন-ইন করার সময় অনুরোধ করা হয়নি, তখন ব্যবহারকারী ইতিমধ্যে প্রয়োজনীয় অনুমতিগুলি মঞ্জুর করেছেন কিনা তা পরীক্ষা করতে GoogleSignIn.hasPermissions এ কল করুন৷ যদি তা না হয়, তাহলে GoogleSignIn.requestPermissions এ কল করুন এমন একটি কার্যকলাপ চালু করতে যা ব্যবহারকারীর কাছ থেকে অতিরিক্ত প্রয়োজনীয় সুযোগের জন্য অনুরোধ করে।

উদাহরণস্বরূপ, যদি একজন ব্যবহারকারী এমন একটি কাজ করেন যার জন্য তাদের ড্রাইভ অ্যাপ স্টোরেজ অ্যাক্সেসের প্রয়োজন হয়, তাহলে নিম্নলিখিতগুলি করুন:

if (!GoogleSignIn.hasPermissions(
        GoogleSignIn.getLastSignedInAccount(getActivity()),
        Drive.SCOPE_APPFOLDER)) {
    GoogleSignIn.requestPermissions(
            MyExampleActivity.this,
            RC_REQUEST_PERMISSION_SUCCESS_CONTINUE_FILE_CREATION,
            GoogleSignIn.getLastSignedInAccount(getActivity()),
            Drive.SCOPE_APPFOLDER);
} else {
    saveToDriveAppFolder();
}

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

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == Activity.RESULT_OK) {
        if (RC_REQUEST_PERMISSION_SUCCESS_CONTINUE_FILE_CREATION == requestCode) {
            saveToDriveAppFolder();
        }
    }
}

এছাড়াও আপনি একটি GoogleSignInOptionsExtension পাস করতে পারেন hasPermissions এবং requestPermissions চেক করতে এবং আরও সুবিধাজনকভাবে অনুমতির একটি সেট অর্জন করতে।