मेट्रिक सेट के लिए क्वेरी करना

सब कुछ सेट अप करने के बाद, Google Play Developer Reporting API को अनुरोध भेजे जा सकते हैं. इससे आपको मेट्रिक सेट के बारे में मेटाडेटा मिलेगा. साथ ही, उनकी मेट्रिक के बारे में क्वेरी की जा सकेगी.

यहां दिए गए कोड के सैंपल में, कुछ सामान्य अनुरोध भेजने का तरीका बताया गया है. उदाहरण के लिए, यहां दिए गए तरीकों से पता चलता है कि अपने ऐप्लिकेशन के लिए अलग-अलग मेट्रिक कैसे वापस पाई जा सकती हैं. क्वेरी को सीमित करने के लिए, कुछ अलग-अलग क्वेरी पैरामीटर इस्तेमाल किए जा सकते हैं.

मेट्रिक सेट का मेटाडेटा वापस पाया जा रहा है

यहां दिए गए उदाहरण में, किसी काल्पनिक ऐप्लिकेशन com.example.app के लिए सेट किए गए क्रैश रेट की मेट्रिक का मेटाडेटा वापस पाने का तरीका बताया गया है.

सामान्य अनुरोध:

इस एचटीटीपी 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" }
    ]
  }
}

क्वेरी की सुविधा का इस्तेमाल करना

इसी संसाधन के लिए यहां दिया गया एचटीटीपी 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

जवाब में मिले डेटा का ज़्यादा से ज़्यादा साइज़.

अगर इसे तय नहीं किया गया है, तो ज़्यादा से ज़्यादा 1,000 लाइनें दिखेंगी. इसकी ज़्यादा से ज़्यादा वैल्यू 1,00,000 हो सकती है. इससे ज़्यादा वैल्यू को 1,00,000 में बदल दिया जाएगा.

जवाबों को मैनेज करना

जब सर्वर, मान्य फ़ील्ड वाले किसी मान्य अनुरोध को प्रोसेस कर लेता है, तो वह अनुरोध किए गए डेटा के साथ-साथ एचटीटीपी 200 OK स्टेटस कोड वापस भेजता है. अगर fields क्वेरी पैरामीटर में कोई गड़बड़ी है या वह अमान्य है, तो सर्वर, एचटीटीपी 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"
}

ध्यान दें: ऐसे एपीआई के लिए जो डेटा पेज पर बांटने के लिए क्वेरी पैरामीटर (उदाहरण के लिए, maxResults और nextPageToken) के साथ काम करते हैं, उन पैरामीटर का इस्तेमाल करें. इससे हर क्वेरी के नतीजों को मैनेज किया जा सकेगा.