Google Play গেম পরিষেবাগুলির কার্যকারিতা অ্যাক্সেস করার জন্য, আপনার গেমটিকে প্রমাণীকৃত প্লেয়ারের অ্যাকাউন্ট সরবরাহ করতে হবে৷ এই ডকুমেন্টেশনটি বর্ণনা করে কিভাবে আপনার গেমে একটি নির্বিঘ্ন প্রমাণীকরণ অভিজ্ঞতা বাস্তবায়ন করতে হয়।
প্লে গেমস পরিষেবা v2 SDK অনেকগুলি উন্নতি নিয়ে আসে যা আপনার গেমে প্রমাণীকৃত ব্যবহারকারীর সংখ্যা বাড়ায় এবং বিকাশকে সহজ করে তোলে:
- ব্যবহারকারীদের জন্য উন্নতি:
- একটি ডিফল্ট অ্যাকাউন্ট নির্বাচন করার পরে, ব্যবহারকারীদের একটি প্রম্পটের সাথে ইন্টারঅ্যাক্ট করার প্রয়োজন ছাড়াই প্রমাণীকরণ করা হয়।
- ব্যবহারকারীদের আর Play Games অ্যাপ ডাউনলোড করতে হবে না Play Games পরিষেবার সাথে প্রমাণীকরণ করতে বা একটি নতুন অ্যাকাউন্ট তৈরি করতে।
- ব্যবহারকারীরা এখন একটি একক পৃষ্ঠা থেকে একাধিক গেমের জন্য তাদের প্লে গেম পরিষেবা অ্যাকাউন্টগুলি পরিচালনা করতে পারে।
- বিকাশকারীদের জন্য উন্নতি:
- ক্লায়েন্ট কোডের আর প্রমাণীকরণ বা সাইন-আউট প্রবাহ পরিচালনা করার প্রয়োজন নেই, কারণ খেলা শুরু হলে লগইন স্বয়ংক্রিয়ভাবে ট্রিগার হয় এবং OS সেটিংসে অ্যাকাউন্ট পরিচালনা করা হয়।
নতুন ক্লায়েন্ট ইন্টিগ্রেশন
এই বিভাগটি দেখায় কিভাবে প্লে গেম সার্ভিস সাইন ইন v2 এর সাথে একটি নতুন ক্লায়েন্ট ইন্টিগ্রেশন করতে হয়।
নির্ভরতা যোগ করুন
আপনার অ্যাপের রুট-লেভেল build.gradle
ফাইলে Play Game Services SDK নির্ভরতা যোগ করুন। আপনি যদি Gradle ব্যবহার করেন, তাহলে আপনি নিম্নলিখিতভাবে নির্ভরতা যোগ বা আপডেট করতে পারেন:
dependencies {
implementation "com.google.android.gms:play-services-games-v2:+"
}
প্রকল্প আইডি সংজ্ঞায়িত করুন
আপনার অ্যাপে Play Games পরিষেবা SDK প্রোজেক্ট আইডি যোগ করতে, নিম্নলিখিত ধাপগুলি সম্পূর্ণ করুন:
আপনার অ্যাপের
AndroidManifest.xml
ফাইলে, নিম্নলিখিত<meta-data>
উপাদান এবং<application>
উপাদানে গুণাবলী যোগ করুন:<manifest> <application> <meta-data android:name="com.google.android.gms.games.APP_ID" android:value="@string/game_services_project_id"/> </application> </manifest>
স্ট্রিং রিসোর্স রেফারেন্স
@string/game_services_project_id
আপনার গেমের গেম পরিষেবা প্রকল্প আইডি মান হিসাবে ব্যবহার করে সংজ্ঞায়িত করুন। আপনার গেম পরিষেবা প্রকল্প আইডি Google Play কনসোলের কনফিগারেশন পৃষ্ঠায় আপনার গেমের নামের নিচে পাওয়া যাবে।আপনার
res/values/strings.xml
ফাইলে, একটি স্ট্রিং রিসোর্স রেফারেন্স যোগ করুন এবং মান হিসাবে আপনার প্রকল্প আইডি সেট করুন। Google Play Console-এ, আপনি কনফিগারেশন পৃষ্ঠায় আপনার গেমের নামের নিচে আপনার প্রোজেক্ট আইডি খুঁজে পেতে পারেন। যেমন:<!-- res/values/strings.xml --> <resources> <!-- Replace 0000000000 with your game’s project id. Example value shown above. --> <string translatable="false" name="game_services_project_id"> 0000000000 </string> </resources>
SDK আরম্ভ করুন
আপনার Application
ক্লাসের onCreate(..)
কলব্যাকে Play Games SDK চালু করুন৷
import com.google.android.gms.games.PlayGamesSdk;
...
@Override
public void onCreate(){
super.onCreate();
PlayGamesSdk.initialize(this);
}
প্রমাণীকরণ ফলাফল পান
আপনার গেম চালু হলে, এটি সর্বদা ব্যবহারকারীকে প্রমাণীকরণ করার চেষ্টা করবে। ব্যবহারকারীকে প্রমাণীকরণ করতে, আপনাকে অবশ্যই যাচাই করতে হবে যে ব্যবহারকারী সফলভাবে প্রমাণীকৃত হয়েছে এবং তারপরে তাদের প্লেয়ার আইডি পাবেন।
প্রমাণীকরণ প্রচেষ্টা যাচাই করতে, GamesSignInClient.isAuthenticated()
কল করুন এবং ফলাফল পুনরুদ্ধার করতে addOnCompleteListener
ব্যবহার করুন। যেমন:
GamesSignInClient gamesSignInClient = PlayGames.getGamesSignInClient(getActivity());
gamesSignInClient.isAuthenticated().addOnCompleteListener(isAuthenticatedTask -> {
boolean isAuthenticated =
(isAuthenticatedTask.isSuccessful() &&
isAuthenticatedTask.getResult().isAuthenticated());
if (isAuthenticated) {
// Continue with Play Games Services
} else {
// Show a sign-in button to ask players to authenticate. Clicking it should
// call GamesSignInClient.signIn().
}
});
ব্যবহারকারী যদি গেমটি চালু হওয়ার সময় প্রমাণীকরণ না করা বেছে নেন, তাহলে এটি সুপারিশ করা হয় যে আপনি প্লে গেমস আইকন সহ একটি বোতাম দেখানো চালিয়ে যান বা ব্যবহারকারীকে একটি সাইন-ইন স্ক্রীন উপস্থাপন করুন যাতে একটি প্রমাণীকরণ বিকল্প হিসাবে প্লে গেমস আইকন সহ একটি বোতাম রয়েছে এবং ব্যবহারকারীকে আবার GamesSignInClient.signIn()
বোতামটি প্রেস করে কল করে প্রমাণীকরণের চেষ্টা করুন৷ ব্যবহারকারী প্রমাণীকৃত কিনা তা যাচাই করার পরে, আপনি ব্যবহারকারীকে সনাক্ত করতে প্লেয়ার আইডি পুনরুদ্ধার করতে পারেন। যেমন:
PlayGames.getPlayersClient(activity).getCurrentPlayer().addOnCompleteListener(mTask -> {
// Get PlayerID with mTask.getResult().getPlayerId()
}
);