

# IVS Player SDK: JW-Player-Integration
<a name="player-jwplayer"></a>

In diesem Dokument werden die wichtigsten Funktionen beschrieben, die bei Integration des Amazon Interactive Video Service (IVS) JW Player verfügbar sind.

**Neueste Version der JW-Player-Integration:** 1.51.0 ([Versionshinweise](https://docs.aws.amazon.com/ivs/latest/LowLatencyUserGuide/release-notes.html#apr16-26-player-web-ll))

## Erste Schritte
<a name="jwplayer-getting-started"></a>

Amazon IVS-Support für JW Player wird über einen Anbieter implementiert. Amazon IVS Provider wird nur auf dem Webplayer von JW Player unterstützt. Der Provider wird über ein Skript-Tag geladen, und alle Streams, welche die Wiedergabe über den Amazon IVS Provider erfordern, müssen in der Wiedergabeliste mit einem `type: 'ivs'`-Tag versehen werden. Amazon IVS unterstützt JW Player Version 8.18.4 und höher.

### Einrichtung
<a name="jwplayer-getting-started-setup"></a>

In diesen Anweisungen ist `JW_PLAYER_DIV` der Name der `<div>` Ihrer JW-Player-Instance und `IVS_STREAM` die IVS-Wiedergabe-URL. So richten Sie den Amazon IVS-Anbieter ein und aktivieren die Wiedergabe:

1. Fügen Sie das folgende `script`-Tag ein (für die neueste Version der Player-Integration; in diesem Fall 1.51.0):

   ```
   <script src="https://player.live-video.net/1.51.0/amazon-ivs-jw-provider.min.js"></script>
   ```

1. Verwenden Sie den Typ `ivs`, um Elemente in Ihrer IVS-Wiedergabeliste zu markieren. Setzen Sie den Wert `cast` in Ihrem `setup()` auf `null` (da Chromecast nicht unterstützt wird).

   ```
   jwplayer(JW_PLAYER_DIV).setup({
      playlist: [{
         file:IVS_STREAM,
         type: 'ivs',
      }]
   });
   ```

1. Wenn Sie einen Verweis auf den zugrundeliegenden Amazon IVS Player wünschen, um Amazon IVS Player-API-Aufrufe durchzuführen, oder wenn Sie Verweise auf Amazon IVS-spezifische Enums für die Callback-Behandlung wünschen, fügen Sie dem `'providerPlayer'`-Ereignis einen Listener hinzu:

   ```
   jwplayer(JW_PLAYER_DIV).on('providerPlayer', function (player) {
      // player object has 'ivsPlayer' and 'ivsEvents' properties
      // ...callback code...
   });
   ```

### Beispiel-Code
<a name="jwplayer-getting-started-code"></a>

In diesem Beispiel ist `JW_PLAYER_LIB` die URL zu Ihrem JW Player-Bibliotheksskript und `IVS_STREAM` die URL zu Ihrer IVS-Wiedergabe.

```
<!DOCTYPE html>
<html lang="en">
<head>
   <script src=JW_PLAYER_LIB></script>
   <script src="https://player.live-video.net/1.51.0/amazon-ivs-jw-provider.min.js"></script>
</head>
<body>
   <div id='player'></div>
   <script>
      // set default values for ivsPlayer and ivsEvents
      var ivsPlayer = {};
      var ivsEvents = {};

      // define our player setup
      const ivsConfig = {
         playlist: [{
            file: IVS_STREAM,
            type: 'ivs',
         }]
      };

      jwplayer('player')
         .setup(ivsConfig)
         .on('providerPlayer', function (player) {
            console.log('Amazon IVS Player: ', player.ivsPlayer);
            console.log('Amazon IVS Player Events: ', player.ivsEvents);

            // store the reference to the Amazon IVS Player
            ivsPlayer = player.ivsPlayer;
            // store the reference to the Amazon IVS Player Events
            ivsEvents = player.ivsEvents;
         });
   </script>
</body>
</html>
```

## Ereignisse
<a name="jwplayer-events"></a>

Um Standard-JW Player-Ereignisse zu hören, verwenden Sie die [an](https://docs.jwplayer.com/players/docs/jw8-reference#event-listening-with-the-jwp-api)-Funktion des JW Players.

Um Ereignisse zu hören, die für Amazon IVS spezifisch sind, oder um Ereignis-Listener auf dem Amazon IVS Web Player hinzuzufügen und zu entfernen, müssen Sie das `'providerPlayer'`-Ereignis hören, um einen Verweis auf den Amazon IVS Player zu erhalten und dann ein Ereignis hinzuzufügen, das ihn anhört. Beispiel:

```
// store a default value for ivsPlayer
var ivsPlayer = {};

// store references to the Amazon IVS Player and Amazon IVS Events:
jwplayer(JW_PLAYER_DIV).on('providerPlayer', function (player) {
   ivsPlayer = player.ivsPlayer;
});

// set up event listening
ivsPlayer.addEventListener(event, callback);
ivsPlayer.removeEventListener(event, callback);
```

wobei `callback` ein Callback ist, den Sie definieren und `event` einer hiervon ist: `PlayerEventType`, `PlayerState`, oder `ErrorType`. Weitere Informationen zu Ereignissen finden Sie in [Amazon IVS Player SDK: Webreferenz](https://aws.github.io/amazon-ivs-player-docs/1.51.0/web/).

Das `'providerPlayer'`-Ereignis wird von JW Player ausgegeben, und der Callback, bei dem Sie sich registrieren, erhält ein Objekt mit den folgenden Feldern:


| Feld | Beschreibung | 
| --- | --- | 
| `ivsPlayer` | Gibt die zugrunde liegende Amazon IVS-Player-Instance zurück. Die vollständige Amazon IVS Player Web API ist über diese Instance verfügbar. Wir empfehlen, die Basic JW Player-Wiedergabe-API so weit wie möglich zu verwenden und diese Funktion nur für den Zugriff auf Amazon IVS-spezifische Funktionen zu verwenden. Die häufigsten Funktionen, auf die Sie wahrscheinlich auf der Amazon IVS-Player-Instance zugreifen müssen, sind `addEventListener()` und `removeEventListener()`. | 
| `ivsEvents` | Gibt ein Objekt mit `PlayerEventType`-, `PlayerState`- und `ErrorType`- Feldern zurück, die auf ihre zugehörigen Amazon IVS-spezifischen Enums abgebildet werden. Weitere Informationen finden Sie unter [Amazon IVS Player SDK: Webreferenz](https://aws.github.io/amazon-ivs-player-docs/1.51.0/web/). | 

## Fehler
<a name="jwplayer-errors"></a>

Für allgemeine JW Player-Fehler verwenden Sie die [an](https://docs.jwplayer.com/players/docs/jw8-reference#event-listening-with-the-jwp-api)-Funktion des JW Players, um Fehlerereignisse zu hören.

Bei Fehlern, die für Amazon IVS spezifisch sind, hören Sie den Amazon IVS-Player auf seine eigenen Fehler:

```
// set default values for ivsPlayer and ivsEvents
var ivsPlayer = {};
var ivsEvents = {};

// store references to the Amazon IVS Player and Amazon IVS Events
jwplayer(JW_PLAYER_DIV).on('providerPlayer', function (player) {
   ivsPlayer = player.ivsPlayer;
   ivsEvents = player.ivsEvents;
});

// set up event listening:
let playerEvent = ivsEvents.PlayerEventType;
ivsPlayer.addEventListener(playerEvent.ERROR, callback);
```

Der Callback erhält ein Objekt mit den folgenden Feldern:


| Feld | Beschreibung | 
| --- | --- | 
| `type` | Der Fehlertyp. Entspricht `ErrorType`-Ereignissen. Weitere Informationen finden Sie unter [Amazon IVS Player SDK: Webreferenz](https://aws.github.io/amazon-ivs-player-docs/1.51.0/web/). | 
| `code` | Der Fehlercode. | 
| `source` | Quelle des Fehlers. | 
| `message` | Menschlich lesbare Fehlermeldung. | 

## Inhaltssicherheitsrichtlinie
<a name="jwplayer-content-security-policy"></a>

Die Amazon IVS-Provider-API ist so konfiguriert, dass sie auf Seiten funktioniert, die Content Security Policy (CSP) verwenden. Weitere Informationen finden Sie im Abschnitt „Arbeiten mit Inhaltssicherheitsrichtlinie“ im [IVS Player SDK: Leitfaden für Web](web-content-security-policy.md).

## Einschränkungen
<a name="jwplayer-limitations"></a>

Der Anbieter unterstützt kein Casting. Wenn Sie das Casting im JW Player-Dashboard aktiviert haben, können Sie es deaktivieren, indem Sie `cast` auf `null` beim Aufruf von `setup()` setzen. Dadurch wird der Casting-Button ausgeblendet.