View a markdown version of this page

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

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 Connect Customer in App, Web, Videoanrufe und Bildschirmübertragung in Ihre Anwendung:

  1. Verwenden Sie die Connect Customer StartWebRTCContact API, um den Kontakt zu erstellen.

  2. Verwenden Sie dann die vom API-Aufruf zurückgegebenen Details, um mithilfe der Amazon Chime Clientbibliothek für iOS , Android oder an dem Anruf teilzunehmen 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 Connect Customer StartWebRTCContact API, um den Kontakt zu starten, an den alle Attribute oder den Kontext weitergegeben Connect Customer werden.

  3. Die Client-Anwendung schließt sich dem Anruf an und verwendet dabei die Details, die StartWebRTCContact in Schritt 2 zurückgegeben wurden.

  4. (Optional) Der Client verwendet die CreateParticipantConnection API, um eine zu empfangenConnectionToken, die zum Senden von DTMF über die SendMessage API 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 mithilfe der CreateParticipantConnection APIs CreateParticipant und hinzugefügt werden.

Erste Schritte

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

  1. Verwenden Sie die StartWebRTCContact API, 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-Clientobjekt 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, werden zwei Connect Customer Participant Service APIs benötigt: CreateParticipantConnection SendMessage bzw.

Anmerkung

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

  1. Zum Abrufen CreateParticipantConnection aufrufenConnectionToken. (ParticipantTokenwird für den Aufruf dieser API benötigt. Sie finden es in der StartWebRTCContact Antwort.)

  2. Rufen Sie mit dem ConnectionToken SendMessage zum 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 sie darüber zu informieren, dass sie in der Warteschleife sind und ihre video/screen gemeinsame Nutzung immer noch 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. Bestimmte 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