এই নির্দেশিকাটি আপনাকে দেখাবে কীভাবে গুগল প্লে গেমস সার্ভিসের জন্য প্লেয়ার স্ট্যাটস এপিআই ব্যবহার করতে হয়। আপনি একজন খেলোয়াড়ের ইন-গেম কার্যকলাপ সম্পর্কে ডেটা সংগ্রহ করতে প্লেয়ার স্ট্যাটস এপিআই ব্যবহার করতে পারেন।
প্লেয়ার স্ট্যাটস এপিআই আপনাকে খেলোয়াড়দের নির্দিষ্ট শ্রেণী এবং তাদের জীবনচক্রের বিভিন্ন পর্যায়ের জন্য গেমের অভিজ্ঞতাকে বিশেষভাবে সাজিয়ে নিতে সাহায্য করে। খেলোয়াড়রা কীভাবে অগ্রগতি করছে, খরচ করছে এবং অংশগ্রহণ করছে, তার উপর ভিত্তি করে আপনি প্রতিটি খেলোয়াড় শ্রেণীর জন্য উপযোগী অভিজ্ঞতা তৈরি করতে পারেন। উদাহরণস্বরূপ, আপনি এই এপিআই ব্যবহার করে একজন কম সক্রিয় খেলোয়াড়কে আপনার গেমে পুনরায় যুক্ত হতে উৎসাহিত করার জন্য সক্রিয় পদক্ষেপ নিতে পারেন; যেমন, খেলোয়াড়টি প্রমাণীকরণের সময় তাকে নতুন ইন-গেম আইটেম দেখানো এবং তার প্রচার করা।
এপিআইগুলো com.google.android.gms.games.stats এবং com.google.android.gms.games প্যাকেজগুলোতে পাওয়া যাবে।
শুরু করার আগে
প্লেয়ার স্ট্যাটস এপিআই ব্যবহার শুরু করার আগে:
- কোড নমুনাটি ডাউনলোড করে পর্যালোচনা করুন।
- গুণমান চেকলিস্টে বর্ণিত সুপারিশগুলো ভালোভাবে জেনে নিন।
প্লেয়ার পরিসংখ্যান ক্লায়েন্টটি নিন
প্লেয়ার স্ট্যাটস এপিআই ব্যবহার শুরু করতে, আপনার গেমকে প্রথমে একটি PlayerStatsClient অবজেক্ট পেতে হবে। আপনি PlayerStatsClient.getPlayersClient() মেথডটি কল করে এবং অ্যাক্টিভিটিটি পাস করে এটি করতে পারেন।
PlayerStatsClient ক্লাসটি অ্যাসিঙ্ক্রোনাসভাবে ফলাফল ফেরত দেওয়ার জন্য গুগল প্লে সার্ভিসেস-এর Task ক্লাস ব্যবহার করে। থ্রেডেড কাজ পরিচালনায় টাস্কের ব্যবহার সম্পর্কে আরও জানতে, Tasks API ডেভেলপার গাইড দেখুন।
খেলোয়াড়ের পরিসংখ্যানের প্রাথমিক বিষয়
আপনি প্লেয়ার স্ট্যাটস এপিআই ব্যবহার করে কোনো প্লেয়ারের ইন-গেম কার্যকলাপের ডেটা সংগ্রহ করতে পারেন। আপনি যে ধরনের প্লেয়ার ডেটা সংগ্রহ করতে পারবেন, তার মধ্যে রয়েছে:
গড় সেশন দৈর্ঘ্য : খেলোয়াড়ের গড় সেশন দৈর্ঘ্য (মিনিটে)। গুগল প্লে গেমস পরিষেবা দ্বারা একজন খেলোয়াড়কে প্রমাণীকরণের সময় দ্বারা সেশন দৈর্ঘ্য নির্ধারিত হয়।
শেষবার খেলার পর থেকে অতিবাহিত দিন : খেলোয়াড় শেষবার খেলার পর থেকে অতিবাহিত আনুমানিক দিনের সংখ্যা।
ক্রয়ের সংখ্যা : খেলোয়াড়ের জন্য অ্যাপের মধ্যে কেনাকাটার আনুমানিক সংখ্যা।
সেশনের সংখ্যা : খেলোয়াড়ের সেশনের আনুমানিক সংখ্যা। একজন খেলোয়াড় গুগল প্লে গেমস পরিষেবা দ্বারা কতবার প্রমাণীকৃত হয়েছেন, তার উপর ভিত্তি করে সেশন নির্ধারিত হয়।
সেশন পার্সেন্টাইল : খেলোয়াড়ের সেশন পার্সেন্টাইলের একটি আনুমানিক মান, যা ০ থেকে ১-এর মধ্যে একটি দশমিক মান হিসাবে দেওয়া হয়। এই মানটি নির্দেশ করে যে, এই গেমের বাকি খেলোয়াড়দের তুলনায় বর্তমান খেলোয়াড় কতগুলো সেশন খেলেছেন। সংখ্যা যত বেশি হবে, খেলোয়াড় তত বেশি সেশন খেলেছেন বলে ধরা হবে।
ব্যয়ের শতাংশ : খেলোয়াড়ের আনুমানিক ব্যয়ের শতাংশ, যা ০ থেকে ১-এর মধ্যে একটি দশমিক মান হিসাবে দেওয়া হয়। এই মানটি নির্দেশ করে যে এই গেমের বাকি খেলোয়াড়দের তুলনায় বর্তমান খেলোয়াড় কতটা ব্যয় করেছেন। সংখ্যা যত বেশি হবে, এই খেলোয়াড় তত বেশি ব্যয় করেছেন বলে ধরা হবে।
নিম্নলিখিত ধরণের প্লেয়ার ডেটা অপ্রচলিত এবং সর্বদা একটি আনসেট ভ্যালু কনস্ট্যান্ট রিটার্ন করে:
- চর্ন সম্ভাবনা : কোনো খেলোয়াড় আগামী দিনে চর্ন করবে কিনা তার পূর্বাভাস, যা ০ (চর্ন করার কম সম্ভাবনা) থেকে ১ (চর্ন করার উচ্চ সম্ভাবনা) পর্যন্ত একটি দশমিক মান হিসাবে প্রকাশ করা হয়। টানা ৭ দিন নিষ্ক্রিয় থাকাকে চর্ন হিসাবে সংজ্ঞায়িত করা হয়।
- ব্যয়ের সম্ভাবনা : এই গেমে খেলোয়াড়ের অর্থ ব্যয় করার আনুমানিক সম্ভাবনা, যা ০ (ব্যয়ের কম সম্ভাবনা) থেকে ১ (ব্যয়ের বেশি সম্ভাবনা) পর্যন্ত একটি দশমিক মান হিসাবে প্রকাশ করা হয়।
- আগামী ২৮ দিনের মোট ব্যয় : এই গেমে আগামী ২৮ দিনে একজন খেলোয়াড়ের আনুমানিক মোট প্রত্যাশিত ব্যয়।
- উচ্চ ব্যয়কারী হওয়ার সম্ভাবনা : আগামী ২৮ দিনের মধ্যে একজন খেলোয়াড় এই গেমের মোট খেলোয়াড়ের ৯৫তম পার্সেন্টাইল বা তার বেশি পরিমাণ অর্থ ব্যয় করবে, তার আনুমানিক সম্ভাবনা। এটি ০ (উচ্চ ব্যয়কারী হওয়ার কম সম্ভাবনা) থেকে ১ (উচ্চ ব্যয়কারী হওয়ার উচ্চ সম্ভাবনা)-এর মধ্যে একটি দশমিক মান হিসাবে প্রকাশ করা হয়।
খেলোয়াড়ের পরিসংখ্যান ডেটা পুনরুদ্ধার করুন
প্রমাণীকৃত খেলোয়াড়ের পরিসংখ্যান ডেটা পুনরুদ্ধার করতে, এই ধাপগুলো অনুসরণ করুন:
PlayerStatsClient.loadPlayerStats()মেথডটি কল করুন।কলটি সফল হলে, গুগল প্লে গেমস সার্ভিসেস একটি
Taskঅবজেক্ট রিটার্ন করে, যা অ্যাসিঙ্ক্রোনাসভাবে একটিPlayerStatsঅবজেক্ট লোড করে। আপনার অ্যাপে অথেনটিকেটেড প্লেয়ারের কার্যকলাপ সম্পর্কিত ডেটা পুনরুদ্ধার করতে এই অবজেক্টের মেথডগুলো ব্যবহার করুন।
এখানে একটি উদাহরণ দেওয়া হলো:
public void checkPlayerStats() { PlayGames.getPlayerStatsClient(this) .loadPlayerStats(true) .addOnCompleteListener(new OnCompleteListener<AnnotatedData<PlayerStats>>() { @Override public void onComplete(@NonNull Task<AnnotatedData<PlayerStats>> task) { if (task.isSuccessful()) { // Check for cached data. if (task.getResult().isStale()) { Log.d(TAG, "using cached data"); } PlayerStats stats = task.getResult().get(); if (stats != null) { Log.d(TAG, "Player stats loaded"); if (stats.getDaysSinceLastPlayed() > 7) { Log.d(TAG, "It's been longer than a week"); } if (stats.getNumberOfSessions() > 1000) { Log.d(TAG, "Veteran player"); } if (stats.getChurnProbability() == 1) { Log.d(TAG, "Player is at high risk of churn"); } } } else { int status = CommonStatusCodes.DEVELOPER_ERROR; if (task.getException() instanceof ApiException) { status = ((ApiException) task.getException()).getStatusCode(); } Log.d(TAG, "Failed to fetch Stats Data status: " + status + ": " + task.getException()); } } }); }
খেলোয়াড়ের পরিসংখ্যান ডেটা ব্যবহারের জন্য কিছু পরামর্শ
প্লে স্ট্যাটস এপিআই আপনাকে খেলোয়াড়দের সম্পৃক্ততা ও ব্যয়ের আচরণের উপর ভিত্তি করে বিভিন্ন ধরণের খেলোয়াড় শনাক্ত করতে এবং তাদের খেলার অভিজ্ঞতা উন্নত করার জন্য উপযুক্ত কৌশল প্রয়োগ করতে সাহায্য করে।
নিম্নলিখিত সারণিতে কিছু উদাহরণমূলক খেলোয়াড় গোষ্ঠী এবং প্রস্তাবিত সম্পৃক্ততা কৌশল তালিকাভুক্ত করা হয়েছে:
| খেলোয়াড় বিভাগ | সম্পৃক্ততা কৌশল |
|---|---|
| নিয়মিত খেলোয়াড়, যারা প্রচুর সেশন করেন এবং ভালো পরিমাণে অর্থ ব্যয় করেন, কিন্তু গত এক সপ্তাহ বা তার বেশি সময় ধরে খেলেননি। |
|
| কম খরচের শতাংশের মধ্যে থাকা অত্যন্ত সক্রিয় খেলোয়াড়। |
|
| যেসব খেলোয়াড় বেশি খরচ করতেন, তাদের খেলার সর্বোচ্চ সীমায় পৌঁছানোর এবং কম ঘন ঘন খেলার লক্ষণ দেখা যাচ্ছে। |
|
| যেসব খেলোয়াড়ের খরচ করার সম্ভাবনা খুব বেশি বা খুব কম। |
|