Das Engage SDK bietet eine REST API, um ein einheitliches „Weiter ansehen“-Erlebnis auf Nicht-Android-Plattformen wie iOS und Roku TV zu ermöglichen. Mit der API können Entwickler den Status „Weiter ansehen“ für angemeldete Nutzer auf Nicht-Android-Plattformen aktualisieren.
Vorbereitung
- Sie müssen zuerst die gerätebasierte Engage SDK-basierte
Integration abschließen. Mit diesem wichtigen Schritt wird die erforderliche Verknüpfung zwischen der Google-Nutzer-ID und dem
AccountProfileIhrer App hergestellt. - API-Zugriff und -Authentifizierung: Wenn Sie die API in Ihrem Google Cloud-Projekt aufrufen und aktivieren möchten, müssen Sie einen Prozess für die Zulassungsliste durchlaufen. Für alle API-Anfragen ist eine Authentifizierung erforderlich.
Zugriff erhalten
Damit Sie die API in der Google Cloud Console aufrufen und aktivieren können, muss Ihr Konto registriert sein.
- Die Google Workspace-Kundennummer sollte verfügbar sein. Wenn sie nicht verfügbar ist, müssen Sie möglicherweise Google Workspace sowie alle Google-Konten einrichten, die Sie zum Aufrufen der API verwenden möchten.
- Richten Sie ein Konto mit der Google Cloud Console ein. Verwenden Sie dazu eine E-Mail-Adresse, die mit Google Workspace verknüpft ist.
- Erstellen Sie ein neues Projekt.
- Erstellen Sie ein Dienstkonto für die API-Authentifizierung. Nachdem Sie das Dienstkonto erstellt haben, haben Sie zwei Elemente:
- Eine Dienstkonto-ID
- Eine JSON-Datei mit Ihrem Dienstkontoschlüssel Bewahren Sie diese Datei sicher auf. Sie benötigen sie später, um Ihren Client bei der API zu authentifizieren.
- Workspace und verknüpfte Google-Konten können jetzt REST APIs verwenden. Sobald die Änderung übernommen wurde, werden Sie benachrichtigt, ob die API von Ihren Dienstkonten aufgerufen werden kann.
- Folgen Sie diesen Schritten, um sich auf einen delegierten API-Aufruf vorzubereiten.
Fortsetzungscluster veröffentlichen
Wenn Sie die Engage-Daten veröffentlichen möchten, senden Sie eine POST-Anfrage an die publishContinuationCluster API. Verwenden Sie dazu die folgende Syntax.
https://tvvideodiscovery.googleapis.com/v1/packages/{package_name}/accounts/{account_id}/profiles/{profile_id}/publishContinuationCluster
Wobei:
package_name: Der Paketname des Media-AnbietersaccountId: Die eindeutige ID für das Konto des Nutzers in Ihrem System. Sie muss mit deraccountIdübereinstimmen, die im gerätebasierten Pfad verwendet wird.profileId: Die eindeutige ID für das Profil des Nutzers im Konto in Ihrem System. Sie muss mit der `profileId` übereinstimmen, die im gerätebasierten Pfad verwendet wird.
Die URL für das Konto ohne Profil lautet:
https://tvvideodiscovery.googleapis.com/v1/packages/{package_name}/accounts/{account_id}/publishContinuationCluster
Die Nutzlast für die Anfrage wird im Feld entities dargestellt. entities
steht für eine Liste von Inhaltselementen, die entweder MovieEntity oder TVEpisodeEntity sein können. Dieses Feld ist erforderlich.
Anfragetext
Feld |
Typ |
Erforderlich |
Beschreibung |
entities |
Liste von MediaEntity-Objekten |
Ja |
Liste von Inhaltselementen mit maximal 5 Elementen Nur die ersten fünf Elemente werden beibehalten, die übrigen werden gelöscht. Eine leere Liste ist zulässig, um anzugeben, dass der Nutzer alle Elemente angesehen hat. |
Das Feld entities enthält einzelne movieEntity und tvEpisodeEntity.
Feld |
Typ |
Erforderlich |
Beschreibung |
movieEntity |
MovieEntity |
Ja |
Ein Objekt, das einen Film im ContinuationCluster darstellt |
tvEpisodeEntity |
TvEpisodeEntity |
Ja |
Ein Objekt, das eine Folge im ContinuationCluster darstellt |
Jedes Objekt im Array „entities“ muss einer der verfügbaren MediaEntity-Typen sein
nämlich MovieEntity und
TvEpisodeEntity,zusammen mit allgemeinen und typspezifischen
Feldern.
Das folgende Code-Snippet zeigt die Nutzlast des Anfragetexts für die publishContinuationCluster API.
{
"entities": [
{
"movieEntity": {
"watch_next_type": "WATCH_NEXT_TYPE_CONTINUE",
"name": "Movie1",
"platform_specific_playback_uris": [
"https://www.example.com/entity_uri_for_android",
"https://www.example.com/entity_uri_for_iOS"
],
"poster_images": [
"http://www.example.com/movie1_img1.png",
"http://www.example.com/movie1_imag2.png"
],
"last_engagement_time_millis": 864600000,
"duration_millis": 5400000,
"last_play_back_position_time_millis": 3241111
}
},
{
"tvEpisodeEntity": {
"watch_next_type": "WATCH_NEXT_TYPE_CONTINUE",
"name": "TV SERIES EPISODE 1",
"platform_specific_playback_uris": [
"https://www.example.com/entity_uri_for_android",
"https://www.example.com/entity_uri_for_iOS"
],
"poster_images": [
"http://www.example.com/episode1_img1.png",
"http://www.example.com/episode1_imag2.png"
],
"last_engagement_time_millis": 864600000,
"duration_millis": 1800000,
"last_play_back_position_time_millis": 2141231,
"episode_display_number": "1",
"season_number": "1",
"show_title": "title"
}
}
]
}
Engage-Daten löschen
Verwenden Sie die clearClusters API, um die Engage-Daten zu entfernen.
Wenn Sie die Daten des Fortsetzungsclusters löschen möchten, senden Sie eine POST-Anfrage an die clearClusters API. Verwenden Sie dazu die folgende Syntax.
https://tvvideodiscovery.googleapis.com/v1/packages/{package_name}/accounts/{account_id}/profiles/{profile_id}/clearClusters
Wobei:
package_name: Der Paketname des Media-AnbietersaccountId: Die eindeutige ID für das Konto des Nutzers in Ihrem System. Sie muss mit deraccountIdübereinstimmen, die im gerätebasierten Pfad verwendet wird.profileId: Die eindeutige ID für das Profil des Nutzers im Konto in Ihrem System. Sie muss mit der `profileId` übereinstimmen, die im gerätebasierten Pfad verwendet wird.
Die Nutzlast für die clearClusters API enthält nur ein Feld, reason, das
einen DeleteReason enthält, der den Grund für
das Entfernen von Daten angibt.
{
"reason": "DELETE_REASON_LOSS_OF_CONSENT"
}
Test
Nachdem Sie Daten erfolgreich gepostet haben, prüfen Sie mit einem Testnutzerkonto, ob die erwarteten Inhalte in der Zeile „Weiter ansehen“ auf Google-Zielplattformen wie Google TV und den mobilen Google TV-Apps für Android und iOS angezeigt werden.
Planen Sie bei Tests eine angemessene Verzögerung von einigen Minuten ein und halten Sie sich an die Anforderungen für das Ansehen, z. B. einen Teil eines Films ansehen oder eine Folge zu Ende ansehen. Weitere Informationen finden Sie in den Richtlinien zu „Als Nächstes ansehen“ für App-Entwickler für Details.