Method: gameStats.batchRecordEvents

একজন নির্দিষ্ট খেলোয়াড়ের জন্য একগুচ্ছ গেম ইভেন্ট রেকর্ড করে। এই পদ্ধতিটি একটিমাত্র অনুরোধে একাধিক ইভেন্ট পাঠানোর সুযোগ দেয়।

HTTP অনুরোধ

POST https://games.googleapis.com/games/v1/players/{playerId}/gameStats:batchRecordEvents

পথের পরামিতি

প্যারামিটার
playerId

string

প্রয়োজনীয়: যে খেলোয়াড় ঘটনাগুলো সম্পাদন করেছে তার প্লেয়ার আইডি।

অনুরোধকারী শরীর

অনুরোধের মূল অংশে নিম্নলিখিত কাঠামোসহ ডেটা থাকে:

JSON উপস্থাপনা
{
  "packageName": string,
  "requestTime": string,
  "events": [
    {
      object (PlayerGameEvent)
    }
  ],
}
ক্ষেত্র
packageName

string

আবশ্যক: অ্যাপ্লিকেশন প্যাকেজের নাম (যেমন, 'com.example.game')।

requestTime

string ( Timestamp format)

প্রয়োজনীয়: ক্লায়েন্টের পক্ষ থেকে সেই সময়, যখন ইভেন্টগুলোর এই নির্দিষ্ট ব্যাচটি জমা দেওয়া হয়েছিল।

RFC 3339 ব্যবহার করা হয়, যেখানে তৈরি হওয়া আউটপুট সর্বদা Z-নরম্যালাইজড হবে এবং এতে ০, ৩, ৬ বা ৯টি ভগ্নাংশীয় অঙ্ক ব্যবহৃত হবে। "Z" ছাড়াও অন্যান্য অফসেটও গ্রহণ করা হয়। উদাহরণ: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" অথবা "2014-10-02T15:01:23+05:30"

events[]

object ( PlayerGameEvent )

প্রয়োজনীয়: রেকর্ড করার জন্য প্লেয়ারের গেম ইভেন্টগুলোর একটি তালিকা। প্রতি ব্যাচ অনুরোধে সর্বোচ্চ ৩০টি ইভেন্ট।

প্রতিক্রিয়া সংস্থা

একটি সফল প্রতিক্রিয়া নির্দেশ করে যে ঘটনাগুলোর ব্যাচটি প্রক্রিয়াজাত করা হয়েছে।

সফল হলে, প্রতিক্রিয়া অংশে নিম্নলিখিত কাঠামোসহ ডেটা থাকে:

JSON উপস্থাপনা
{
  "failedRequests": {
    integer: {
      object (Status)
    },
    ...
  }
}
ক্ষেত্র
failedRequests

map (key: integer, value: object ( Status ))

BatchRecordEventsRequest.events এ থাকা শূন্য-ভিত্তিক সূচক দ্বারা চিহ্নিত ব্যর্থ ইভেন্টগুলোর মানচিত্র। বাদ দেওয়া কীগুলো সফল রেকর্ডিং নির্দেশ করে।

একটি অবজেক্ট যা "key": value জোড়ের একটি তালিকা ধারণ করে। উদাহরণ: { "name": "wrench", "mass": "1.3kg", "count": "3" }

অনুমোদনের পরিধি

নিম্নলিখিত OAuth স্কোপগুলির মধ্যে একটি প্রয়োজন:

  • https://www.googleapis.com/auth/games
  • https://www.googleapis.com/auth/games_lite

আরও তথ্যের জন্য, দেখুনOAuth 2.0 Overview .

প্লেয়ারগেমইভেন্ট

গেমে কোনো খেলোয়াড়ের কার্যকলাপের ফলে সৃষ্ট একক-খেলোয়াড়ের গেমের একটি ইভেন্টের উপস্থাপনা। এটি হতে পারে একটি লেভেল সম্পূর্ণ করা, কোনো আইটেম আনলক করা, বা একটি ম্যাচ শেষ করা।

JSON উপস্থাপনা
{
  "eventId": string,
  "eventName": string,
  "eventProperties": {
    string: {
      object (PropertyValue)
    },
    ...
  },
  "eventTime": string
}
ক্ষেত্র
eventId

string

আবশ্যক: এই নির্দিষ্ট ইভেন্ট ইনস্ট্যান্সের জন্য একটি অনন্য ক্লায়েন্ট-জেনারেটেড UUID। এটি সার্ভার-সাইড আইডম্পোটেন্সি এবং ডিডুপ্লিকেশনের জন্য ব্যবহৃত হয়। একই প্লেয়ারের জন্য পূর্বে রেকর্ড করা ইভেন্টআইডি দিয়ে ইভেন্ট জমা দিলে তা উপেক্ষা করা হবে।

eventName

string

আবশ্যক: ক্লায়েন্ট-নির্ধারিত ইভেন্টের নাম (যেমন, 'run_completed', 'level_up')। সর্বোচ্চ দৈর্ঘ্য: ১০০ অক্ষর।

eventProperties

map (key: string, value: object ( PropertyValue ))

ঐচ্ছিক: ইভেন্ট সম্পর্কিত বিস্তারিত তথ্য প্রদানকারী কী-ভ্যালু প্রপার্টি। - প্রপার্টির সর্বোচ্চ সংখ্যা: ২৫টি। - প্রপার্টি কী-এর সর্বোচ্চ দৈর্ঘ্য: ১০০ অক্ষর। - PropertyValue-এর ভেতরের স্ট্রিং ভ্যালুর সর্বোচ্চ দৈর্ঘ্য: ১০২৪ অক্ষর।

একটি অবজেক্ট যা "key": value জোড়ের একটি তালিকা ধারণ করে। উদাহরণ: { "name": "wrench", "mass": "1.3kg", "count": "3" }

eventTime

string ( Timestamp format)

প্রয়োজনীয়: ক্লায়েন্টের কাছ থেকে সেই সময়, যখন এই নির্দিষ্ট কাজটি সম্পন্ন করা হয়েছিল।

RFC 3339 ব্যবহার করা হয়, যেখানে তৈরি হওয়া আউটপুট সর্বদা Z-নরম্যালাইজড হবে এবং এতে ০, ৩, ৬ বা ৯টি ভগ্নাংশীয় অঙ্ক ব্যবহৃত হবে। "Z" ছাড়াও অন্যান্য অফসেটও গ্রহণ করা হয়। উদাহরণ: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" অথবা "2014-10-02T15:01:23+05:30"

সম্পত্তির মূল্য

মূল্যের জন্য মোড়ক।

JSON উপস্থাপনা
{

  // Union field value can be only one of the following:
  "intValue": string,
  "doubleValue": number,
  "stringValue": string,
  "boolValue": boolean,
  // End of list of possible types for union field value.
}
ক্ষেত্র
ইউনিয়ন ফিল্ডের value । এটি স্কেলারের মান। value নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে:
intValue

string ( int64 format)

একটি পূর্ণসংখ্যা।

doubleValue

number

একটি ডাবল ভ্যালু।

stringValue

string

একটি স্ট্রিং মান।

boolValue

boolean

একটি বুলিয়ান মান।

অবস্থা

Status টাইপ একটি লজিক্যাল এরর মডেল নির্ধারণ করে যা REST API এবং RPC API সহ বিভিন্ন প্রোগ্রামিং এনভায়রনমেন্টের জন্য উপযুক্ত। এটি gRPC দ্বারা ব্যবহৃত হয়। প্রতিটি Status মেসেজে তিনটি ডেটা থাকে: এরর কোড, এরর মেসেজ এবং এররের বিস্তারিত বিবরণ।

এই এরর মডেল এবং এটি নিয়ে কীভাবে কাজ করতে হয়, সে সম্পর্কে আরও জানতে আপনি এপিআই ডিজাইন গাইড দেখতে পারেন।

JSON উপস্থাপনা
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
ক্ষেত্র
code

integer

স্ট্যাটাস কোডটি google.rpc.Code এর একটি enum ভ্যালু হওয়া উচিত।

message

string

ডেভেলপারদের জন্য একটি ত্রুটির বার্তা, যা ইংরেজিতে হওয়া উচিত। ব্যবহারকারীদের জন্য যেকোনো ত্রুটির বার্তা স্থানীয়করণ করে google.rpc.Status.details ফিল্ডে পাঠাতে হবে, অথবা ক্লায়েন্ট দ্বারা স্থানীয়করণ করতে হবে।

details[]

object

ত্রুটির বিবরণ বহনকারী বার্তাগুলির একটি তালিকা। এপিআই (API) ব্যবহারের জন্য কিছু সাধারণ বার্তা প্রকার রয়েছে।

একটি অবজেক্ট যাতে যেকোনো ধরনের ফিল্ড থাকে। "@type" নামে একটি অতিরিক্ত ফিল্ড থাকে, যা ধরনটি শনাক্তকারী একটি URI ধারণ করে। উদাহরণ: { "id": 1234, "@type": "types.example.com/standard/id" }