Native Integration von In-App-, Web- und Videoanrufen sowie Bildschirmfreigabe-Funktionen in Ihre mobile 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.

Native Integration von In-App-, Web- und Videoanrufen sowie Bildschirmfreigabe-Funktionen in Ihre mobile Anwendung

So integrieren Sie In-App-, Web- und Videoanrufe sowie Bildschirmfreigabe-Funktionen 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 von weiteren Teilnehmern finden Sie unter Aktivieren von In-App-, Web- und Videoanrufen 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 erforderlichen Details zurück, damit der Amazon Chime SDK Client am Anruf teilnehmen kann.

  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 mit dem Parameter MeetingSessionConfiguration, 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 Vorgänge und eine umfassende API-Dokumentation finden Sie in den plattformspezifischen API-Übersichtsleitfäden:

Senden von DTMF-Tönen

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.

Auswählen von Audiogeräten

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);

Stummschalten von Audio und Aufheben der Audiostummschaltung

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();

Starten des eigenen Videos

Um das eigene Video zu starten, verwenden Sie den Parameter meetingSession.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 des eigenen Videos

Um das eigene Video zu stoppen, verwenden Sie den Parameter meetingSession.audioVideo.stopLocalVideo().

iOS/Android

meetingSession.audioVideo.stopLocalVideo()

JavaScript

meetingSession.audioVideo.stopLocalVideoTile();

Aktivieren des Kundendienstmitarbeiter-Videos

Verwenden Sie den Parameter meetingSession.audioVideo.startRemoteVideo(), um das Empfangen und Laden von Videos des Kundendienstmitarbeiters in der Anwendung zuzulassen. Sie müssen außerdem den Parameter „VideoTileObserver“ 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);

Umfassende Informationen zur Implementierung von Videokacheln finden Sie in den plattformspezifischen SDK-Anleitungen.

Deaktivieren des Kundendienstmitarbeiter-Videos

Verwenden Sie den Parameter meetingSession.audioVideo.stopRemoteVideo(), um das Empfangen und Laden von Videos des Kundendienstmitarbeiters in der Anwendung nicht zuzulassen.

iOS/Android

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

JavaScript

meetingSession.audioVideo.unbindVideoElement(tileId);

Verwenden von Datennachrichten

Sie können Datennachrichten verwenden, wenn Sie einen beliebigen Status des Kundendienstmitarbeiters 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);

Hören von Stoppereignissen

Sie können über den Beobachter audioVideoDidStop nach Ereignissen hören, wenn die Teilnahme eines Kontakts endet. Spezifische Statuscodes können je nach Plattform variieren.

Anruf erreicht Kapazität

Wenn mehr als 6 Personen versuchen, am Anruf teilzunehmen, wird weiteren Teilnehmer die folgende Fehlermeldung angezeigt. Sie können erst teilnehmen, wenn andere Teilnehmer den Anruf beenden.

  • iOS: MeetingSessionStatusCode.audioCallAtCapacity oder MeetingSessionStatusCode.audioAuthenticationRejected

  • Android: MeetingSessionStatusCode.AudioCallAtCapacity oder MeetingSessionStatusCode.AudioAuthenticationRejected

  • JavaScript: MeetingSessionStatusCode.AudioCallAtCapacity oder MeetingSessionStatusCode.AudioAuthenticationRejected

Teilnehmer wurde aus Anruf entfernt

Wenn ein Teilnehmer vom Kundendienstmitarbeiter aus dem Anruf entfernt wird, der Kontakt jedoch für andere Teilnehmer weitergeführt wird, wird ihnen der folgende Statuscode angezeigt. Beachten Sie, wenn die Entfernung des Teilnehmers zum Beenden des Kontakts führt, wird ihm entweder dieser Status oder der Status „Kontakt beendet“ angezeigt.

  • iOS: MeetingSessionStatusCode.audioServerHungup oder MeetingSessionStatusCode.audioAuthenticationRejected

  • Android: MeetingSessionStatusCode.AudioServerHungup oder MeetingSessionStatusCode.AudioAuthenticationRejected

  • JavaScript: MeetingSessionStatusCode.AudioAttendeeRemoved oder MeetingSessionStatusCode.AudioAuthenticationRejected

Kontakt beendet

Wenn der tatsächliche Kontakt für alle Teilnehmer vollständig beendet wird, wird ihnen der folgende Statuscode angezeigt.

  • iOS: MeetingSessionStatusCode.audioCallEnded

  • Android: MeetingSessionStatusCode.AudioCallEnded

  • JavaScript: MeetingSessionStatusCode.AudioCallEnded