Utilizzare l'SDK IMA DAI su Android

Riproduci live streaming registrati con l'API Google Cloud Video Stitcher

Questa guida illustra come utilizzare l'SDK IMA DAI per Android per richiedere e riprodurre un live streaming di un evento registrato con Google Cloud Video Stitcher API e come inserire un'interruzione pubblicitaria durante la riproduzione.

Questa guida si espande sull'esempio di base della sezione Come iniziare guida per IMA DAI.

Per informazioni sull'integrazione con altre piattaforme o sull'utilizzo degli SDK lato client IMA, consulta SDK Interactive Media Ads.

Configura un progetto Google Cloud

Inserisci le seguenti variabili da utilizzare nell'SDK IMA:

Località
La regione Google Cloud in cui è stata creata la configurazione attiva: LOCATION
Numero progetto
Il numero del progetto Google Cloud che utilizza l'API Video Stitcher: PROJECT_NUMBER
Token OAuth

Il token OAuth a breve termine di un account di servizio con il ruolo utente Video Stitcher:

OAUTH_TOKEN

Scopri di più su creazione di credenziali di breve durata per i servizi Google Cloud. Il token OAuth può essere riutilizzato in più richieste a condizione che non sia scaduto.

Codice di rete

Il codice di rete Ad Manager per la richiesta di annunci: NETWORK_CODE

ID configurazione live
L'ID configurazione live specificato durante la creazione dell'evento di live streaming: LIVE_CONFIG_ID
Chiave asset personalizzata
La chiave dell'asset personalizzato Ad Manager generata durante la procedura di creazione di una configurazione per un evento in live streaming con l'API Video Stitcher: CUSTOM_ASSET_KEY

Scarica l'esempio di base

Scarica ed esegui IMA Android DAI Basic Esempio. Clic il pulsante di riproduzione sul video player per avviare il cortometraggio "Tears of Steel", che contiene interruzioni pubblicitarie ogni 30 secondi.

Richiedi un live streaming

Per sostituire lo stream di esempio con il tuo live streaming, devi utilizzare ImaSdkFactory.createVideoStitcherLiveStreamRequest() per creare una sessione di annunci con Google Ad Manager. Puoi utilizzare l'interfaccia utente di Google Ads Manager per individuare le sessioni DAI generate a scopo di monitoraggio e debugging.

Nell'esempio esistente sono presenti istruzioni condizionali per richiedere un VOD o un live streaming. Per farlo funzionare con l'API Google Cloud Video Stitcher, devi aggiungere un nuovo percorso per restituire un StreamRequest creato utilizzando ImaSdkFactory.createVideoStitcherLiveStreamRequest().

Ecco un esempio:

videoplayerapp/SampleAdsWrapper.java

private sdkFactory ImaSdkFactory;
...
private enum ContentType {
  LIVE_HLS,
  LIVE_DASH,
// Add a Live HLS Google Cloud type.
  LIVE_HLS_GOOGLE_CLOUD,
  VOD_HLS,
  VOD_DASH,
}

// Set CONTENT_TYPE to the associated enum for the
// stream type you would like to test.
private static final ContentType CONTENT_TYPE =
    ContentType.LIVE_HLS_GOOGLE_CLOUD;
...

@Nullable
  private StreamRequest buildStreamRequest() {
    StreamRequest request;
    switch (CONTENT_TYPE) {
      ...
      case LIVE_HLS_GOOGLE_CLOUD:
        // Live HLS stream generated by the Google Cloud Video Stitcher API.
        request = sdkFactory.createVideoStitcherLiveStreamRequest(
          "NETWORK_CODE",
          "CUSTOM_ASSET_KEY",
          "LIVE_CONFIG_ID",
          "LOCATION",
          "PROJECT_NUMBER",
          "OAUTH_TOKEN"
        );
        request.setFormat(StreamFormat.HLS);
        return request;
    }
    // Content type not selected.
    return null;
  }
...

Ricarica l'app per richiedere e riprodurre il tuo live streaming personalizzato.

(Facoltativo) Aggiungere opzioni per la sessione di streaming

Personalizza la tua richiesta di streaming aggiungendo opzioni di sessione per ignorare l'impostazione predefinita Configurazione dell'API Cloud Video Stitcher utilizzando StreamRequest.setVideoStitcherSessionOptions() Se fornisci un'opzione non riconosciuta, Cloud Functions L'API Video Stitcher risponderà con un errore HTTP 400. Consulta il guida alla risoluzione dei problemi per ricevere assistenza.

Ad esempio, puoi eseguire l'override opzioni del file manifest con il seguente snippet di codice, che richiede due manifest dello stream con immagini ordinate dalla velocità in bit più bassa a quella più alta.

public void requestAndPlayAds() {
  adsLoader.addAdErrorListener(this);
  adsLoader.addAdsLoadedListener(this);
  StreamRequest streamRequest = buildStreamRequest();

  // The following session options are examples. Use session options
  // that are compatible with your video stream.
  Map<String, Object> sessionOptions = Map.of(
    "manifestOptions", Map.of(
      "includeRenditions", List.of(
        Map.of(
          "bitrateBps", 3000, "codecs",
          "hvc1.1.4.L126.B0, mp4a.40.2"),
        Map.of(
          "bitrateBps", 2000,
          "codecs", "avc1.64001f, mp4a.40.2")
      ),
      "bitrateOrder", "ascending"
    )
  );

  /* sessionOptions JSON structure.
   * {
   *  "manifestOptions": {
   *    "includeRenditions": [
   *      {"bitrateBps": 3000, "codecs": "hvc1.1.4.L126.B0, mp4a.40.2"},
   *      {"bitrateBps": 2000, "codecs": "avc1.64001f, mp4a.40.2"},
   *    ],
   *    "bitrateOrder": "ascending"
   *  }
   * };
   */

  streamRequest.setVideoStitcherSessionOptions(sessionOptions);
  adsLoader.requestStream(streamRequest);
}

Inserire un'interruzione pubblicitaria

L'API Google Cloud Video Stitcher inserisce gli annunci recuperati dal tag annuncio per ogni interruzione pubblicitaria. Le interruzioni pubblicitarie sono indicate nel file manifest utilizzando gli indicatori di annunci. Gli indicatori di annunci vengono inseriti dal codificatore del live streaming.

L'annuncio viene riprodotto immediatamente dopo l'inserimento dell'interruzione pubblicitaria.

Esegui la pulizia

Ora che hai ospitato un live streaming usando l'API Google Cloud Video Stitcher e l'ha richiesta usando l'SDK IMA DAI per Android, è importante ripulire qualsiasi Google Cloud.

Segui le pulire i live streaming per rimuovere risorse e asset non necessari.