Intégration avec iOS

iOS est la plateforme mobile la plus magique au monde. Nous sommes très heureux d'avoir une bibliothèque d'intégration officielle pour iOS. Si vous cherchez Android, veuillez consulter la documentation Android, si vous cherchez React Native, veuillez consulter la documentation React Native et pour d'autres intégrations mobiles, veuillez consulter l'intégration mobile. Si vous êtes avec iOS, vous êtes au bon endroit. Commençons!

Installation

La première chose à faire est d'ajouter le package Metricalp à votre projet. Pas de soucis, c'est un processus très simple. Vous l'ajouterez sur XCode via le package Metricalp iOS GitHub.

Le lien du package GitHub est : https://github.com/metricalp/ios, copiez-le et conservez-le.

1. Ouvrez votre projet dans XCode, cliquez sur Fichier dans le menu supérieur. Ensuite, cliquez sur Ajouter des Dépendances de Package...

Étape 1 ajouter la dépendance XCode

2. Collez l'URL GitHub ci-dessus dans la barre en haut à droite dans la fenêtre ouverte. Ensuite, cliquez sur ajouter le package. Vous pouvez conserver `main` comme branche.

Étape 2 ajouter la dépendance XCode

3. Cliquez sur ajouter le package.

Étape 3 ajouter la dépendance XCode🚀

C'est tout. Félicitations, vous êtes maintenant prêt à utiliser Metricalp dans votre application. Allons-y 🚀

Utilisation

Nous avons essayé de rendre l'intégration flexible et fluide pour maintenir l'expérience du développeur au meilleur niveau. Ici, nous partagerons des exemples complets de AppDelegate et SceneDelegate pour montrer comment intégrer Metricalp dans votre application iOS. Nous décrirons le code étape par étape comme détaillé ci-dessous.

AppDelegate :

swift
      import UIKit
      import metricalpios
      
      @main
      class AppDelegate: UIResponder, UIApplicationDelegate {

          func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
              Metricalp.initMetricalp(attributes: ["tid": "mam48", "app": "ExampleiOSApp@1.0.0", "metr_user_language": "French-FR", "metr_unique_identifier": "<GENERATED_UUID>"], initialScreen: nil, eventAttributes: nil)
              return true
          }
      
          func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration {
              return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role)
            }
        
        }

SceneDelegate :

swift
      import UIKit
      import metricalpios
      class SceneDelegate: UIResponder, UIWindowSceneDelegate {
        
          var window: UIWindow?
        
        
          func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
              guard let _ = (scene as? UIWindowScene) else { return }
          }
        
          func sceneWillEnterForeground(_ scene: UIScene) {
              Metricalp.screenViewEvent(path: "HomepageScreen", eventAttributes: nil, overrideAttributes: nil)
          }

          func sceneDidEnterBackground(_ scene: UIScene) {
              Metricalp.appLeaveEvent(eventAttributes: nil, overrideAttributes: nil)
          }
        
      }

Nous savons que ce sont des codes d'application très basiques, mais ils vous aideront à en comprendre les fondamentaux, faites-nous confiance. Tout d'abord, nous avons importé la bibliothèque import metricalpios dans les deux fichiers à partir desquels nous appelons les méthodes.

La première méthode appelée est Metricalp.initMetricalp. C'est la plus importante pour intégrer correctement la bibliothèque. Nous allons initialiser Metricalp pour collecter des événements. Il est important de le faire dans le fichier du point d'entrée (AppDelegate). Metricalp.initMetricalp prend attributs [String: String], le chemin de l'écran initial path (pour le premier screen_view déclenché automatiquement comme optionnel). Si vous fournissez l'écran initial comme nil, alors il ignorera le premier événement screen_view déclenché automatiquement. Expliquons :

Metricalp.initMetricalp() Attributs Argument Props

app

Vous devez fournir le nom et la version de votre application. Il est important de fournir la version pour la suivre sur le tableau de bord. Vous pouvez la fournir sous la syntaxe AppName@Version ExampleApp@1.0.0 comme dans l'exemple ci-dessus.

metr_user_language

Vous devez fournir la langue actuelle de votre application. Vous pouvez la fournir sous la syntaxe Langue (nom long)-Pays (code ISO) French-FR comme dans l'exemple ci-dessus ou Spanish-ES ouTurkish-TR etc. Si vous n'êtes pas sûr du pays, vous pouvez fournir unknown. Par exemple, French-unknown

metr_unique_identifier (requis)

Nous devons expliquer cette propriété metr_unique_identifier. Normalement dans le suivi web, alors que Metricalp n'utilise pas de cookies, comme nous l'avons mentionné à plusieurs endroits, nous identifions les utilisateurs avec leurs adresses IP dans des hachages à sens unique. La formule est quelque chose comme ceci : hash(user_ip + user_agent + salt). Ici ip + user_agent est presque unique pour chaque utilisateur. Mais dans les applications mobiles, les chaînes d'agents utilisateur sont incohérentes et peu fiables. Donc, nous avons besoin d'un identifiant unique pour chaque utilisateur. Cet identifiant unique vous est laissé. Vous pouvez utiliser n'importe quel identifiant unique pour votre application. Par exemple, s'il s'agit d'une application d'autorisation et que vous suivez uniquement après que les utilisateurs se sont connectés, vous pouvez fournir les ID utilisateur. Ou vous pouvez utiliser des identifiants uniques liés à l'appareil (Android et iOS ont certaines méthodes natives pour les obtenir). Ou, vous pouvez générer un UUID aléatoire lorsque l'utilisateur ouvre l'application pour la première fois et l'enregistrer dans le stockage local. Utilisez-le ensuite comme metr_unique_identifier. Maintenant, l'algorithme de hachage sera quelque chose comme ceci : hash(user_ip + metr_unique_identifier + salt). Dans cette approche, le metr_unique_identifier restera inchangé à moins que l'utilisateur ne supprime et ne réinstalle l'application. Mais c'est suffisamment juste. Si ce n'est pas suffisant pour vous, vous pouvez fournir votre propre identifiant unique comme mentionné ci-dessus. ID utilisateur ou identifiant de l'appareil ou toute autre combinaison.

metr_bypass_ip

C'est une propriété optionnelle. Les valeurs possibles sont "enable" ou "disable". Si vous voyez l'exemple de hachage final ci-dessus avec metr_unique_identifier : hash(user_ip + metr_unique_identifier + salt), nous avons encore des informations IP dans le hachage. Ensuite, lorsque l'utilisateur par exemple est en Wifi puis passe au réseau mobile, l'IP changera. Alors que metr_unique_identifier est le même, en raison du changement d'IP, il peut être compté comme un autre compte unique pour ce jour-là. Ce paramètre supprime également l'IP de la fonction de hachage. Si vous définissez ceci sur "enable", alors nous n'utiliserons pas l'IP dans la fonction de hachage (par défaut) : hash(metr_unique_identifier + salt). Mais si vous passez disable, alors l'IP sera également utilisée dans la fonction de hachage : hash(user_ip + metr_unique_identifier + salt). Nous ne suggérons pas cela car rompre le compte unique avec l'IP est insensé dans la plupart des scénarios pour mobile. Ensuite, nous définissons ce paramètre par défaut sur enable. Donc, dans la plupart des scénarios, ne passez tout simplement pas cette option, laissez-la être par défaut (enable).

tid (requis)

Vous devez fournir votre TID (alias Tracking ID) à la méthode initMetricalp. Vous pouvez l'obtenir depuis le tableau de bord Metricalp. C'est requis. Si vous ne le fournissez pas, vous obtiendrez une erreur. Vous pouvez trouver votre tid sur la page Embed & Share Tracker.

Il y a un événement système important dans Metricalp screen_view. Nous suivons les écrans visités, les taux de rebond, etc. sur la base de cet événement. Donc, nous vous recommandons fortement d'activer cet événement dans votre application en plus de tout événement personnalisé. Dans votre logique de navigation, à chaque changement d'écran par l'utilisateur, vous devez déclencher un événement screen_view. Dans l'exemple ci-dessus, nous utilisons la méthode sceneWillEnterForeground de iOS et déclenchons cet événement. Vous pouvez le déclencher ailleurs, l'endroit n'est pas important mais nous vous conseillons de déclencher cet événement quelque part pour un meilleur suivi.

swift
      ...
      ...
    func sceneWillEnterForeground(_ scene: UIScene) {
        Metricalp.screenViewEvent(path: "HomepageScreen", eventAttributes: nil, overrideAttributes: nil)
    }
      ...
      ...

La méthode Metricalp.screenViewEvent fournie par la bibliothèque est conçue pour vous faciliter la tâche. Vous devez fournir le nom de l'écran actuel (chemin) à cette méthode. Vous pouvez également passer des données supplémentaires (propriétés personnalisées) à cette méthode comme deuxième argument (encore [String: String]). Le troisième argument est un autre dictionnaire de chaînes si vous souhaitez remplacer les propriétés initiales (paramètres) pour l'événement actuel, sinon passez simplement nil.

swift
Metricalp.screenViewEvent(path: "MainScreen", eventAttributes: ["custom_prop1": "Utilisateur non authentifié"], overrideAttributes: nil);

ou

swift
Metricalp.screenViewEvent(path: "MainScreen", eventAttributes: ["theme": "Thème Sombre"], overrideAttributes: nil);

Ici, le thème est un alias de propriété personnalisée. Vous pouvez consulter les Événements & Propriétés Personnalisés pour des informations détaillées.

Il y a une autre chose importante, c'est de générer les événements de sortie nécessaires à la sortie de l'application. Metricalp fournit également une méthode personnalisée pour cela : Metricalp.appLeaveEvent(). Vous pouvez voir que nous déclenchons cet événement appLeave dans le gestionnaire onStop. Cela nous aide à capturer les durées de visualisation de l'écran des utilisateurs. Vous pouvez également passer des données supplémentaires (propriétés personnalisées) à cette méthode comme premier argument (encore [String: String]). Le deuxième argument est un autre dictionnaire de chaînes si vous souhaitez remplacer les propriétés initiales (paramètres) pour l'événement actuel, sinon passez simplement nil.

swift
 func sceneDidEnterBackground(_ scene: UIScene) {
                     Metricalp.appLeaveEvent(eventAttributes: nil, overrideAttributes: nil)
       }

Fondamentalement, c'est tout. Vous avez maintenant intégré avec succès votre application iOS avec Metricalp. Une chose de plus, vous pouvez également créer des événements personnalisés pour obtenir des informations plus approfondies.

Événements Personnalisés

Il y a aussi une autre méthode de la bibliothèque pour les événements personnalisés : Metricalp.customEvent. Elle prend le type d'événement comme premier argument et les attributs de données comme deuxième argument. Le troisième argument est un autre dictionnaire de chaînes si vous souhaitez remplacer les propriétés initiales (paramètres) pour l'événement actuel, sinon passez simplement nil. Vous pouvez l'utiliser comme suit :

swift
Metricalp.customEvent(type: "button_click", eventAttributes: ["path": "HomepageScreen", "custom_prop1": "bouton supérieur", "theme": "sombre"], overrideAttributes: nil);

Ici, nous avons passé les informations de chemin, nous avons également passé le bouton supérieur comme propriété personnalisée. Nous avons passé une autre propriété personnalisée thème, mais cette fois nous avons utilisé un alias. Vous pouvez consulter Événements & Propriétés Personnalisés pour des informations détaillées. Maintenant, avec la puissance des événements et propriétés personnalisés, vous pouvez suivre et analyser tout événement pour obtenir des informations approfondies dans votre application iOS facilement.