NowAnalyticsService-Protokoll – iOS

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 6 Minuten Lesedauer
  • Das NowAnalyticsService- Protokoll bietet Funktionen, mit denen Sie Analyseeigenschaften, Benutzereinstellungen und Ereignisse für die Verwaltung der Erfassung von Benutzeranalysedaten konfigurieren können.

    Ein Objekt, das diesem Protokoll entspricht, wird von sharedAnalyticsService zurückgegeben. Verwenden Sie es in Ihrer Anwendung, um API-Aufrufe auszuführen.

    Tabelle : 1. Anforderungen
    Name Typ Beschreibung
    TrackingConsent Boolean Kennzeichnung, die angibt, ob der Benutzer der Nachverfolgung von Analysen für das zugeordnete Gerät zugestimmt hat. Standardmäßig sind Geräte deaktiviert. Wenn Sie diesen Wert explizit auf „ false “ setzen, wird jede laufende Sitzung sofort beendet und die lokal aufgezeichneten Daten gelöscht.
    Gültige Werte:
    • „true“: Anwender hat der Nachverfolgung von Analysedaten auf diesem Gerät zugestimmt.
    • false: Benutzer verweigert Datenverfolgung.

    NowAnalyticsService – addEvent(named eventName: String, with properties: [String: Any]?)

    Fügt ein Anwendungsereignis hinzu, z. B. wenn ein Benutzer eine bestimmte Ebene oder einen bestimmten Bildschirm erreicht, und ermöglicht die Einstellung benutzerdefinierter Eigenschaften für das Ereignis. Diese Events werden im Dashboard in der Reihenfolge angezeigt, in der sie aufgetreten sind.

    Diese Events werden in Ihrem Analytics-Dashboard angezeigt.

    Tabelle : 2. Parameter
    Name Typ Beschreibung
    namens eventName Zeichenfolge Name des hinzuzufügenden Ereignisses.
    mit Eigenschaften Array Optional. Schlüssel-Wert-Paare der benutzerdefinierten Eigenschaft für das Event. Eigenschaftsschlüssel dürfen weder Punkt- ('.') noch Dollarzeichen ('$') enthalten. Sie werden gekürzt.
    Unterstützte Werttypen:
    • Datum
    • NSNull
    • NSNumber
    • Zeichenfolgen
    • URL
    Hinweis:
    Die Gesamtgröße von eventName, Eigenschaftenschlüssel und Wert darf 300 Byte (pro Event) nicht überschreiten. Zeichenfolgen sind UTF-8-codiert. Events, die dieses Limit überschreiten, werden ignoriert.
    Tabelle : 3. Ergebnisse
    Typ Beschreibung
    Keine

    Das folgende Beispiel zeigt, wie ein Ereignis „Erfolgreiche Anmeldung“ und ein Ereignis „Fall öffnen“ mit Eigenschaften hinzugefügt werden.

    // Add event with properties
    NowAnalytics.sharedAnalyticsService.addEvent(
      named: "Open Case", with: ["Screen Name": "Case",
                                 "Case Number": "123",
                                 "Case Priority": 5
    ])

    NowAnalyticsService – addScreenAction(named actionName: String)

    Fügt dem aktuellen Bildschirm eine benutzerdefinierte Aktion hinzu. Diese Aktionen werden im Benutzer-Dashboard als Teil der Sitzungsdaten angezeigt und beschreiben einen Bildschirmwechsel in einer Anwendung.

    Tabelle : 4. Parameter
    Name Typ Beschreibung
    mit dem Namen actionName Zeichenfolge Name der Aktion, die dem Bildschirm hinzugefügt werden soll, z. B. MyButtonClick.

    Maximale Länge: 256 UTF-8-Byte

    Tabelle : 5. Ergebnisse
    Typ Beschreibung
    Keine

    // Add event
    NowAnalytics.sharedAnalyticsService.addEvent(named: "Successful Login")

    NowAnalyticsService – appendToUserProperty(named propertyName: String, listItem: String)

    Hängt das angegebene Element an die angegebene Benutzereigenschaftenliste an.

    Tabelle : 6. Parameter
    Name Typ Beschreibung
    mit dem Namen propertyName Zeichenfolge Name der Benutzereigenschaftenliste, an die listItem angehängt werden soll.
    listItem Zeichenfolge Listenelement, das an die Eigenschaft angehängt werden soll.
    Tabelle : 7. Ergebnisse
    Typ Beschreibung
    Keine

    // Append handled case to list
    NowAnalytics.sharedAnalyticsService.appendToUserProperty(named: "Case Identifiers", listItem: "TASK-1")
    

    NowAnalyticsService – deleteCurrentUserData(completion: @escaping ((_ success: Bool) -> Void))

    Löscht alle dem aktuellen Anwender zugeordneten Analysedaten. Diese Methode hebt auch die Festlegung des aktuellen aktiven Benutzers auf und deaktiviert die zukünftige Nachverfolgung dieses Geräts.

    Um den aktuellen Benutzer festzulegen, verwenden Sie die Methode setUserId().

    Tabelle : 8. Parameter
    Name Typ Beschreibung
    Abschluss @escaping ((_ success: Bool) -> Ungültig) Abschluss-Handler, der nach dem Löschen der Analysedaten ausgeführt werden soll.
    Rückgabewerte für den Abschluss-Handler:
    • Erfolg: Gibt den booleschen Wert „true“ zurück.
    • Fehler: Ungültig – Ein Fehler kann auftreten, wenn die Appsee-Server nicht erreichbar sind, z. B. wenn keine Konnektivität besteht. Wenn ein Fehler auftritt, wiederholen Sie die Methode.
    Tabelle : 9. Ergebnisse
    Typ Beschreibung
    Keine

    // Delete user data
    NowAnalytics.sharedAnalyticsService.deleteCurrentUserData(completion: { (success) -> Void in
      if success {
        // deletion succeeded
      } else {
        // deletion failed
      }
    })

    NowAnalyticsService – incUserProperty(named propertyName: String, by value: Int)

    Erhöht oder verringert den Wert der angegebenen numerischen Eigenschaft um den angegebenen Wert.

    Tabelle : 10. Parameter
    Name Typ Beschreibung
    mit dem Namen propertyName Zeichenfolge Name der zu erhöhenden Benutzereigenschaft.
    nach Wert Ganzzahl Wert, um den die Eigenschaft erhöht werden soll. Geben Sie einen negativen Wert ein, um den Wert zu verringern.
    Tabelle : 11. Ergebnisse
    Typ Beschreibung
    Keine

    // Increment the "Cases Handled" count
    NowAnalytics.sharedAnalyticsService.incUserProperty(named: "Cases Handled", by: 2)

    NowAnalyticsService – installJavascriptInterface(into webView: WKWebView)

    Ermöglicht den Aufruf der Methoden in der SNAnalytics()- API aus einer Webansicht mit JavaScript.

    Diese Methode gibt ein SNMobileAnalytics -Objekt zurück, das in JavaScript verfügbar ist, das die nativen Methoden verfügbar macht.

    Tabelle : 12. Parameter
    Name Typ Beschreibung
    webView WKWebView Webansichtsobjekt, in das die JavaScript-Schnittstelle eingefügt werden soll.
    Tabelle : 13. Ergebnisse
    Typ Beschreibung
    Objekt SNMobileAnalytics

    // Register JS object inside the web page
    // This will create an object named 'SNMobileAnalytics' on JS that will have the following methods:
    // SNMobileAnalytics.setUserId(userId)                  example: SNMobileAnalytics.setUserId("John Doe")
    // SNMobileAnalytics.startScreen(screenName)            example: SNMobileAnalytics.startScreen("WelcomeScreen")
    // SNMobileAnalytics.addScreenAction(actionName)        example: SNMobileAnalytics.addScreenAction("MyButtonClick")
    // SNMobileAnalytics.addEvent(eventName, properties)    example: SNMobileAnalytics.addEvent("Successful Login")
    //                                                               SNMobileAnalytics.addEvent("Successful Login", JSON.stringify({"Screen Name": "Case", "Case Number": "123", "Case Priority": 5}))
    NowAnalytics.sharedAnalyticsService.installJavascriptInterface(into: webView)
    

    NowAnalyticsService – removeUserProperty(named propertyName: String)

    Löscht die angegebene Eigenschaft für den aktuellen Benutzer.

    Um den aktuellen Benutzer festzulegen, verwenden Sie die Methode setUserId().

    Tabelle : 14. Parameter
    Name Typ Beschreibung
    mit dem Namen propertyName Zeichenfolge Name der zu löschenden Benutzereigenschaft.
    Tabelle : 15. Ergebnisse
    Typ Beschreibung
    Keine

    // Remove unnecessary property
    NowAnalytics.sharedAnalyticsService.removeUserProperty(named: "Temp Cases")
    

    NowAnalyticsService – setDelegate(_ delegierte: NowAnalyticsServiceDelegate?)

    Legt eine schwache Referenz für einen Delegierten fest, der Benachrichtigungen erhalten soll.

    Tabelle : 16. Parameter
    Name Typ Beschreibung
    Delegierter NowAnalyticsServiceDelegate Optional. Objekt, das den Verweis auf die Delegierten-Klasse enthält.
    // Register delegate
    private var analyticsDelegate = NowAnalyticsDelegate()  // Keep ref of delegate
    NowAnalytics.sharedAnalyticsService.setDelegate(analyticsDelegate)
    Tabelle : 17. Ergebnisse
    Typ Beschreibung
    Keine

    Dieses Beispiel zeigt, wie eine Delegiertenklasse für NowAnalyticsServiceDelegatedefiniert wird.

    // Define a delegate class for NowAnalyticsServiceDelegate
    class NowAnalyticsDelegate: NowAnalytics.NowAnalyticsServiceDelegate {
      func nowAnalyticsSessionShouldStart() -> Bool {
        // Session is about to start, return true to allow session to start
        return true
      }
    
      func nowAnalyticsSessionDidStart(_ sessionId: String) {
        // Session was started
      }
    
      func nowAnalyticsSessionShouldEnd(_ sessionId: String) -> Bool {
        // Session is about to end, return true to allow session to end
        return true
      }
    
      func nowAnalyticsSessionDidEnd(_ sessionId: String) {
        // Session was ended
      }
    
      func nowAnalyticsDidDetectScreen(_ screenName: String) -> String? {
        // Example of skipping specific screen detection
        if (screenName == "LoginViewController") {
          return nil
        }
    
        // Example of appending a prefix for every screen detected
        return "MyApp_" + screenName
      }
    }
    
    // Register delegate
    private var analyticsDelegate = NowAnalyticsDelegate()  // Keep ref of delegate
    NowAnalytics.sharedAnalyticsService.setDelegate(analyticsDelegate)

    NowAnalyticsService – setUserId(_ userId: String?)

    Legt die Benutzer-ID der Anwendung für den aktuellen Benutzer fest. Übergeben Sie nil, um den aktuellen Benutzer abzumelden.

    Tabelle : 18. Parameter
    Name Typ Beschreibung
    userId Zeichenfolge Optional. Anwendungsspezifischer Benutzerbezeichner.

    Um den aktuellen Benutzer abzumelden, übergeben Sie nil.

    Die Benutzer-ID darf keine HTML-Tags oder persönlichen Daten wie Name, E-Mail oder Telefonnummer enthalten.

    Maximale Länge: 256 UTF-8-Byte

    Tabelle : 19. Ergebnisse
    Typ Beschreibung
    Keine

    // Add several properties at once
    NowAnalytics.sharedAnalyticsService.setUserProperties([
      "Cases Handled": 100,
      "Last Login": Date(),
      "Is Remote": true,
      "Profile URL": URL(string: "https://www.servicenow.com")!
    ])

    NowAnalyticsService – setUserProperties(_ userProperties: [String: Any])

    Legt mehrere Eigenschaften mit den angegebenen Werten für den aktuellen Benutzer fest. Eigenschaften können alles sein, was Sie im Dashboard für einen Benutzer nachverfolgen möchten.

    Sie müssen die Funktion setUserId() aufrufen, bevor Sie diese Funktion aufrufen.

    Tabelle : 20. Parameter
    Name Typ Beschreibung
    userProperties Array Schlüssel-Wert-Paare der festzulegenden Benutzereigenschaften.
    Unterstützte Werttypen:
    • NSNumber
    • Zeichenfolgen
    • Datum
    • URL
    • NSNull

    Schlüssel darf keine Punkte ('.') oder Dollarzeichen ('$') enthalten.

    Maximale Länge:
    • Schlüssel: 256 Zeichen
    • Wert: 1.000 Zeichen
    Tabelle : 21. Ergebnisse
    Typ Beschreibung
    Keine

    import NowAnalytics
    
    // Initialize the Analytics SDK
    NowAnalytics.configure(for: URL(string: "https://my.instance.service-now.com")!)
    
    // Enable tracking consent
    NowAnalytics.sharedAnalyticsService.trackingConsent = true
    
    // Set User Id for proper identification
    NowAnalytics.sharedAnalyticsService.setUserId("John Doe")
    
    // Set the "Role" property of the user to "Admin"
    NowAnalytics.sharedAnalyticsService.setUserProperty(named: "Role", with: "Admin")
    
    // Add several properties at once
    NowAnalytics.sharedAnalyticsService.setUserProperties([
        "Cases Handled": 100,
        "Last Login": Date(),
        "Is Remote": true,
        "Profile URL": URL(string: "https://www.servicenow.com")!
    ])

    NowAnalyticsService – setUserProperty(named propertyName: String, with value: Any?)

    Legt die angegebene Eigenschaft mit dem angegebenen Wert für den aktuellen Benutzer fest. Sie können jede Eigenschaft definieren, die für Ihre Anwendung sinnvoll ist.

    Sie müssen die Funktion setUserId() aufrufen, bevor Sie diese Funktion aufrufen.

    Tabelle : 22. Parameter
    Name Typ Beschreibung
    mit dem Namen propertyName Zeichenfolge Name der festzulegenden Benutzereigenschaft. Darf keine Punkte ('.') oder Dollarzeichen ('$') enthalten.

    Maximale Länge: 256 Zeichen

    mit Wert Beliebig Wert, auf den die Benutzereigenschaft festgelegt werden soll.
    Unterstützte Werttypen:
    • Datum
    • NSNull
    • NSNumber
    • Zeichenfolgen
    • URL

    Maximale Länge: 1.000 Zeichen

    Tabelle : 23. Ergebnisse
    Typ Beschreibung
    Keine

    // Set the "Role" property of the user to "Admin"
    NowAnalytics.sharedAnalyticsService.setUserProperty(named: "Role", with: "Admin")

    NowAnalyticsService – startScreen(named screenName: String)

    Protokolliert die Zeit, zu der der zugehörige Bildschirm zum ersten Mal in der Benutzeroberfläche angezeigt wird.

    Rufen Sie diese Methode nach der viewDidAppear(_:) -Methode auf.

    Tabelle : 24. Parameter
    Name Typ Beschreibung
    namens screenName Zeichenfolge Name des Bildschirms, für den die Startzeit protokolliert werden soll, z. B. „WelcomeScreen“ . Dies kann alles sein, was Sie als Bildschirm definieren und in einem Analytics-Dashboard anzeigen/zusammenfassen möchten.

    Maximale Länge: 256 UTF-8-Byte

    Tabelle : 25. Ergebnisse
    Typ Beschreibung
    Keine

    // Mark the appearance starting time of a screen
    // This method should be usually called from the viewDidAppear
    NowAnalytics.sharedAnalyticsService.startScreen(named: "WelcomeScreen")