Method: accounts.networkReport.generate

指定されたレポート仕様に基づいて AdMob ネットワーク レポートを生成します。サーバーサイド ストリーミング RPC の結果を返します。結果は一連のレスポンスで返されます。

HTTP リクエスト

POST https://admob.googleapis.com/v1/{parent=accounts/*}/networkReport:generate

この URL は gRPC Transcoding 構文を使用します。

パスパラメータ

パラメータ
parent

string

レポートを生成するアカウントのリソース名。例: accounts/pub-9876543210987654

リクエスト本文

リクエストの本文には、次の構造のデータが含まれます。

JSON 表現
{
  "reportSpec": {
    object (NetworkReportSpec)
  }
}
フィールド
reportSpec

object (NetworkReportSpec)

ネットワーク レポートの仕様。

レスポンスの本文

AdMob ネットワーク レポートのストリーミング レスポンス。最初のレスポンスにはレポート ヘッダーが含まれ、次に行レスポンスのストリームが含まれ、最後に最後のレスポンス メッセージのフッターが含まれます。

例:

[{
  "header": {
    "dateRange": {
      "startDate": {"year": 2018, "month": 9, "day": 1},
      "endDate": {"year": 2018, "month": 9, "day": 1}
    },
    "localizationSettings": {
      "currencyCode": "USD",
      "languageCode": "en-US"
    }
  }
},
{
  "row": {
    "dimensionValues": {
      "DATE": {"value": "20180918"},
      "APP": {
        "value": "ca-app-pub-8123415297019784~1001342552",
         displayLabel: "My app name!"
      }
    },
    "metricValues": {
      "ESTIMATED_EARNINGS": {"microsValue": 6500000}
    }
  }
},
{
  "footer": {"matchingRowCount": 1}
}]

成功すると、レスポンスの本文に次の構造のデータが含まれます。

JSON 表現
{

  // Union field payload can be only one of the following:
  "header": {
    object (ReportHeader)
  },
  "row": {
    object (ReportRow)
  },
  "footer": {
    object (ReportFooter)
  }
  // End of list of possible types for union field payload.
}
フィールド
共用体フィールド payload。各ストリーム レスポンス メッセージには、1 種類のペイロードが含まれます。payload は次のいずれかになります。
header

object (ReportHeader)

レポートの期間やローカライズの設定など、レポートの内容を説明するレポート生成設定。

row

object (ReportRow)

実際のレポートデータ。

footer

object (ReportFooter)

生成されたレポートに関する追加情報(データに関する警告など)。

認可スコープ

次の OAuth スコープのいずれかが必要です。

  • https://www.googleapis.com/auth/admob.readonly
  • https://www.googleapis.com/auth/admob.report

詳細については、OAuth 2.0 の概要をご覧ください。

NetworkReportSpec

AdMob ネットワーク レポートの生成に関する仕様です。たとえば、「US」と「CN」国のみのクリック数と推定収益額を取得する仕様は次のようになります。

{
  'dateRange': {
    'startDate': {'year': 2021, 'month': 9, 'day': 1},
    'endDate': {'year': 2021, 'month': 9, 'day': 30}
  },
  'dimensions': ['DATE', 'APP', 'COUNTRY'],
  'metrics': ['CLICKS', 'ESTIMATED_EARNINGS'],
  'dimensionFilters': [
    {
      'dimension': 'COUNTRY',
      'matchesAny': {'values': [{'value': 'US', 'value': 'CN'}]}
    }
  ],
  'sortConditions': [
    {'dimension':'APP', order: 'ASCENDING'},
    {'metric':'CLICKS', order: 'DESCENDING'}
  ],
  'localizationSettings': {
    'currencyCode': 'USD',
    'languageCode': 'en-US'
  }
}

わかりやすくするために、上記の仕様を次の疑似 SQL のように扱うことができます。

SELECT DATE, APP, COUNTRY, CLICKS, ESTIMATED_EARNINGS
FROM NETWORK_REPORT
WHERE DATE >= '2021-09-01' AND DATE <= '2021-09-30'
    AND COUNTRY IN ('US', 'CN')
GROUP BY DATE, APP, COUNTRY
ORDER BY APP ASC, CLICKS DESC;
JSON 表現
{
  "dateRange": {
    object (DateRange)
  },
  "dimensions": [
    enum (Dimension)
  ],
  "metrics": [
    enum (Metric)
  ],
  "dimensionFilters": [
    {
      object (DimensionFilter)
    }
  ],
  "sortConditions": [
    {
      object (SortCondition)
    }
  ],
  "localizationSettings": {
    object (LocalizationSettings)
  },
  "maxReportRows": integer,
  "timeZone": string
}
フィールド
dateRange

object (DateRange)

レポートが生成される期間。

dimensions[]

enum (Dimension)

レポートのディメンションのリスト。これらのディメンションの値の組み合わせによって、レポートの行が決まります。ディメンションを指定しないと、アカウント全体に対してリクエストされた指標が 1 行で返されます。

metrics[]

enum (Metric)

レポートの指標のリスト。レポートでは少なくとも 1 つの指標を指定する必要があります。

dimensionFilters[]

object (DimensionFilter)

ディメンション値に基づいて一致させるレポートの行を記述します。

sortConditions[]

object (SortCondition)

レポートの行を並べ替える方法を説明します。リスト内の条件の順序によって優先度が決まります。条件が早ければ早いほど優先度が高くなります。並べ替え条件が指定されていない場合、行の順序は定義されません。

localizationSettings

object (LocalizationSettings)

レポートのローカライズ設定。

maxReportRows

integer

返されるレポートデータの最大行数。値が設定されていない場合、API は可能な限り多くの行(100,000 行)を返します。有効な値は 1 ~ 100, 000(両端を含む)です。値が 100,000 を超えると、エラーが返されます。

timeZone

string

レポートのタイムゾーン。IANA TZ 名の値を受け付けます(「America/Los_Angeles」など)。タイムゾーンが定義されていない場合は、アカウントのデフォルトが適用されます。アカウント取得アクションでデフォルト値を確認します。

警告: 現時点でサポートされている値は「America/Los_Angeles」のみです。

ディメンション

ネットワーク レポートのディメンション。ディメンションとは、定量的測定値(指標)を特定の属性(広告フォーマットや広告が表示されたプラットフォームなど)ごとに細かく確認または絞り込むためのデータ属性です。

列挙型
DIMENSION_UNSPECIFIED 未設定のフィールドのデフォルト値。使用しないでください。
DATE YYYYMMDD 形式の日付(例: 20210701)。リクエストで指定できる時間ディメンションは 1 つまでです。
MONTH YYYYMM 形式の月(例: 202107)。リクエストで指定できる時間ディメンションは 1 つまでです。
WEEK 週の最初の日付を YYYYMMDD 形式で表します(例: 20210701)。リクエストで指定できる時間ディメンションは 1 つまでです。
AD_UNIT 広告ユニットの一意の ID(例: ca-app-pub-1234/1234)。AD_UNIT ディメンションを指定すると、APP が自動的に含まれます。
APP モバイルアプリの一意の ID(例: ca-app-pub-1234~1234)。
AD_TYPE

広告のタイプ(「テキスト」、「画像」など)、広告配信ディメンション。

警告: このディメンションは、AD_REQUESTSMATCH_RATEIMPRESSION_RPM 指標に対応していません。

COUNTRY 広告が表示またはクリックされた場所の CLDR 国コード(「US」や「FR」など)。これは地域ディメンションです。
FORMAT 広告ユニットのフォーマット(「バナー」、「ネイティブ」など)、広告配信ディメンション。
PLATFORM アプリのモバイル OS プラットフォーム(「Android」、「iOS」など)。
MOBILE_OS_VERSION モバイル オペレーティング システムのバージョン(「iOS 13.5.1」など)。
GMA_SDK_VERSION GMA SDK のバージョン(「iOS 7.62.0」など)。
APP_VERSION_NAME Android の場合、アプリのバージョン名は PackageInfo の versionName で確認できます。iOS の場合、アプリのバージョン名は CFBundleShortVersionString にあります。
SERVING_RESTRICTION 広告配信の制限モード(非パーソナライズド広告など)。

指標

ネットワーク レポートの指標。指標は、パブリッシャーのビジネスのパフォーマンスを示す定量的測定値です。イベントは、個々の広告イベントから集計され、レポートのディメンション別にグループ化されます。指標の値は整数または小数(丸めなし)です。

列挙型
METRIC_UNSPECIFIED 未設定のフィールドのデフォルト値。使用しないでください。
AD_REQUESTS

広告リクエストの数。値は整数です。

警告: この指標は AD_TYPE ディメンションに対応していません。

CLICKS ユーザーが広告をクリックした回数。値は整数です。
ESTIMATED_EARNINGS AdMob パブリッシャーの推定収益額。収益指標の通貨単位(USD、EUR など)は、通貨のローカライズ設定によって決まります。金額はマイクロ単位で表示されます。たとえば 6.50 ドルは 6500000 と表されます。
IMPRESSIONS ユーザーに広告が表示された合計回数。値は整数です。
IMPRESSION_CTR インプレッション数に対するクリック数の比率です。値は倍精度(近似)10 進値です。
IMPRESSION_RPM

広告インプレッション 1,000 回あたりの推定収益額。値の単位はマイクロ単位です。たとえば $1.03 は 1030000 と表されます。AdMob 管理画面の eCPM に相当します。

警告: この指標は AD_TYPE ディメンションに対応していません。

MATCHED_REQUESTS リクエストへのレスポンスとして広告が返された回数。値は整数です。
MATCH_RATE

広告リクエスト数全体に対する、一致した広告リクエスト数の割合です。値は倍精度(近似)10 進値です。

警告: この指標は AD_TYPE ディメンションに対応していません。

SHOW_RATE 返された広告に対して表示された広告の割合(インプレッション数 ÷ 一致したリクエスト数)。値は倍精度(近似)10 進値です。

DimensionFilter

ディメンション値に基づいて一致させるレポートの行を記述します。

JSON 表現
{
  "dimension": enum (Dimension),

  // Union field operator can be only one of the following:
  "matchesAny": {
    object (StringList)
  }
  // End of list of possible types for union field operator.
}
フィールド
dimension

enum (Dimension)

指定したディメンションにフィルタ条件を適用します。

共用体フィールド operator。適用するフィルタ演算子。operator は次のいずれかになります。
matchesAny

object (StringList)

指定されたディメンションの値が、この条件で指定された値のいずれかに含まれる場合、行と一致します。

SortCondition

ディメンションまたは指標に適用する並べ替え方向。

JSON 表現
{
  "order": enum (SortOrder),

  // Union field sort_on can be only one of the following:
  "dimension": enum (Dimension),
  "metric": enum (Metric)
  // End of list of possible types for union field sort_on.
}
フィールド
order

enum (SortOrder)

ディメンションまたは指標の並べ替え順序。

共用体フィールド sort_on。並べ替える値を識別します。sort_on は次のいずれかになります。
dimension

enum (Dimension)

指定したディメンションで並べ替えます。

metric

enum (Metric)

指定した指標で並べ替えます。