Mit dem TeamViewer Software Development Kit (SDK) können Sie die volle Funktionalität von Assist AR nutzen und Ihren Kunden die beste AR-Fernunterstützung bieten, indem Sie AR-Fernunterstützungsfunktionen 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 14.1 und höher
  • Ein bestehendes TeamViewer Konto

Wenn Sie noch kein TeamViewer Konto haben, folgen Sie den nachstehenden Schritten, um eines zu erstellen:

  1. Gehen Sie zu https://login.teamviewer.com/ und klicken Sie auf Sign Up.
  2. Führen Sie die Schritte aus, um ein Konto zu erstellen und Ihre E-Mail-Adresse zu bestätigen.

Einen API-Schlüssel generieren

1) Gehen Sie zu https://login.teamviewer.com/ und melden Sie sich mit Ihrem TeamViewer Konto an.

2) Klicken Sie unten auf der Seite auf Apps.

3) Klicken Sie auf die Schaltfläche App erstellen.

4) Aktivieren Sie den Mobile SDK Token, geben Sie einen Namen ein und fügen Sie (optional) eine kurze Beschreibung hinzu.

5) Aktivieren Sie iOS.

6) Klicken Sie auf Erstellen.

Ihr Token wird beim Öffnen der erstellten App angezeigt:

Kopieren Sie diesen Token in Ihre Zwischenablage und fügen Sie ihn an einem sicheren Ort ein.

🚨WICHTIG: Geben Sie diesen Token nicht an Dritte weiter!

Holen Sie sich das TeamViewer Mobile SDK

Es gibt zwei Möglichkeiten, das TeamViewer Mobile SDK zu installieren:

A. Installieren Sie das TeamViewer Mobile SDK über CocoaPods

Der einfachste Weg, das TeamViewer SDK zu erhalten, ist über CocoaPods. Um das SDK zu Ihrem Projekt hinzuzufügen, fügen Sie dies zu Ihrer Pod-Datei hinzu:

platform :ios, '12.0'
target YOUR_TARGET do
  use_frameworks!
  pod 'TeamViewerSDK'
end

B. Manuell installieren

1) Das SDK ist für Kunden mit einer Assist AR Professional-Lizenz verfügbar und wird vom TeamViewer Support-Team verteilt.

2) Laden Sie die .zip-Datei herunter, entpacken Sie sie und kopieren Sie alle enthaltenen xcframework-Ordner in Ihren Projektordner.

📌Hinweis: Das SDK wird als universelles XCFramework verteilt, das beide Architekturen, iOS arm64 und Simulator x86, enthält. Wir unterstützen derzeit keine Apple Silicon oder Mac Catalyst Architekturen.

3) Verknüpfen Sie die Frameworks TVLocalizations und TeamViewerSDK mit Ihrem Projekt.

4) Stellen Sie sicher, dass die Option Einbetten & Signieren ausgewählt ist.

5) Je nach Ihrer Implementierung müssen Sie möglicherweise auch eine Verknüpfung mit ARKit und CallKit herstellen.

6) Nur wenn Sie planen, CallKit zu unterstützen: Link gegen CallKit.

Einrichten Ihres Xcode-Projekts

Das TeamViewer SDK verwendet die Kamera und das Mikrofon während einer Fernwartungssitzung.

1) Fügen Sie der Datei Info.Plist die folgenden Schlüssel hinzu:

  • NSMicrophoneUsageDescription
  • NSCameraUsageDescription

Wenn Sie diese Schlüssel nicht hinzufügen, wird iOS die Anwendung beenden, sobald das SDK versucht, auf das Mikrofon oder die Kamera zuzugreifen.

Verwendung des TeamViewer SDK

🚨WICHTIG: Das SDK ist eine einzelne Instanzklasse. Sie können sie nicht 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) Setzen Sie einen Delegaten, der dem Protokoll TeamViewerSDKDelegate entspricht.

Dadurch wird sichergestellt, dass Sie auf Ereignisse reagieren können, die während der Lebensdauer Ihrer TeamViewer Verbindung eintreten.

3) Verbinden Sie sich mit einem Sitzungscode

Das Shared SDK bietet eine Methode zum Aufbau einer Verbindung zu einem Sitzungscode. Dieser Sitzungscode kann von zwei Typen sein:

  • Fernunterstützung oder
  • Assist AR

4) Erstellen Sie Sitzungscodes in Ihrem TeamViewer Client oder über die TeamViewer REST API.

Die Methode connectToSessionCode gibt eine TeamViewer Sitzung zurück.

🚨WICHTIG: Sie sind dafür verantwortlich, diese Variable aufrechtzuerhalten und auch dafür, sie wieder freizugeben. Andernfalls kann es passieren, dass die Sitzungsschnittstelle auch nach Beendigung der Fernsitzung aufrechterhalten wird.

🚨WICHTIG: Sobald das SDK eine Verbindung zu einem Sitzungscode herstellt, tritt es in einen Wartezustand ein. Sie werden über die Delegatenmethode handleSessionCodeOnline über die Zustandsänderung informiert.

Zu diesem Zeitpunkt sollten Sie dem Benutzer nicht erlauben, eine Verbindung zu einem anderen Sitzungscode herzustellen. Es ist nur erlaubt, dem Benutzer zu erlauben, die aktuelle Verbindung zu verlassen.

Auf der Supporter-Seite wird der Sitzungscode als online angezeigt, so dass der Client eine Verbindung zu diesem Sitzungscode herstellen kann.

Reagieren auf eingehende Verbindungen

Das SDK bietet Delegatmethoden, um auf eingehende Verbindungsereignisse zu reagieren.

Sobald die Verbindung auf der Seite TeamViewer initiiert wurde, wird das SDK über die Delegatenmethode 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, um die eingehende Verbindung zuzulassen oder abzulehnen.

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 übernommen und es findet eine bidirektionale VoIP-Kommunikation zwischen dem Benutzer und dem Supporter statt.

  • Für die Verbindung Assist AR 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 Delegatenmethode handleConnectionRequestAbort sollte implementiert werden, um benachrichtigt zu werden, wenn der entfernte 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.

Reagieren auf optionale SDK-Ereignisse

  • handleSupporterConnected: Diese Methode wird aufgerufen, wenn der Supporter die Sitzung beendet hat. Sie wird auch aufgerufen, wenn der Benutzer die Sitzung lokal beendet hat.
  • handleSupporterDisconnected: Diese Methode wird aufgerufen, wenn der Unterstützer die Sitzung beendet hat. Sie wird auch aufgerufen, wenn der Benutzer die Sitzung lokal beendet hat.

💡Hinweis: Sie sollten die Verweise auf die Sitzung löschen, da die Sitzung zu diesem Zeitpunkt als nicht mehr gültig betrachtet wird.

  • handleError: Diese Methode wird aufgerufen, wenn der Sitzungscode oder das für den Verbindungsaufbau verwendete API-Token nicht gültig sind.

💡Hinweis: Sie sollten die für die aktuelle Sitzung verwendeten Ressourcen bereinigen, da die Sitzung selbst als ungültig betrachtet wird.

Reagieren auf optionale Sitzungsereignisse

  • handleSessionError: Diese Funktion wird aufgerufen, wenn während der Sitzung ein Fehler aufgetreten ist. Zum Beispiel wurde eine Funktion angefordert, aber die Kompatibilität zwischen Client und Server war nicht gegeben.

💡Hinweis: Dieser Fehler ist nur informativ. Sie können ihn in eine Protokolldatei schreiben.

Hinweis zur CallKit-Unterstützung

Wenn Ihre Anwendung CallKit unterstützt:

  • Geben Sie dem TeamViewer SDK Informationen über den eindeutigen Bezeichner Ihres Anrufs.
  • TeamViewer fragt das System, ob ein Anruf läuft, und versucht nicht, eine VoIP-Verbindung aufzubauen, wenn dies der Fall ist.
  • Teilen Sie TeamViewer mit, dass der aktuelle Anruf Ihnen gehört, damit wir die Audiopipeline übernehmen und die VoIP-Übertragung starten können:
    1. Rufen Sie die Methode setupCallUUID auf.
    2. Teilen Sie dem SDK mit, dass Ihr Anruf beendet ist, indem Sie die Methode clearCallUUID aufrufen.

Aktivieren von Hintergrundmodi

Vergewissern Sie sich, dass Sie mindestens einen dieser Hintergrundmodi in Ihrer Info.plist-Datei aktiviert haben:

  • Audio,
  • AirPlay oder
  • Voice-over-IP-Hintergrundmodus.

🚨WICHTIG: Wenn Sie dies nicht tun, wird die Anwendung nur wenige Sekunden, nachdem sie während einer aktiven TeamViewer Sitzung in den Hintergrund gestellt wurde, ausgesetzt.

Audio-Einrichtung

Das mobile SDK arbeitet mit den Standardwerten der AVAudioSession-Konfiguration.

  • Wenn Sie diese Werte überschreiben möchten, um Bluetooth, Airplay-Mix, die Verwendung von Lautsprechern usw. zu unterstützen, stellen Sie sicher, dass Sie dies ändern, bevor eine Sitzung aufgebaut wird. Für den Fall, dass Ihre Anwendung andere Anwendungen stumm schaltet, ist der empfohlene Zeitpunkt für die Konfiguration der Audiositzung unmittelbar vor der Annahme der Verbindung.
  • Wenn sich der Ton Ihrer Anwendung mit dem anderer Anwendungen mischt, können Sie die Audiooptionen beim Start der Anwendung konfigurieren.

VoIP deaktivieren

Falls Sie eine andere Methode zum Aufbau der Sprachkommunikation verwenden möchten, können Sie die VoIP-Funktion vollständig deaktivieren, indem Sie die Optionen auf der gemeinsamen SDK-Instanz vor dem Verbindungsaufbau einstellen.

Weitere Informationen finden Sie in der Dokumentation TVSDKOptions.

Dokumentation der Klasse

Alle öffentlichen Kopfzeilen sind dokumentiert. Ausführliche Informationen zu den einzelnen Klassen finden Sie in der von Xcode generierten QuickHelp-Information ('⌥ '+ Klick auf Konstante oder Variablenname).