שאילתות של קבוצות מדדים

אחרי שתגדירו הכול, תוכלו לשלוח בקשות אל 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

הגודל המקסימלי של הנתונים שמוחזרים.

אם לא מצוין, יוחזרו לכל היותר 1,000 שורות. הערך המקסימלי הוא 100,000. ערכים מעל 100,000 יוגבלו ל-100,000.

טיפול בתשובות

אחרי ששרת מעבד בקשה תקינה שכוללת שדות תקינים, הוא מחזיר קוד סטטוס 200 OK של HTTP יחד עם הנתונים המבוקשים. אם יש שגיאה בפרמטר השאילתה fields או שהוא לא תקין מסיבה אחרת, השרת מחזיר קוד סטטוס 400 Bad Request של HTTP, יחד עם הודעת שגיאה שמסבירה למשתמש מה לא בסדר בבחירת השדות שלו (לדוגמה, "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), כדאי להשתמש בפרמטרים האלה כדי לצמצם את התוצאות של כל שאילתה לגודל שקל לנהל.