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.

Prérequis

  • iOS 14.1 ou ultérieur
  • Un compte TeamViewer existant

Si vous n'avez pas de compte TeamViewer, suivez les étapes ci-dessous pour en créer un :

  1. Allez sur https://login.teamviewer.com/ et cliquez sur S'inscrire.
  2. Complétez les étapes pour créer un compte puis validez votre adresse e-mail.

Générer une clé API

1. Allez sur https://login.teamviewer.com/ et connectez-vous en utilisant votre compte TeamViewer.

2. En bas de la page, cliquez sur Apps.

3. Cliquez sur le bouton Créer une application.

4. Activez le jeton SDK mobile, entrez un nom et (facultatif) ajoutez une brève description.

5. Activer iOS.

6. Cliquez sur Créer.

Votre jeton s'affiche à l'ouverture de l'application créée :

Copiez ce jeton dans votre presse-papiers et collez-le dans un endroit sûr.

🚨IMPORTANT : Ne partagez pas ce jeton avec qui que ce soit !

Télécharger le SDK TeamViewer Mobile

Il y a deux possibilités pour installer le SDK TeamViewer Mobile :

A. Installer le SDK TeamViewer Mobile via CocoaPods

La façon la plus simple d'obtenir le SDK TeamViewer est via CocoaPods. Pour ajouter le SDK à votre projet, ajoutez ceci à votre fichier Pod :

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

B. Installer manuellement

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

2. Téléchargez le fichier .zip, décompressez-le et 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.

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

4. Assurez-vous que l'option Embed & Sign est sélectionnée.

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

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

Mise en place du projet Xcode

Le SDK TeamViewer 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 SDK TeamViewer

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

1. Initialisez l'instance du SDK avec votre clé API obtenue dans la section Conditions préalables.

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.

🚨IMPORTANT : 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é du supporter, 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 du supporter, 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 kit de relecture et il existe une communication VoIP bidirectionnelle entre l'utilisateur et le supporter.

  • 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 le supporter.
  • 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 le supporter a mis fin à la session. Elle est également appelée lorsque l'utilisateur a mis fin à la session localement.
  • handleSupporterDisconnected: Cette méthode est appelée lorsque le supporter 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 SDK TeamViewer 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 SDK mobile 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 le son 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).