Mit dem TeamViewer Software Development Kit (SDK) können Sie die volle Funktionalität von Assist AR nutzen und Ihren Kunden den besten AR-Remote-Support bieten, indem Sie AR-Remote-Support-Funktionen in Ihre eigenen mobilen Anwendungen einbetten.
Mit dem SDK können Sie sichere und GDPR-konforme Verbindungen zu den Geräten Ihrer Kunden herstellen.
Dieser Artikel gilt für alle Benutzer von TeamViewer Assist AR .
Voraussetzungen
- iOS 15.4 und neuer
- Bestehendes TeamViewer Konto
Wenn Sie noch kein TeamViewer Konto haben, befolgen Sie die hier aufgeführten Schritte, um eines zu erstellen.
API-Schlüssel generieren
1. Öffnen Sie TeamViewer Remote oder https://web.teamviewer.com/ und melden Sie sich mit Ihrem TeamViewer Konto an.
2. Klicken Sie auf Admin-Einstellungen.
3. Klicken Sie unter Authentifizierung auf Apps & Tokens.
4. Klicken Sie auf Profileinstellungen.
5. Klicken Sie auf das Dropdown-Menü App oder Token erstellen und dann auf Mobile SDK erstellen.
6. Geben Sie einen Namen und eine Beschreibung ein (optional).
7. Wählen Sie iOS im Mobile SDK-System aus.
8. Klicken Sie auf Speichern.
Ihr mobiles SDK-Token wird beim Öffnen von Apps & Tokens angezeigt:
9. Klicken Sie auf die drei Punkte, klicken Sie auf Token kopieren und fügen Sie ihn an einem sicheren Ort ein.
WICHTIG: Geben Sie diesen Token nicht an Dritte weiter.
TeamViewer Mobile SDK installieren
Sie können das TeamViewer SDK als Swift Package Manager (SPM) oder manuell installieren, indem Sie die folgenden Schritte ausführen:
- TeamViewer SDK als Swift Package Manager installieren
- TeamViewer SDK manuell installieren
Sie können das TeamViewer SDK als SPM zu jedem Projekt hinzufügen, indem Sie die folgenden Schritte ausführen:
1. Öffnen Sie das Projekt und klicken Sie auf Package Dependencies (Paketabhängigkeiten).
2. Klicken Sie auf das Plus-Symbol in der unteren linken Ecke:
3. Geben Sie den GitHub-Link des SPM-Pakets in die Suchleiste ein. Das TeamViewer-AR-iOS-SPM-Paket wird im Ergebnis angezeigt:
4.Klicken Sie auf Add package (Paket hinzufügen).
5. Wählen Sie das Target (Ziel) aus, zu dem dieses Paket als Dependency (Abhängigkeit) hinzugefügt werden soll.
6. Bestätigen Sie durch Klicken auf Add package (Paket hinzufügen).
7. Das TeamViewer SDK wird als Dependency (Abhängigkeit) zum Projekt hinzugefügt.
8. Das Paket wird auch zum Target (Ziel) hinzugefügt (ausgewählt in Schritt 5):
9. Wenn das Paket in Schritt 5 nicht zum Target (Ziel) hinzugefügt wurde, können Sie dies tun, indem Sie wie zuvor gezeigt auf das Plus-Symbol klicken und Add Package Dependency (Paketabhängigkeit hinzufügen) auswählen, um das SPM-Paket einzufügen.
Dieses Mal wird es in der Liste Recent (Zuletzt verwendet) angezeigt (siehe Schritt 3):
Das SDK ist für Kunden mit einer Assist AR Professional-Lizenz verfügbar und wird vom TeamViewer Supportteam bereitgestellt.
1. Laden Sie die ZIP-Datei herunter, entpacken Sie diese und kopieren Sie alle enthaltenen xcframework-Ordner in Ihren Projektordner.
Hinweis: Das SDK wird als universelles XCFramework bereitgestellt, das beide Architekturen enthält, iOS arm64 und Simulator x86. Derzeit unterstützen wir keine Apple Silicon- oder Mac Catalyst-Architekturen. Zusätzlich ist eine Verteilung mit dem Swift Package Manager (SPM) möglich.
2. Verknüpfen Sie die Frameworks TVLocalizations und TeamViewerSDK mit Ihrem Projekt.
3. Stellen Sie sicher, dass die Option Einbetten & Signieren ausgewählt ist.
4. Je nach Ihrer Implementierung müssen Sie möglicherweise auch eine Verknüpfung mit ARKit und CallKit herstellen.
5. Nur wenn Sie CallKit unterstützen möchten: Stellen Sie eine Verknüpfung mit CallKit her.
Xcode-Projekt einrichten
Das TeamViewer SDK verwendet während einer Remote-Support-Session die Kamera und das Mikrofon.
Fügen Sie der Datei Info.Plist die folgenden Schlüssel hinzu:
- NSMicrophoneUsageDescription
- NSCameraUsageDescription
Wenn Sie diese Schlüssel nicht hinzufügen, beendet iOS die Anwendung in dem Moment, in dem das SDK versucht, auf das Mikrofon oder die Kamera zuzugreifen.
TeamViewer SDK verwenden
WICHTIG: Das SDK ist eine einzelne Instanzklasse. Sie können keine direkt erstellen. Sie sollten auf die gemeinsame Instanz zugreifen.
1. Initialisieren Sie die SDK-Instanz mit Ihrem API-Schlüssel, den Sie im Abschnitt Voraussetzungen erhalten haben.
2. Legen Sie einen Delegaten fest, der dem Protokoll TeamViewerSDKDelegate entspricht.
Dadurch wird sichergestellt, dass Sie auf Ereignisse reagieren können, die während der Dauer Ihrer TeamViewer Verbindung auftreten.
3. Verbinden Sie sich mit einem Session-Code
Das gemeinsam genutzte SDK bietet eine Methode zum Herstellen einer Verbindung zu einem Session-Code. Dieser Session-Code kann zwei Arten entsprechen:
- Remote Support oder
- Assist AR
4. Erstellen Sie Session-Codes in Ihrem TeamViewer Client oder über die TeamViewer REST-API.
Die Methode connectToSessionCode resultiert in einer TeamViewer Session.
WICHTIG:
- Sie sind dafür verantwortlich, diese Variable aufrechtzuerhalten und auch freizugeben. Andernfalls kann es vorkommen, dass die Benutzeroberfläche der Session auch nach Beendigung der Remote-Session weiterhin aktiv bleibt.
- Sobald das SDK eine Verbindung zu einem Session-Code herstellt, wechselt es in einen Wartezustand. Über die Delegate-Methode handleSessionCodeOnline werden Sie über die Statusänderung benachrichtigt.
Zu diesem Zeitpunkt sollten Sie dem Benutzer nicht erlauben, eine Verbindung zu einem anderen Session-Code herzustellen. Es ist nur möglich, dem Benutzer zu erlauben, die aktuelle Verbindung zu verlassen.
Auf der Supporter-Seite wird der Session-Code als online angezeigt, so dass der Client eine Verbindung zu diesem Session-Code herstellen kann.
Auf eingehende Verbindungen reagieren
Das SDK bietet Delegate-Methoden, um auf eingehende Verbindungsereignisse zu reagieren.
Sobald die Verbindung auf der TeamViewer Seite initiiert wurde, wird das SDK über die Delegate-Methode handleConnectionRequestWithAuthenticationData über diesen Verbindungsversuch informiert.
Der Parameter für die Authentifizierungsdaten enthält den Namen des Supporters, die Art der eingehenden Verbindung (ScreenShare oder Assist AR) und eine Callback-Funktion zum Zulassen oder Ablehnen der eingehenden Verbindung.
Wird die eingehende Verbindung akzeptiert, wird die entsprechende TeamViewer Verbindung aufgebaut.
- Bei der ScreenShare-Verbindung wird dem Benutzer eine Aufforderung zur Mikrofon- und Bildschirmfreigabe angezeigt.
Die Benutzeroberfläche Ihrer Anwendung wird mit dem Replay-Kit erfasst und es findet eine bidirektionale VoIP-Kommunikation zwischen dem Benutzer und dem Supporter statt.
- Für die Assist AR-Verbindung werden die Systemberechtigungen für den Zugriff auf Kamera und Mikrofon angezeigt. Wenn der Benutzer dies zulässt, wird die AR-Sitzung gestartet. Es findet eine bidirektionale VoIP-Kommunikation zwischen dem Benutzer und dem Supporter statt.
- Die Delegate-Methode handleConnectionRequestAbort sollte implementiert werden, um benachrichtigt zu werden, wenn der Remote-Benutzer die Verbindungsanfrage abbricht. Sie sind dafür verantwortlich, alle Eingabeaufforderungen zu löschen, die dem Benutzer angezeigt werden, oder alle CallKit-Benachrichtigungen über eingehende Anrufe abzubrechen.
Auf optionale SDK-Ereignisse reagieren
- handleSupporterConnected: Diese Methode wird aufgerufen, wenn der Supporter die Session gestartet hat. Sie wird auch aufgerufen, wenn der Benutzer die Session lokal gestartet hat.
- handleSupporterDisconnected: Diese Methode wird aufgerufen, wenn der Supporter die Session beendet hat. Sie wird auch aufgerufen, wenn der Benutzer die Session lokal beendet hat.
Hinweis: Sie sollten die Verweise auf die Session löschen, da die Session zu diesem Zeitpunkt als nicht mehr gültig betrachtet wird.
- handleError: Diese Methode wird aufgerufen, wenn der Session-Code oder das für den Verbindungsaufbau verwendete API-Token nicht gültig sind.
Hinweis: Sie sollten die für die aktuelle Session verwendeten Ressourcen bereinigen, da die Session selbst als ungültig betrachtet wird.
Auf optionale Session-Ereignisse reagieren
- handleSessionError: Diese Methode wird aufgerufen, wenn während der Session ein Fehler aufgetreten ist. Beispielsweise wurde eine Funktion angefordert, aber die Kompatibilität zwischen Client und Server war nicht gegeben.
Hinweis: Dieser Fehler dient nur zu Informationszwecken. Sie können ihn in eine Protokolldatei schreiben.
Hinweis zur CallKit-Unterstützung
Wenn Ihre Anwendung CallKit unterstützt:
- Stellen Sie TeamViewer SDK Informationen über die eindeutige Kennung Ihres Anrufs zur Verfügung.
- TeamViewer fragt das System, ob ein Anruf läuft, und versucht in diesem Fall nicht, eine VoIP-Verbindung herzustellen.
- Teilen Sie TeamViewer mit, dass der aktuelle Anruf von Ihnen stammt, damit wir die Audio-Pipeline übernehmen und die VoIP-Übertragung starten können:
- Rufen Sie die Methode setupCallUUID auf.
- Teilen Sie dem SDK mit, dass Ihr Anruf beendet ist, indem Sie die Methode clearCallUUID aufrufen.
Hintergrundmodi aktivieren
Stellen Sie sicher, dass mindestens einer dieser Hintergrundmodi in Ihrer Info.plist-Datei aktiviert ist:
- Audio,
- AirPlay oder
- Voice-over-IP-Hintergrundmodus.
WICHTIG: Wenn Sie dies nicht tun, wird die App nur wenige Sekunden nach dem Wechsel in den Hintergrund während einer aktiven TeamViewer Session angehalten.
Audio-Einstellungen
Das mobile SDK arbeitet mit den Standardkonfigurationswerten von AVAudioSession.
- Wenn Sie diese Werte überschreiben möchten, um Bluetooth, Airplay, Lautsprecher usw. zu unterstützen, müssen Sie dies vor dem Aufbau einer Session ändern. Falls Ihre Anwendung andere Apps stummschaltet, empfiehlt es sich, die Audio-Session unmittelbar vor der Annahme der Verbindung zu konfigurieren.
- Wenn sich das Audio Ihrer Anwendung mit anderen Apps mischt, können Sie die Audiooptionen beim Start der Anwendung konfigurieren.
VoIP deaktivieren
Falls Sie eine andere Methode zur Herstellung einer Sprachverbindung verwenden möchten, können Sie die VoIP-Funktion vollständig deaktivieren, indem Sie die Optionen in der gemeinsam genutzten SDK-Instanz vor dem Herstellen einer Verbindung entsprechend einstellen.
Weitere Informationen finden Sie in der Dokumentation zu TVSDKOptions.
Klassendokumentation
Alle öffentlichen Header sind dokumentiert. Ausführliche Informationen zu den einzelnen Klassen finden Sie in der von Xcode generierten QuickHelp-Information (⌥ + Klick auf den Name der Konstante oder Variable).