Integrieren Sie In-App-, Web-, Videoanrufe und Screensharing nativ in Ihre Anwendung - Amazon Connect

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Integrieren Sie In-App-, Web-, Videoanrufe und Screensharing nativ in Ihre Anwendung

So integrieren Sie In-App-, Web-, Videoanrufe und Screensharing von Amazon Connect in Ihre Anwendung:

  1. Verwenden Sie die Amazon Connect StartWebRTCContactConnect-API, um den Kontakt zu erstellen.

  2. Verwenden Sie dann die vom API-Aufruf zurückgegebenen Details, um dem Anruf mithilfe der Amazon Chime Clientbibliothek für iOS, Android oder beizutreten JavaScript.

Informationen zum Erstellen zusätzlicher Teilnehmer finden Sie unterAktivieren Sie In-App-, Web- und Videoanrufe für mehrere Benutzer.

Beispielanwendungen finden Sie im folgenden Github-Repository: amazon-connect-in-app-calling-examples.

So leitet ein Client-Gerät einen In-App- oder Webanruf ein

Das folgende Diagramm zeigt die Reihenfolge der Ereignisse, wenn ein Client-Gerät (mobile Anwendung oder Browser) einen In-App- oder Webanruf einleitet.

Konzeptionelles Diagramm, das zeigt, wie ein Client-Gerät einen Anruf einleitet.
  1. Ihr Kunde verwendet die Client-Anwendung (Website oder Anwendung), um einen In-App- oder Webanruf zu starten.

  2. Die Client-Anwendung (Website oder mobile Anwendung) oder der Webserver verwendet die Amazon Connect StartWebRTCContactAPI, um den Kontakt zu starten und übergibt Attribute oder Kontext an. Amazon Connect

  3. Die Client-Anwendung nimmt mithilfe der StartWebRTCContactin Schritt 2 zurückgegebenen Details am Anruf teil.

  4. (Optional) Der Client verwendet die CreateParticipantConnectionAPI, um eine zu empfangenConnectionToken, die zum Senden von DTMF über die SendMessageAPI verwendet wird.

  5. Der Kontakt erreicht den Flow und wird basierend auf dem Flow weitergeleitet und in die Warteschlange gestellt.

  6. Der Kundendienstmitarbeiter akzeptiert den Kontakt.

  7. (Optional) Wenn Video für den Kunden und den Kundendienstmitarbeiter aktiviert ist, können sie ihr Video starten.

  8. (Optional — nicht im Diagramm dargestellt) Zusätzliche Teilnehmer können mit dem CreateParticipantund CreateParticipantConnection APIshinzugefügt werden.

Erste Schritte

Im Folgenden sind die allgemeinen Schritte für den Einstieg aufgeführt:

  1. Verwenden Sie die StartWebRTCContactAPI, um den Kontakt zu erstellen. Die API gibt die Details zurück, die der Amazon Chime SDK-Client benötigt, um an dem Anruf teilzunehmen.

  2. Instanziieren Sie das Amazon Chime MeetingSessionConfiguration SDK-Client-Objekt mithilfe der von zurückgegebenen Konfigurationen. StartWebRTCContact

  3. Instanziieren Sie den Amazon Chime SDK-Client DefaultMeetingSession mitMeetingSessionConfiguration, der in Schritt 2 erstellt wurde, um eine Client-Besprechungssitzung zu erstellen.

    • iOS

      let logger = ConsoleLogger(name: "logger") let meetingSession = DefaultMeetingSession( configuration: meetingSessionConfig, logger: logger )
    • Android

      val logger = ConsoleLogger() val meetingSession = DefaultMeetingSession( configuration = meetingSessionConfig, logger = logger, context = applicationContext )
    • JavaScript

      const logger = new ConsoleLogger('MeetingLogs', LogLevel.INFO); const deviceController = new DefaultDeviceController(logger); const configuration = new MeetingSessionConfiguration( meetingResponse, attendeeResponse ); const meetingSession = new DefaultMeetingSession( configuration, logger, deviceController );
  4. Verwenden Sie die Methode meetingSession.audioVideo.start(), um den WebRTC-Kontakt mit Audio zu verbinden.

    • iOS/Android

      meetingSession.audioVideo.start()
    • JavaScript

      await meetingSession.audioVideo.start();
  5. Verwenden Sie die Methode meetingSession.audioVideo.stop(), um aufzulegen und den WebRTC-Kontakt zu beenden.

    • iOS/Android

      meetingSession.audioVideo.stop()
    • JavaScript

      meetingSession.audioVideo.stop();

Optionale Schritte:

Weitere Funktionen und eine umfassende API-Dokumentation finden Sie in den plattformspezifischen API-Übersichtsleitfäden:

Senden Sie DTMF-Töne

Um DTMF an den Anruf zu senden, APIs sind zwei Amazon Connect Participant Service erforderlich: CreateParticipantConnectionund SendMessagejeweils.

Anmerkung

contentTypefür die SendMessage API muss es sein. audio/dtmf

  1. Zum Abrufen CreateParticipantConnectionaufrufenConnectionToken. (ParticipantTokenwird für den Aufruf dieser API benötigt. Sie finden es in der StartWebRTCContactAntwort.)

  2. Rufen Sie mit dem ConnectionToken SendMessagezum Senden von DTMF-Ziffern auf.

Wählen Sie Audiogeräte

Um das input/output Audiogerät auszuwählen, können Sie die Methoden des Amazon Chime SDK-Clients für Android und iOS oder die nativen iOS-Funktionen für iOS verwenden.

iOS/Android

meetingSession.audioVideo.listAudioDevices() meetingSession.audioVideo.chooseAudioDevice(mediaDevice)

JavaScript

await meetingSession.audioVideo.listAudioInputDevices(); await meetingSession.audioVideo.listAudioOutputDevices(); await meetingSession.audioVideo.startAudioInput(device); await meetingSession.audioVideo.chooseAudioOutput(deviceId);

Audio stummschalten und Stummschaltung aufheben

Verwenden Sie zum Stummschalten und Aufheben der Stummschaltung meetingSession.audioVideo.realtimeLocalMute() und meetingSession.audioVideo.realtimeLocalUnmute().

iOS/Android

meetingSession.audioVideo.realtimeLocalMute() meetingSession.audioVideo.realtimeLocalUnmute()

JavaScript

meetingSession.audioVideo.realtimeMuteLocalAudio(); meetingSession.audioVideo.realtimeUnmuteLocalAudio();

Starte das Selbstvideo

Um das Selbstvideo zu starten, verwenden Sie denmeetingSession.audioVideo.startLocalVideo(). Weitere Informationen zum Auflisten und Auswählen bestimmter Geräte finden Sie in den API-Anleitungen zur Clientbibliothek.

iOS/Android

meetingSession.audioVideo.startLocalVideo()

JavaScript

meetingSession.audioVideo.startLocalVideoTile();

Stoppen Sie das Selbstvideo

Um das Selbstvideo zu beenden, verwenden Sie denmeetingSession.audioVideo.stopLocalVideo().

iOS/Android

meetingSession.audioVideo.stopLocalVideo()

JavaScript

meetingSession.audioVideo.stopLocalVideoTile();

Agentenvideo aktivieren

Um das Empfangen und Laden von Videos des Agenten innerhalb der Anwendung zu ermöglichen, verwenden Sie denmeetingSession.audioVideo.startRemoteVideo(). Sie müssen außerdem Video-Kachel-Beobachter implementieren und Videokacheln an Anzeigeansichten binden.

iOS/Android

meetingSession.audioVideo.startRemoteVideo() // Implement VideoTileObserver to handle video tiles meetingSession.audioVideo.addVideoTileObserver(observer) // In videoTileDidAdd callback: meetingSession.audioVideo.bindVideoView(videoView, tileId: tileState.tileId)

JavaScript

// Remote video is received automatically when available // Implement AudioVideoObserver to handle video tiles meetingSession.audioVideo.addObserver(observer); // In videoTileDidUpdate callback: meetingSession.audioVideo.bindVideoElement(tileId, videoElement);

Vollständige Informationen zur Implementierung von Videokacheln finden Sie in den plattformspezifischen SDK-Anleitungen.

Agenten-Video deaktivieren

Um das Empfangen und Laden von Videos des Agenten in der Anwendung zu verhindern, verwenden Sie denmeetingSession.audioVideo.stopRemoteVideo().

iOS/Android

meetingSession.audioVideo.stopRemoteVideo() meetingSession.audioVideo.unbindVideoView(tileId)

JavaScript

meetingSession.audioVideo.unbindVideoElement(tileId);

Verwenden Sie Datennachrichten

Sie können Datennachrichten verwenden, wenn Sie einen beliebigen Status von der Agentenseite an den Endbenutzer senden müssen. Wenn sich Kunden beispielsweise in der Warteschleife befinden, können Sie eine Datennachricht an die Anwendung des Kunden senden, um ihn darüber zu informieren, dass er sich in der Warteschleife befindet und das video/screen Teilen weiterhin gesendet wird, oder Sie können das video/screen Teilen deaktivieren.

iOS/Android

meetingSession.audioVideo.realtimeSendDataMessage(topic, data, lifetimeMs) meetingSession.audioVideo.addRealtimeDataMessageObserver(topic, observer)

JavaScript

meetingSession.audioVideo.realtimeSendDataMessage(topic, data, lifetimeMs); meetingSession.audioVideo.realtimeSubscribeToReceiveDataMessage(topic, callback);

Achte auf Stop-Events

Du kannst über den audioVideoDidStop Beobachter nach Ereignissen Ausschau halten, wenn die Teilnahme eines Kontakts endet. Spezifische Statuscodes können je nach Plattform variieren.

Der Anruf erreicht seine Kapazität

Wenn mehr als 6 Personen versuchen, an der Telefonkonferenz teilzunehmen, erhalten weitere Teilnehmer die folgende Fehlermeldung und sie können erst teilnehmen, wenn andere Teilnehmer den Anruf verlassen.

  • iOS: MeetingSessionStatusCode.audioCallAtCapacity oder MeetingSessionStatusCode.audioAuthenticationRejected

  • Android: MeetingSessionStatusCode.AudioCallAtCapacity oder MeetingSessionStatusCode.AudioAuthenticationRejected

  • JavaScript: MeetingSessionStatusCode.AudioCallAtCapacity oder MeetingSessionStatusCode.AudioAuthenticationRejected

Teilnehmer wurde aus dem Gespräch entfernt

Wenn ein Teilnehmer vom Agenten aus dem Gespräch entfernt wird, der Kontakt aber für andere Teilnehmer weitergeführt wird, erhalten sie den folgenden Statuscode. Beachten Sie, dass, wenn die Entfernung des Teilnehmers zum Ende des Kontakts führt, dieser entweder diesen Status oder den Status „Kontaktende“ erhält.

  • iOS: MeetingSessionStatusCode.audioServerHungup oder MeetingSessionStatusCode.audioAuthenticationRejected

  • Android: MeetingSessionStatusCode.AudioServerHungup oder MeetingSessionStatusCode.AudioAuthenticationRejected

  • JavaScript: MeetingSessionStatusCode.AudioAttendeeRemoved oder MeetingSessionStatusCode.AudioAuthenticationRejected

Der Kontakt endet

Wenn der eigentliche Kontakt für alle Teilnehmer vollständig beendet ist, erhalten sie den folgenden Statuscode.

  • iOS: MeetingSessionStatusCode.audioCallEnded

  • Android: MeetingSessionStatusCode.AudioCallEnded

  • JavaScript: MeetingSessionStatusCode.AudioCallEnded