پرس و جو مجموعه های متریک

بعد از اینکه همه چیز را تنظیم کردید، می‌توانید درخواست‌هایی را به API گزارش‌دهنده برنامه‌نویس Google Play ارسال کنید تا فراداده‌های مجموعه‌های متریک را بازیابی کنید و معیارهای آن‌ها را جستجو کنید.

نمونه کد زیر نحوه ارسال چند درخواست ساده را نشان می دهد. برای مثال، روش‌های زیر به شما نشان می‌دهند که چگونه معیارهای مختلف را برای برنامه خود بازیابی کنید. چند پارامتر کوئری مختلف وجود دارد که می توان از آنها برای محدود کردن پرس و جو استفاده کرد.

بازیابی فراداده مجموعه متریک

مثال زیر متادیتا را برای مجموعه متریک نرخ خرابی برای یک برنامه خیالی، 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

حداکثر اندازه داده های برگشتی

اگر نامشخص باشد، حداکثر 1000 ردیف برگردانده می شود. حداکثر مقدار 100000 است. مقادیر بالای 100000 به 100000 اجباری می شود.

رسیدگی به پاسخ ها

پس از اینکه سرور یک درخواست معتبر شامل فیلدهای معتبر را پردازش کرد، یک کد وضعیت 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 )، از این پارامترها برای کاهش نتایج هر پرس و جو به اندازه قابل مدیریت استفاده کنید.