মেট্রিক সেট কোয়েরি করা হচ্ছে

সবকিছু সেট-আপ করার পরে, আপনি Google Play Developer Reporting API-তে অনুরোধ পাঠিয়ে মেট্রিক সেট সম্পর্কে মেটাডেটা উদ্ধার করতে এবং তাদের মেট্রিক কোয়েরি করতে পারবেন।

নিম্নলিখিত কোড স্যাম্পেল থেকে বোঝা যায় যে কীভাবে কয়েকটি সহজ অনুরোধ পাঠাতে হয়। যেমন, নিচের পদ্ধতিগুলি থেকে আপনি জানতে পারবেন যে কীভাবে আপনার অ্যাপের জন্য বিভিন্ন মেট্রিক ফিরিয়ে আনা যায়। আপনার কোয়েরি আরও নির্দিষ্ট করতে কয়েকটি আলাদা কোয়েরি প্যারামিটার ব্যবহার করা যেতে পারে।

মেট্রিক সেট মেটাডেটা ফিরিয়ে আনা হচ্ছে

নিম্নলিখিত উদাহরণটি একটি কাল্পনিক অ্যাপ্লিকেশন, com.example.app-এর জন্য সেট করা ক্র্যাশ রেট মেট্রিকের মেটাডেটা উদ্ধার করে।

সাধারণ অনুরোধ:

এই HTTP GET অনুরোধ অ্যাপ্লিকেশন নামের প্যারামিটার নির্দিষ্ট করে এবং আপনার অ্যাপ্লিকেশনের সাথে যুক্ত সম্পূর্ণ মেট্রিক রিসোর্স ফিরিয়ে দেয়।

GET https://playdeveloperreporting.googleapis.com/v1beta1/apps/com.example.app/crashRateMetricSet

মেট্রিক তথ্য সংক্রান্ত উত্তর:

উত্তরে মেট্রিক সেট সম্পর্কিত নিম্নলিখিত ফিল্ডগুলি অন্তর্ভুক্ত থাকে:

{
  "freshness_info": {
    "freshness": [
      "aggregation_period": "DAILY"
      "latest_end_time": { year: "2021" month: "7" day: "22" time_zone: "America/Los_Angeles" }
    ]
  }
}

কোয়েরি ফিচার ব্যবহার করা

এই একই রিসোর্সের জন্য নিম্নলিখিত HTTP POSTঅনুরোধ, মেট্রিক সেট থেকে নির্দিষ্ট ডেটা ফিরিয়ে আনতে query এন্ডপয়েন্ট ব্যবহার করে।

POST https://playdeveloperreporting.googleapis.com/v1beta1/apps/com.example.app/crashRateMetricSet:query

অনুরোধের বডিতে, নির্দিষ্ট মাপকাঠির ভিত্তিতে মেট্রিক পেতে কোয়েরি বিকল্প পাস করুন।

{
  "timeline_spec": {
    "aggregation_period": "DAILY"
    "start_time": { year: "2021" month: "7" day: "1" time_zone: "America/Los_Angeles" }
    "end_time": { year: "2021" month: "7" day: "3" time_zone: "America/Los_Angeles" }
   }
  "dimensions": ["apiLevel"]
  "metrics": ["errorReportCount", "distinctUsers"]
  "page_size": "10"
}

এখানে কিছু সংগ্রহ-লেভেল উদাহরণ দেওয়া হল:

ফিল্ড
timelineSpec

object (TimelineSpec)

টাইমলাইন অ্যাগ্রিগেশন প্যারামিটারের স্পেসিফিকেশন। কোন কোন অ্যাগ্রিগেশন পিরিয়ড কাজ করে তার তালিকা পেতে, প্রতিটি মেট্রিক সেটের ডকুমেন্টেশন চেক করুন।

dimensions[]

string

মেট্রিক স্লাইস করার জন্য ডাইমেনশন। কোন কোন ডাইমেনশন কাজ করে তার তালিকা পেতে প্রতিটি মেট্রিক সেটের ডকুমেন্টেশন চেক করুন।

metrics[]

string

মেট্রিক্স একত্রিত করতে হবে।

pageSize

integer

ফেরত আসা ডেটার সর্বাধিক সাইজ।

অনির্দিষ্ট থাকলে, সর্বাধিক ১০০০টি সারি ফেরত দেওয়া হবে। সর্বাধিক ভ্যালু হল ১০,০০০; ১০,০০০-এর বেশি ভ্যালু থাকলে তা ১০,০০০ হিসেবেই গণ্য করা হবে।

উত্তর ম্যানেজ করা

সঠিক ফিল্ড সহ সঠিক অনুরোধ সার্ভার প্রসেস করার পরে, এটি অনুরোধ করা ডেটার সাথে একটি HTTP 200 OK স্ট্যাটাস কোড ফেরত পাঠায়। fields কোয়েরি প্যারামিটারে কোনও সমস্যা থাকলে বা অন্য কোনও কারণে সেটি ভুল হলে, সার্ভার একটি HTTP 400 Bad Request স্ট্যাটাস কোড পাঠায়, এর সাথে একটি সমস্যার মেসেজও পাঠানো হয় যাতে ব্যবহারকারীকে জানানো হয় যে তার ফিল্ড বেছে নেওয়ার ক্ষেত্রে কী ভুল হয়েছে (যেমন, "Invalid field timeline_spec")।

উপরে ভূমিকা বিভাগে দেখানো উত্তরের উদাহরণ এখানে দেওয়া হল।

POST https://playdeveloperreporting.googleapis.com/v1beta1/apps/com.example.app/crashRateMetricSet:query

উত্তরটি এইরকম দেখতে:

200 OK
{
  rows: [
    {
      aggregation_period: "DAILY"
      start_time: { year: "2021" month: "7" day: "1" time_zone: "America/Los_Angeles" }
      dimensions: [{dimension: "apiLevel" int64_value: "20"}]
      metrics: [
        {metric: "errorReportCount" decimal_value: "100"},
        {metric: "distinctUsers" decimal_value: "57"},
      ]
    }, {
      aggregation_period: "DAILY"
      start_time: { year: "2021" month: "7" day: "1" time_zone: "America/Los_Angeles" }
      dimensions: [{dimension: "apiLevel" int64_value: "21"}]
      metrics: [
        {metric: "errorReportCount" decimal_value: "123"},
        {metric: "distinctUsers" decimal_value: "65"},
      ]
    },
    ...
  ]
  next_page_token: "eW91IGhhdmUgdG9vIG11Y2ggZnJlZSB0aW1l"
}

মনে রাখবেন: ডেটা পেজিনেশনের জন্য কোয়েরি প্যারামিটার সাপোর্ট করে এমন API-এর ক্ষেত্রে (যেমন, maxResults এবং nextPageToken), প্রতিটি কোয়েরির ফলাফল ম্যানেজ করা যায় এমন সাইজে কমাতে, এইসব প্যারামিটার ব্যবহার করুন।