異常狀況

您可以透過 Google Play Developer Reporting API 擷取指標組合中偵測到的異常狀況。每當指標值超過指標預期範圍時,系統就會根據該指標的前 28 天值產生異常狀況。連續天數的異常狀況會合併為單一異常結果。

如果指標值的異常增加一直維持足夠時間,偵測模型就會調整並擴展預期值,直到後續資料點不再屬於異常狀況為止。

擷取異常狀況

您可以使用 anomalies.list 方法列出異常狀況。

簡單請求:

這個 HTTP GET 要求會指定應用程式名稱參數,並傳回應用程式偵測到的所有異常狀況清單。

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

異常狀況回應:

回應內含充足資訊,可在查詢發生異常狀況時查詢:

{
 
"anomalies": [
   
{
     
"name": "apps/com.example.app/anomalies/12345"
     
"metric_set": "apps/com.example.app/anrRateMetricSet"
     
"timeline_spec": {
       
"aggregation_period": "DAILY"
       
"start_time": {
         
"year": 2022
         
"month": 1
         
"day": 23
         
"time_zone": {
           
"id": "America/Los_Angeles"
         
}
       
}
       
"end_time": {
         
"year": 2022
         
"month": 1
         
"day": 23
         
"time_zone": {
           
"id": "America/Los_Angeles"
         
}
       
}
     
}
     
"metric": {
       
"metric": "anrRate",
       
"decimal_value": {
         
"value": "3.1415926535"
       
}
     
}
   
},
   
{
     
"name": "apps/com.example.app/anomalies/12345"
     
"metric_set": "apps/com.example.app/crashRateMetricSet"
     
"timeline_spec": {
       
"aggregation_period": "DAILY"
       
"start_time": {
         
"year": 2021
         
"month": 12
         
"day": 10
         
"time_zone": {
           
"id": "America/Los_Angeles"
         
}
       
}
       
"end_time": {
         
"year": 2021
         
"month": 12
         
"day": 10
         
"time_zone": {
           
"id": "America/Los_Angeles"
         
}
       
}
     
}
     
"metric": {
       
"metric": "crashRate",
       
"decimal_value": {
         
"value": "2.7182818284"
       
}
     
}
   
},
 
]
}

經過篩選的請求:

您可以套用篩選條件,只傳回特定時間範圍內活躍的異常狀況。方法是在要求的篩選器欄位中指定 activeBetween(start, end) 函式。您可以在範圍的任一側指定特殊關鍵字 UNBOUNDED 設定不設限。指定起始或結束繫結時,必須使用 RFC 3339 格式,例如 2022-02-22T04:00Z

GET https://playdeveloperreporting.googleapis.com/v1beta1/apps/com.example.app/anomalies?filter=activeBetween("2022-01-01T00:00:00Z", UNBOUNDED)

篩選回應:

回應只包含指定時間範圍內有效的活動:

{
 
"anomalies": [
   
{
     
"name": "apps/com.example.app/anomalies/12345"
     
"metric_set": "apps/com.example.app/anrRateMetricSet"
     
"timeline_spec": {
       
"aggregation_period": "DAILY"
       
"start_time": {
         
"year": 2022
         
"month": 1
         
"day": 23
         
"time_zone": {
           
"id": "America/Los_Angeles"
         
}
       
}
       
"end_time": {
         
"year": 2022
         
"month": 1
         
"day": 23
         
"time_zone": {
           
"id": "America/Los_Angeles"
         
}
       
}
     
}
     
"metric": {
       
"metric": "anrRate",
       
"decimal_value": {
         
"value": "3.1415926535"
       
}
     
}
   
},
 
]
}

可用的指標

目前並非所有指標和指標集都支援異常偵測。以下是目前支援的指標:

指標組合 支援的指標
vitals.anrrate arRate
vitals.crashrate 當機率
vitals.excessivewakeuprate overWakeupRate
vitals.stuckbackgroundwakelockrate 卡住 BgWakelockRate