Show Menu
SUJETS×

Mise en œuvre de l’extension iOS

L’extension iOS permet de collecter les données d’utilisation de vos applications Apple Watch (WatchOS 1), de widgets quotidiens, de widgets de retouche de photos et autres extensions d’application iOS.

Nouvelle mise à jour du SDK Adobe Experience Platform Mobile

Vous recherchez des informations et de la documentation à propos du SDK Adobe Experience Platform Mobile ? Cliquez ici pour consulter notre documentation la plus récente.
Nous avons lancé, en septembre 2018, une version majeure du SDK. Ces nouveaux SDK Adobe Experience Platform Mobile peuvent être configurés via Experience Platform Launch .

Recommandations d’utilisation du SDK iOS plutôt que votre propre wrapper

Il est vivement recommandé d’utiliser le SDK iOS plutôt que votre propre wrapper.
Apple fournit un ensemble d’API qui permet à l’application Watch de communiquer avec l’application contenante en envoyant des demandes à l’application contenante et en recevant des réponses. Bien que vous puissiez envoyer les données de suivi en tant que dictionnaire de l’application Watch à l’application contenante et appeler ensuite n’importe quelle méthode de suivi sur l’application contenante pour envoyer les données, cette solution est limitée.
Dans la plupart des cas, lorsqu’un utilisateur a recours à l’application Watch, l’application contenante s’exécute en arrière-plan et seules les méthodes TrackActionInBackground , TrackLocation et TrackBeacon peuvent être appelées en toute sécurité. L’appel d’autres méthodes de suivi interfère avec les données de cycle de vie. Vous devez donc utiliser uniquement ces trois méthodes pour envoyer les données depuis l’application Watch.
Même si ces trois méthodes de suivi répondent à vos besoins, il est recommandé d’utiliser le SDK iOS, car le SDK pour l’application Watch contient toutes les fonctionnalités mobiles, à l’exception des messages intégrés (in-app).

Prise en main

Vérifiez que l’un de vos projets comprend au minimum les cibles suivantes :
  • Une cible contenant l’application.
  • Une cible pour l’extension.
Si vous utilisez une application WatchKit, vous devez avoir une troisième cible. Pour plus d’informations sur le développement pour Apple Watch, voir Développement pour Apple Watch .

Configuration de l’application conteneur

Procédez comme suit dans votre projet Xcode :
  1. Glissez-déposez le dossier AdobeMobileLibrary dans votre projet.
  2. Assurez-vous que le fichier ADBMobileConfig.json est membre de la cible de l’application contenante.
  3. Sous l’onglet Créer les phases de la cible de votre application contenante, développez la section Lier le fichier binaire avec les bibliothèques , puis ajoutez les bibliothèques suivantes :
    • AdobeMobileLibrary.a
    • libsqlite3.dylib
    • SystemConfiguration.framework
  4. Ouvrez l’onglet Fonctionnalités de la cible de l’application contenante, activez l’option Groupes d’applications et ajoutez un nouveau groupe d’applications (par exemple, group.com.adobe.testAp ).
  5. Dans le délégué de votre application, définissez le groupe d’applications dans application:didFinishLaunchingWithOptions avant toute interaction avec la bibliothèque Adobe Mobile :
    [ADBMobile 
          setAppGroup:@"group.com.adobe.testApp"];
    
    
  6. Vérifiez qu’aucune erreur inattendue n’est générée lors de la création de votre application.

Configuration de l’extension

  1. Vérifiez que le fichier ADBMobileConfig.json est un membre de la cible de votre extension.
  2. Sous l’onglet Créer les phases de la cible de votre extension, développez la section Lier le fichier binaire avec les bibliothèques , puis ajoutez les bibliothèques suivantes :
    • AdobeMobileLibrary_Extension.a
    • libsqlite3.dylib
    • SystemConfiguration.framework
  3. Ouvrez l’onglet Fonctionnalités de la cible de l’extension, activez l’option Groupes d’applications et sélectionnez le groupe d’applications ajouté à l’étape 4 de la section Configuration de l’application contenante ci-dessus.
  4. Dans votre InterfaceController, définissez le groupe d’applications dans awakeWithContext: avant toute interaction avec la bibliothèque Adobe Mobile :
    [ADBMobile 
          setAppGroup:@"group.com.adobe.testApp"];
    
    
  5. Vérifiez qu’aucune erreur inattendue n’est générée lors de la création de votre application.

Remarques supplémentaires

Prenez note des informations suivantes :
  • Une valeur de données contextuelles supplémentaire ( a.RunMode ) a été ajoutée pour indiquer si les données proviennent de l’application contenante ou de votre extension :
    • a.RunMode = Application
      Cette valeur signifie que l’accès provient de l’application contenante.
    • a.RunMode = Extension
      Cette valeur signifie que l’accès provient de l’extension.
  • Si vous effectuez une mise à niveau à partir d’une ancienne version du SDK, lorsque l’application contenante est lancée, Adobe migre automatiquement tous les paramètres utilisateur par défaut ainsi que les fichiers en cache depuis le dossier de l’application contenante vers le dossier partagé du groupe d’applications.
  • Si l’application contenante n’est jamais lancée, les accès provenant de l’extension sont supprimés.
  • Les numéros de version de l’application contenante et de l’application d’extension doivent être identiques.
  • Aucun appel de cycle de vie n’est déclenché sur les applications d’extension iOS.