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:
-
Verwenden Sie die Amazon Connect StartWebRTCContactConnect-API, um den Kontakt zu erstellen.
-
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.
-
Ihr Kunde verwendet die Client-Anwendung (Website oder Anwendung), um einen In-App- oder Webanruf zu starten.
-
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
-
Die Client-Anwendung nimmt mithilfe der StartWebRTCContactin Schritt 2 zurückgegebenen Details am Anruf teil.
-
(Optional) Der Client verwendet die CreateParticipantConnectionAPI, um eine zu empfangen
ConnectionToken, die zum Senden von DTMF über die SendMessageAPI verwendet wird. -
Der Kontakt erreicht den Flow und wird basierend auf dem Flow weitergeleitet und in die Warteschlange gestellt.
-
Der Kundendienstmitarbeiter akzeptiert den Kontakt.
-
(Optional) Wenn Video für den Kunden und den Kundendienstmitarbeiter aktiviert ist, können sie ihr Video starten.
-
(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:
-
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.
-
Instanziieren Sie das Amazon Chime
MeetingSessionConfigurationSDK-Client-Objekt mithilfe der von zurückgegebenen Konfigurationen. StartWebRTCContact -
Instanziieren Sie den Amazon-Chime-SDK-Client
DefaultMeetingSessionmit dem ParameterMeetingSessionConfiguration, 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 );
-
-
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();
-
-
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:
-
iOS: API-Übersicht
-
Android: API-Übersicht
-
JavaScript: API-Übersicht
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
-
Zum Abrufen CreateParticipantConnectionaufrufen
ConnectionToken. (ParticipantTokenwird für den Aufruf dieser API benötigt. Sie finden es in der StartWebRTCContactAntwort.) -
Rufen Sie mit dem
ConnectionTokenSendMessagezum 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
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
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.audioCallAtCapacityoderMeetingSessionStatusCode.audioAuthenticationRejected -
Android:
MeetingSessionStatusCode.AudioCallAtCapacityoderMeetingSessionStatusCode.AudioAuthenticationRejected -
JavaScript:
MeetingSessionStatusCode.AudioCallAtCapacityoderMeetingSessionStatusCode.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.audioServerHungupoderMeetingSessionStatusCode.audioAuthenticationRejected -
Android:
MeetingSessionStatusCode.AudioServerHungupoderMeetingSessionStatusCode.AudioAuthenticationRejected -
JavaScript:
MeetingSessionStatusCode.AudioAttendeeRemovedoderMeetingSessionStatusCode.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