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 concernant le SDK d’Adobe Experience Platform Mobile ? Cliquez ici pour consulter la 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

IMPORTANT

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 requêtes à l’application contenante et en recevant les réponses. Bien que vous puissiez envoyer les données de suivi sous forme de dictionnaire de l’application Watch vers l’application contenante et appeler toute méthode de suivi sur l’application contenante pour envoyer les données, cette solution présente des limites.

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

IMPORTANT

Vérifiez que l’un de vos projets comprend au minimum les cibles suivantes :

  • Une cible pour contenir l’application.
  • Une cible pour l’extension.

Si vous travaillez sur une application WatchKit, vous devriez 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 fichiers par défaut et mis en cache de l’utilisateur du dossier de l’application contenante au dossier partagé du groupe d’applications.

  • Si l’application contenante n’est jamais lancée, les accès provenant de l’extension sont ignorés.

  • Le numéro de version et le numéro de build doivent être identiques entre votre application contenante et l’application de l’extension.

  • Aucun appel de cycle de vie n’est déclenché sur les applications de l’extension iOS.

Sur cette page

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now