Integration mit iOS
iOS ist die magischste mobile Plattform der Welt. Wir sind sehr glücklich, eine offizielle Integrationsbibliothek für iOS zu haben. Wenn Sie Android suchen, schauen Sie bitte in die Android-Dokumentation, wenn Sie React Native suchen, schauen Sie bitte in die React Native-Dokumentation und für andere mobile Integrationen schauen Sie bitte in die mobile Integration. Wenn Sie mit iOS arbeiten, sind Sie hier richtig. Los geht's!
Installation
Das Erste, was Sie tun müssen, ist das Hinzufügen des Metricalp-Pakets zu Ihrem Projekt. Keine Sorge, es ist ein sehr einfacher Prozess. Sie fügen es auf XCode über das Metricalp iOS GitHub-Paket hinzu.
Der GitHub-Paket-Link lautet: https://github.com/metricalp/ios kopieren und speichern.
1. Öffnen Sie Ihr Projekt in XCode, klicken Sie im oberen Menü auf Datei. Klicken Sie dann auf Paketabhängigkeiten hinzufügen...
2. Fügen Sie die obige GitHub-URL in die rechte obere Leiste im geöffneten Fenster ein. Klicken Sie dann auf Paket hinzufügen. Sie können `main` als Zweig behalten.
3. Klicken Sie auf Paket hinzufügen.
Das's alles. Herzlichen Glückwunsch, jetzt können Sie Metricalp in Ihrer Anwendung verwenden. Los geht's 🚀
Verwendung
Wir haben versucht, die Integration flexibel und reibungslos zu gestalten, um die Entwicklererfahrung auf höchstem Niveau zu halten. Hier teilen wir vollständige AppDelegate und SceneDelegate Beispiele, um zu zeigen, wie Sie Metricalp in Ihre iOS-App integrieren können. Wir werden den Code Schritt für Schritt wie unten beschrieben erläutern.
AppDelegate:
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": "[email protected]", "metr_user_language": "German-DE", "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:
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)
}
}
Wir wissen, dass es sich um sehr einfache App-Codes handelt, aber sie helfen Ihnen, die Grundlagen zu verstehen, vertrauen Sie uns. Zuerst haben wir die Bibliothek import metricalpios in beiden Dateien importiert, in denen wir Methoden durch sie aufrufen.
Die erste Methode, die aufgerufen wird, ist Metricalp.initMetricalp. Dies ist die wichtigste Methode, um die Bibliothek richtig zu integrieren. Wir werden Metricalp initialisieren, um Ereignisse zu sammeln. Es ist wichtig, dies in der Einstiegspunktdatei (AppDelegate) zu tun. Metricalp.initMetricalp nimmt Attribute [String: String], den anfänglichen Bildschirm Pfad (für automatisch ausgelöste erste screen_view als optional). Wenn der Anfangsbildschirm als nil angegeben wird, wird das automatisch ausgelöste erste screen_view-Ereignis übersprungen. Lassen Sie uns dies erklären:
Metricalp.initMetricalp() Attribut-Argument-Eigenschaften
app
Sie sollten den Namen und die Version Ihrer App angeben. Es ist wichtig, die Version anzugeben, um sie im Dashboard zu verfolgen. Sie können sie als AppName@Version Syntax [email protected] wie im obigen Beispiel angeben.
metr_user_language
Sie sollten die aktuelle Sprache Ihrer App angeben. Sie können es als Sprache (langer Name)-Land (ISO-Code) Syntax German-DE wie im obigen Beispiel oder Spanish-ES oderTurkish-TR usw. angeben. Wenn Sie sich über das Land nicht sicher sind, können Sie unbekannt angeben. Zum Beispiel German-unknown
metr_unique_identifier (erforderlich)
Wir müssen diesen metr_unique_identifier Prop erklären. Normalerweise bei der Web-Tracking, während Metricalp keine Cookies verwendet, wie wir an vielen Stellen erwähnt haben, identifizieren wir Benutzer mit ihren IP-Adressen in Einweg-Hashes. Die Formel sieht so aus: hash(user_ip + user_agent + salt). Hier ip + user_agent ist fast einzigartig für jeden Benutzer. In mobilen Apps sind die Benutzeragenten jedoch inkonsistent und nicht zuverlässig. Daher benötigen wir eine eindeutige Kennung für jeden Benutzer. Diese eindeutige Kennung überlassen wir Ihnen. Sie können eine beliebige eindeutige Kennung für Ihre App verwenden. Wenn es sich zum Beispiel um eine Autorisierungs-App handelt und Sie nur nach der Anmeldung der Benutzer verfolgen, können Sie Benutzer-IDs angeben. Oder Sie können gerätebezogene echte eindeutige Kennungen verwenden (Android und iOS haben einige native Methoden, um sie zu erhalten). Alternativ können Sie eine zufällige UUID generieren, wenn der Benutzer die App zum ersten Mal öffnet und sie im lokalen Speicher speichert. Verwenden Sie sie dann als metr_unique_identifier. Jetzt wird der Hash-Algorithmus wie folgt aussehen: hash(user_ip + metr_unique_identifier + salt). In diesem Ansatz bleibt der metr_unique_identifier unverändert, es sei denn, der Benutzer entfernt und installiert die App neu. Aber das ist fair genug. Wenn es nicht ausreicht, können Sie Ihre eigene eindeutige Kennung wie oben erwähnt angeben. Benutzer-ID oder Gerätekennung oder eine andere Kombination.
metr_bypass_ip
Dies ist ein optionaler Prop. Mögliche Werte sind "enable" oder "disable". Wenn Sie das obige endgültige Hash-Beispiel mit metr_unique_identifier sehen: hash(user_ip + metr_unique_identifier + salt), haben wir immer noch IP-Informationen im Hash. Wenn der Benutzer dann beispielsweise in Wifi ist und dann in das Mobilfunknetz wechselt, ändert sich die IP-Adresse. Während metr_unique_identifier gleich ist, kann es aufgrund der IP-Änderung als eine andere eindeutige Zählung für diesen Tag gezählt werden. Diese Einstellung entfernt auch die IP aus der Hash-Funktion. Wenn Sie diese Einstellung auf "enable" setzen, verwenden wir die IP nicht in der Hash-Funktion (standardmäßig): hash(metr_unique_identifier + salt). Wenn Sie jedoch disable angeben, wird die IP auch in der Hash-Funktion verwendet: hash(user_ip + metr_unique_identifier + salt). Wir empfehlen dies nicht, da das Aufbrechen der eindeutigen Zählung mit der IP in den meisten Szenarien für mobile Geräte sinnlos ist. Daher setzen wir diese Einstellung standardmäßig auf enable. In den meisten Szenarien lassen Sie diese Option einfach weg, lassen Sie sie auf Standard (enable).
tid (erforderlich)
Sie sollten Ihre TID (a.k.a Tracking ID) an die initMetricalp-Methode übergeben. Sie können es vom Metricalp-Dashboard erhalten. Es ist erforderlich. Wenn Sie es nicht angeben, erhalten Sie einen Fehler. Sie finden Ihre tid auf der Seite Embed & Share Tracker.
Es gibt ein wichtiges Systemereignis in Metricalp screen_view. Wir verfolgen besuchte Bildschirme, Absprungraten usw. basierend auf diesem Ereignis. Daher empfehlen wir dringend, dass Sie dieses Ereignis in Ihrer App zusätzlich zu benutzerdefinierten Ereignissen auslösen. In Ihrer Navigationslogik sollten Sie bei jedem Bildschirmwechsel durch den Benutzer ein screen_view-Ereignis auslösen. Im obigen Beispiel verwenden wir die Methode sceneWillEnterForeground von iOS und lösen dieses Ereignis aus. Sie können es an einem anderen Ort auslösen, der Ort ist nicht wichtig, aber wir empfehlen Ihnen, dieses Ereignis an einer Stelle auszulösen, um eine bessere Nachverfolgung zu gewährleisten.
...
...
func sceneWillEnterForeground(_ scene: UIScene) {
Metricalp.screenViewEvent(path: "HomepageScreen", eventAttributes: nil, overrideAttributes: nil)
}
...
...
Die Methode Metricalp.screenViewEvent, die von der Bibliothek bereitgestellt wird, soll Ihnen die Arbeit erleichtern. Sie sollten den aktuellen Bildschirmnamen (Pfad) an diese Methode übergeben. Sie können auch zusätzliche Daten (benutzerdefinierte Eigenschaften) an diese Methode als zweites Argument übergeben (wieder [String: String]). Das dritte Argument ist ein weiteres String-Wörterbuch, wenn Sie die anfänglichen Eigenschaften (Einstellungen) für das aktuelle Ereignis überschreiben möchten, andernfalls geben Sie einfach nil an.
Metricalp.screenViewEvent(path: "MainScreen", eventAttributes: ["custom_prop1": "Unauthenticated User"], overrideAttributes: nil);
oder
Metricalp.screenViewEvent(path: "MainScreen", eventAttributes: ["theme": "Dark Theme"], overrideAttributes: nil);
Hier ist das Thema ein benutzerdefinierter Prop-Alias. Weitere Informationen finden Sie in den benutzerdefinierten Ereignissen & Requisiten Dokumenten.
Es gibt eine weitere wichtige Sache, nämlich das Generieren notwendiger Austrittsereignisse beim Verlassen der Anwendung. Metricalp bietet auch eine benutzerdefinierte Methode dafür an: Metricalp.appLeaveEvent(). Sie sehen, dass wir dieses appLeave-Ereignis im onStop-Handler auslösen. Dies hilft uns, Bildschirmansichtsdauern der Benutzer zu erfassen. Sie können auch zusätzliche Daten (benutzerdefinierte Eigenschaften) als erstes Argument an diese Methode übergeben (wieder [String: String]). Das zweite Argument ist ein weiteres String-Wörterbuch, wenn Sie die anfänglichen Eigenschaften (Einstellungen) für das aktuelle Ereignis überschreiben möchten, andernfalls geben Sie einfach nil an.
func sceneDidEnterBackground(_ scene: UIScene) {
Metricalp.appLeaveEvent(eventAttributes: nil, overrideAttributes: nil)
}
Grundsätzlich ist das alles. Sie haben Ihre iOS-App jetzt erfolgreich in Metricalp integriert. Eine weitere Sache ist, dass Sie auch einige benutzerdefinierte Ereignisse erstellen können, um tiefere Einblicke zu gewinnen.
Benutzerdefinierte Ereignisse
Es gibt auch eine weitere Methode von der Bibliothek für benutzerdefinierte Ereignisse: Metricalp.customEvent. Es nimmt den Ereignistyp als erstes Argument und die Dateneigenschaften als zweites Argument. Das dritte Argument ist ein weiteres String-Wörterbuch, wenn Sie die anfänglichen Eigenschaften (Einstellungen) für das aktuelle Ereignis überschreiben möchten, andernfalls geben Sie einfach nil an. Sie können es verwenden wie:
Metricalp.customEvent(type: "button_click", eventAttributes: ["path": "HomepageScreen", "custom_prop1": "top_button", "theme": "dark"], overrideAttributes: nil);
Hier haben wir Pfadinformationen übergeben, wir haben auch top_button als benutzerdefinierte Requisite übergeben. Wir haben ein weiteres benutzerdefiniertes Prop-Thema übergeben, aber wir haben diesmal ein Alias verwendet. Weitere Informationen finden Sie unter Benutzerdefinierte Ereignisse & Requisiten. Mit benutzerdefinierten Ereignissen und Requisiten können Sie jetzt jedes Ereignis einfach verfolgen und analysieren, um tiefere Einblicke in Ihre iOS-App zu erhalten.