GraphQL アナリティクス API
Stream は、以下に説明する GraphQL API を介して、ライブビデオおよび Stream にアップロードされたビデオに関するアナリティクスを提供します。また、Stream ダッシュボード ↗でも確認できます。
Stream アナリティクス API は、Cloudflare の GraphQL アナリティクス API を使用しており、さまざまな Cloudflare 製品で利用できます。GraphQL、レート制限、フィルター、およびソートについての詳細は、Cloudflare GraphQL アナリティクス API ドキュメントを参照してください。
- アカウントアナリティクスの権限を持つCloudflare API トークンを生成 ↗します。
- お好みの GraphQL クライアントを使用して最初のクエリを実行します。Postman ↗ には、最初のクエリを実行し、GraphQL スキーマを調査して可能なことを理解するのに役立つ組み込みの GraphQL クライアントがあります。
利用可能なメトリクス、ディメンション、フィールド、およびサンプルクエリについては、以下のセクションを参照してください。
Stream は、HLS または DASH を介して再生されるすべてのライブおよびオンデマンドビデオの視聴者に配信されたビデオの分数に関するデータを収集します。Stream Player を使用しているかどうかに関係なく、データが収集されます。
| Field | Description |
|---|---|
date | 日付 |
datetime | 日時 |
uid | ビデオの UID |
clientCountryName | ビデオを視聴したクライアントの ISO 3166 alpha2 国コード |
creator | 個々のビデオに関連付けられたクリエイター ID(存在する場合) |
date のような一部のフィルターは、以下の例のクエリに示すように、gt(より大きい)や lt(より小さい)などの演算子と一緒に使用できます。より高度なフィルタリングオプションについては、フィルタリングを参照してください。
| Node | Field | Description |
|---|---|---|
streamMinutesViewedAdaptiveGroups | minutesViewed | 配信されたビデオの分数 |
query { viewer { accounts(filter:{ accountTag:"<ACCOUNT_ID>" }) { streamMinutesViewedAdaptiveGroups( filter: { date_geq: "2022-02-01" date_lt: "2022-03-01" } orderBy:[sum_minutesViewed_DESC] limit: 100 ) { sum { minutesViewed } dimensions{ uid clientCountryName } } } }}{ "data": { "viewer": { "accounts": [ { "streamMinutesViewedAdaptiveGroups": [ { "dimensions": { "clientCountryName": "US", "uid": "73c514082b154945a753d0011e9d7525" }, "sum": { "minutesViewed": 2234 } }, { "dimensions": { "clientCountryName": "CN", "uid": "73c514082b154945a753d0011e9d7525" }, "sum": { "minutesViewed": 700 } }, { "dimensions": { "clientCountryName": "IN", "uid": "73c514082b154945a753d0011e9d7525" }, "sum": { "minutesViewed": 553 } } ] } ] } }, "errors": null}GraphQL API はシークページネーションをサポートしています。フィルターを使用して、最後のビデオ UID を指定することで、レスポンスには最後のビデオ UID の後のデータのみが含まれます。
以下のクエリは、ビデオ UID 5646153f8dea17f44d542a42e76cfd に続く 2 つのビデオのデータを返します。
query { viewer { accounts(filter:{ accountTag:"6c04ee5623f70a112c8f488e4c7a2409"
}) { videoPlaybackEventsAdaptiveGroups( filter: { date_geq: "2020-09-01" date_lt: "2020-09-25" uid_gt:"5646153f8dea17f44d542a42e76cfd" } orderBy:[uid_ASC] limit: 2 ) { count sum { timeViewedMinutes } dimensions{ uid } } } }}ページネーションを実装する手順は以下の通りです。
- uid_gt フィルターなしで最初のクエリを呼び出して最初のビデオセットを取得します。
- 最初のクエリのレスポンスから最後のビデオ UID を取得します。
- uid_gt プロパティを指定し、最後のビデオ UID に設定して次のクエリを呼び出します。これにより、次のビデオセットが返されます。
ページネーションの詳細については、Cloudflare GraphQL アナリティクス API ドキュメントを参照してください。
- 単一のクエリでの最大クエリ間隔は 31 日です。
- 最大データ保持期間は 90 日です。