ناهنجاری ها

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 anrRate
vitals.crashrate نرخ خرابی
vitals.excessivewakeuprate نرخ بیداری بیش از حد
vitals.stuckbackgroundwakelockrate stuckBgWakelockRate