INTEGRITY Dokumentace

GraphQL Analytics API

Stream poskytuje analytické údaje o živém videu i o videu nahraném do Stream, a to prostřednictvím GraphQL API popsaného níže i na stránce Stream Analytics stránce v Cloudflare dashboard.

Přejděte na Analytics ↗

Rozhraní Stream Analytics API využívá Cloudflare GraphQL Analytics API, které lze použít napříč mnoha produkty Cloudflare. Další informace o GraphQL, limitech četnosti požadavků, filtrech a řazení najdete v Cloudflare GraphQL Analytics API docs.

Začínáme

  1. V dashboardu Cloudflare přejděte na API tokeny účtu stránce.

    Přejděte na API tokeny účtu ↗
  2. Vygenerujte token API pomocí Account Analytics oprávnění.

  3. K vytvoření prvního dotazu použijte libovolného klienta GraphQL. Postman ↗ má vestavěného klienta GraphQL, který vám pomůže spustit první dotaz a prozkoumat schéma GraphQL, abyste zjistili, co všechno je možné.

Dostupné metriky, dimenze, pole a ukázkové dotazy najdete v sekcích níže.

Analytika na straně serveru

Stream shromažďuje údaje o počtu minut videa doručených divákům u všech živých videí i videí na vyžádání přehrávaných přes HLS nebo DASH, bez ohledu na to, zda používáte Stream Player.

Filtry a dimenze

Pole Popis
date Datum
datetime DateTime
uid UID videa
clientCountryName Kód země podle normy ISO 3166 alpha2 od klienta, který video zhlédl
creator ID tvůrce přiřazené k jednotlivým videím, pokud existují

Některé filtry, jako date, lze použít s operátory, jako je gt (větší než) a lt (menší než), jak ukazuje níže uvedený příklad dotazu. Pokročilejší možnosti filtrování najdete v filtrování.

Metriky

Node Pole Popis
streamMinutesViewedAdaptiveGroups minutesViewed Minuty doručeného videa

Příklad

Získání počtu zhlédnutých minut podle zemí

Požadavek GraphQL
query StreamGetMinutesExample($accountTag: string!, $start: Date, $end: Date) {
	viewer {
		accounts(filter: { accountTag: $accountTag }) {
			streamMinutesViewedAdaptiveGroups(
				filter: { date_geq: $start, date_lt: $end }
				orderBy: [sum_minutesViewed_DESC]
				limit: 100
			) {
				sum {
					minutesViewed
				}
				dimensions {
					uid
					clientCountryName
				}
			}
		}
	}
}
Odpověď GraphQL
{
	"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
}

Stránkování

GraphQL API podporuje stránkování pomocí seek: pomocí filtrů můžete zadat poslední UID videa, takže odpověď bude obsahovat pouze data pro videa následující po tomto UID.

Níže uvedený dotaz vrátí data pro 2 videa následující po video UID 5646153f8dea17f44d542a42e76cfd:

Dotaz GraphQL
query StreamPaginationExample(
	$accountTag: string!
	$start: Date
	$end: Date
	$uId: string
) {
	viewer {
		accounts(filter: { accountTag: $accountTag }) {
			videoPlaybackEventsAdaptiveGroups(
				filter: { date_geq: $start, date_lt: $end, uid_gt: $uId }
				orderBy: [uid_ASC]
				limit: 2
			) {
				count
				sum {
					timeViewedMinutes
				}
				dimensions {
					uid
				}
			}
		}
	}
}

Stránkování implementujete v těchto krocích:

  1. První dotaz zavolejte bez filtru uid_gt, abyste získali první sadu videí
  2. Získejte poslední UID videa z odpovědi na první dotaz
  3. Další dotaz zavoláte zadáním vlastnosti uid_gt a jejím nastavením na poslední UID videa. Tím se vrátí další sada videí

Více informací o stránkování najdete v Cloudflare GraphQL Analytics API docs.

Omezení