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

אחרי שתגדירו הכול, תוכלו לשלוח בקשות ל-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 מכיל שגיאה או שהוא לא חוקי מסיבה אחרת, השרת מחזיר קוד מצב 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, לדוגמה), אפשר להשתמש בפרמטרים האלה כדי לצמצם את התוצאות של כל שאילתה לגודל מותאם.