Avec TeamViewer Software Development Kit (SDK), vous pouvez utiliser toutes les fonctionnalités de Assist AR et offrir la meilleure expérience de téléassistance AR à vos clients en intégrant des capacités de téléassistance AR dans vos propres applications mobiles.

Le SDK vous permet d'avoir des connexions sécurisées et conformes au GDPR avec les appareils de vos clients.

Cet article s'applique à tous les utilisateurs de TeamViewer Assist AR.

5. Cliquez sur le menu déroulant Create app or token (Créer une application ou un jeton) puis sur Create mobile SDK (Créer un mobile SDK).

6. Saisissez un nom et une description (facultatif).

7. Dans Mobile SDK system (Système Mobile SDK), sélectionnez iOS.

8. Cliquez sur Save (Enregistrer).

Votre jeton SDK mobile s'affiche lorsque vous ouvrez la section Apps & Tokens (Applications et jetons) :

9. Cliquez sur les trois points, puis sur Copy token (Copier le jeton), puis collez-le dans un endroit sûr.

IMPORTANT : Ne partagez pas ce jeton avec qui que ce soit.

Installer TeamViewer Mobile SDK

Vous pouvez installer le TeamViewer SDK comme Swift Package Manager (SPM) ou manuellement, en suivant les instructions ci-dessous :

Vous pouvez ajouter le TeamViewer SDK en tant que SPM à n'importe quel projet en suivant les étapes ci-dessous :

1. Ouvrez le projet puis cliquez sur Package Dependencies (Dépendances du package).

2. Cliquez sur l'icône Plus dans le coin inférieur gauche :

4. Cliquez sur Add Package (Ajouter un package).

5. Sélectionnez la cible à laquelle ce package sera ajouté en tant que dépendance.

6. Confirmez en cliquant sur Add Package (Ajouter package).

7. TeamViewer SDK sera ajouté comme dépendance au projet.

8. Le package sera également ajouté à la cible (sélectionnée à l'étape 5) :

9. Si le package n'a pas été ajouté à la cible à l'étape 5, vous pouvez le faire en cliquant sur l'icône Plus comme indiqué précédemment, puis en sélectionnant Add Package Dependency (Ajouter la dépendance du package) pour inclure le package SPM.

Cette fois, il apparaîtra dans la liste Récent (illustrée à l'étape 3) :

Le SDK est disponible pour les clients disposant d'une licence professionnelle Assist AR et est distribué par l'équipe d'assistance TeamViewer.

1. Téléchargez le fichier .zip, décompressez-le puis copiez tous les dossiers xcframework inclus dans le dossier de votre projet.

Note : Le SDK est distribué en tant que XCFramework universel contenant les deux architectures, iOS arm64 et Simulator x86. Nous ne prenons actuellement pas en charge les architectures Apple Silicon ou Mac Catalyst. Par ailleurs, il est possible de le distribuer avec le Swift Package Manager (SPM).

2. Liez les frameworks TVLocalizations et TeamViewerSDK à votre projet.

3. Assurez-vous que l'option Embed & Sign (Intégrer et signer) est sélectionnée.

4. Il se peut que vous deviez également établir un lien avec ARKit et CallKit, en fonction de votre implémentation.

5. Uniquement si vous prévoyez de prendre en charge CallKit : Lien contre CallKit.

Mise en place du projet Xcode

Le TeamViewer SDK utilise la caméra et le microphone lors d'une session d'assistance à distance.

1. Ajoutez les clés suivantes au fichier Info.Plist :

  • NSMicrophoneUsageDescription
  • NSCameraUsageDescription

Si vous n'ajoutez pas ces clés, iOS mettra fin à l'application dès que le SDK tentera d'accéder au microphone ou à la caméra.

Utilisation du TeamViewer SDK 

IMPORTANT : Le SDK est une classe à instance unique. Vous ne pouvez pas en créer un directement. Vous devez accéder à l'instance partagée.

1. Initialisez l'instance du SDK avec votre clé API obtenue dans la section Prerequisites (Prérequis).

2. Définir un délégué conforme au protocole TeamViewerSDKDelegate.

Vous êtes ainsi en mesure de réagir aux événements qui se produisent pendant la durée de vie de votre connexion TeamViewer.

3. Connexion à un code de session.

Le SDK partagé fournit une méthode pour établir une connexion avec un code de session. Ce code de session peut être de deux types :

  • Support à distance ou
  • Assist AR

4. Créez des codes de session dans votre client TeamViewer ou via l'API REST TeamViewer.

La méthode connectToSessionCode renvoie une session TeamViewer.

IMPORTANT :

  • Vous êtes responsable du maintien de cette variable et de sa libération. Si vous ne le faites pas, l'interface utilisateur de la session risque d'être maintenue en vie même après la fin de la session à distance.
  • Une fois que le SDK se connecte à un code de session, il entre dans un état d'attente. Vous êtes informé du changement d'état par la méthode déléguée handleSessionCodeOnline.

À ce stade, vous ne devez pas permettre à l'utilisateur de se connecter à un autre code de session. Il est seulement permis d'autoriser l'utilisateur à quitter la connexion en cours.

Du côté de l'agent d'assistance, le code de session apparaît comme étant en ligne, ce qui permet au client d'établir une connexion avec ce code de session.

Réagir aux connexions entrantes

Le SDK fournit des méthodes de délégation pour réagir aux événements de connexion entrants.

Une fois la connexion initiée du côté de TeamViewer, le SDK est informé de cette tentative de connexion via la méthode déléguée handleConnectionRequestWithAuthenticationData.

Le paramètre des données d'authentification contient le nom de l'agent d'assistance, le type de connexion entrante (ScreenShare ou Assist AR) et une fonction de rappel pour autoriser ou rejeter la connexion entrante.

Si la connexion entrante est acceptée, la connexion TeamViewer correspondante est établie.

  • Pour la connexion ScreenShare, une invite pour le microphone et le partage d'écran est présentée à l'utilisateur.

L'interface utilisateur de votre application est capturée à l'aide du ReplayKit et il existe une communication VoIP bidirectionnelle entre l'utilisateur et l'agent d'assistance.

  • Pour la connexion Assist AR, les autorisations système pour l'accès à la caméra et au microphone sont affichées. Si l'utilisateur l'autorise, la session de RA est lancée. Une communication VoIP bidirectionnelle est établie entre l'utilisateur et l'agent d'assistance.
  • La méthode déléguée handleConnectionRequestAbort doit être implémentée afin d'être notifiée lorsque l'utilisateur distant annule la demande de connexion. Il est de votre responsabilité d'effacer toutes les invites qui sont montrées à l'utilisateur, ou d'annuler toutes les notifications d'appels entrants de CallKit.

Réagir aux événements optionnels du SDK

  • handleSupporterConnected: Cette méthode est appelée lorsque l'agent d'assistance a démarré la session. Elle est également appelée lorsque l'utilisateur a démarré la session localement.
  • handleSupporterDisconnected: Cette méthode est appelée lorsque l'agent d'assistance a mis fin à la session. Elle est également appelée lorsque l'utilisateur a mis fin à la session localement.

Astuce : Il convient de supprimer les références à la session, car celle-ci n'est plus considérée comme valide à ce stade.

  • handleError: Cette méthode est appelée si le code de session ou le jeton API utilisé pour établir une connexion n'est pas valide.

Astuce : Vous devez nettoyer les ressources utilisées pour la session en cours, car la session elle-même est considérée comme invalide.

Réagir aux événements facultatifs de la session

  • handleSessionError: Cette fonction est appelée lorsqu'une erreur s'est produite au cours de la session. Par exemple, une fonctionnalité a été demandée mais la compatibilité entre le client et le serveur n'a pas été respectée.

Astuce : Cette erreur n'est qu'informative. Vous pouvez l'écrire dans un fichier journal.

Note sur la prise en charge de CallKit

Si votre application prend en charge CallKit :

  • Fournissez au TeamViewer SDK des informations sur l'identifiant unique de votre appel.
  • TeamViewer demande au système s'il y a un appel en cours et n'essaie pas d'établir une connexion VoIP si c'est le cas.
  • Indiquez à TeamViewer que l'appel en cours est le vôtre afin que nous puissions prendre en charge le pipeline audio et démarrer la transmission VoIP :
    1. Appeler la méthode setupCallUUID.
    2. Indiquez au SDK que votre appel est terminé en appelant la méthode clearCallUUID.

Activation des modes d'arrière-plan

Assurez-vous qu'au moins l'un de ces modes d'arrière-plan est activé dans votre fichier Info.plist :

  • Audio
  • AirPlay ou
  • Mode d'arrière-plan pour la voix sur IP

IMPORTANT : Si vous ne le faites pas, l'application sera suspendue quelques secondes seulement après avoir été placée en arrière-plan lors d'une session active sur TeamViewer.

Configuration audio

Le mobile SDK utilise les valeurs de configuration par défaut d'AVAudioSession.

  • Si vous souhaitez remplacer ces valeurs pour prendre en charge Bluetooth, Airplay mix, utiliser des haut-parleurs, etc., veillez à les modifier avant l'établissement d'une session. Si votre application met en sourdine d'autres applications, il est recommandé de configurer la session audio juste avant d'accepter la connexion.
  • Si l'audio de votre application se mélange à celui d'autres applications, vous pouvez configurer les options audio au lancement de l'application.

Désactiver la VoIP

Si vous souhaitez utiliser un autre moyen d'établir une communication vocale, vous pouvez désactiver entièrement la fonction VoIP en définissant les options sur l'instance partagée du SDK avant d'établir une connexion.

Pour plus d'informations, voir la documentation TVSDKOptions.

Documentation sur les classes

Tous les en-têtes publics sont documentés. Pour des informations détaillées sur chaque classe, veuillez vous référer au contenu QuickHelp généré par Xcode ('⌥ '+ clic sur le nom de la constante ou de la variable).