NowAnalyticsService-Protokoll: IOS

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 6 Minuten Lesedauer
  • Die NowAnalyticsService das protokoll bietet Funktionen, mit denen Sie Analytics-Eigenschaften, Anwendereinstellungen und Ereignisse für die Verwaltung der Erfassung von Anwender-Analytics-Daten konfigurieren können.

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

    Tabelle : 1. Anforderungen
    Name Typ Beschreibung
    TrackingConsent Boolean Kennzeichnung, die angibt, ob der Anwender der Analytics-Nachverfolgung für das zugehörige Gerät zugestimmt hat. Standardmäßig werden Geräte deaktiviert. Dieser Wert wird explizit auf festgelegt Falsch Schließt alle laufenden Sitzungen sofort ab und löscht die lokal aufgezeichneten Daten.
    Gültige Werte:
    • Wahr: Anwender hat zugestimmt, dass Anlaytikdaten auf diesem Gerät nachverfolgt werden.
    • Falsch: Anwender hat die Datennachverfolgung abgelehnt.

    NowAnalyticsService – addEvent(named eventName: String, mit Eigenschaften: [String: Any]?)

    Fügt ein Anwendungsereignis hinzu, z. B. ein Anwender, der eine bestimmte Ebene oder einen bestimmten Bildschirm erreicht, und aktiviert die Einstellung anwenderdefinierter Eigenschaften für das Ereignis. Diese Ereignisse werden im Dashboard in der Reihenfolge angezeigt, in der sie aufgetreten sind.

    Diese Ereignisse werden in Ihrem Analytics-Dashboard angezeigt.

    Tabelle : 2. Parameter
    Name Typ Beschreibung
    Benannter eventName Zeichenfolge Name des hinzuzufügenden Ereignisses.
    Mit Eigenschaften Array Optional. Anwenderdefinierte Eigenschaft – Schlüssel-Wert-Paare für das Ereignis. Eigenschaftsschlüssel dürfen den Punkt („.“) nicht enthalten. Oder Dollar („$“) Zeichen. Sie werden gekürzt.
    Unterstützte Werttypen:
    • Datum
    • NSNull
    • NSNummer
    • Zeichenfolgen
    • URL
    Hinweis:
    Die Gesamtgröße von eventName, Eigenschaftsschlüssel und -Wert dürfen 300 Byte (pro Ereignis) nicht überschreiten. Zeichenfolgen sind UTF-8-codiert. Ereignisse, die diesen Grenzwert überschreiten, werden ignoriert.
    Tabelle : 3. Rückgaben
    Typ Beschreibung
    Keine

    Das folgende Beispiel zeigt, wie Sie ein Ereignis „erfolgreiche Anmeldung“ und ein Ereignis „Fall öffnen“ mit Eigenschaften hinzufügen.

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

    NowAnalyticsService – addScreenAction(benannter actionName: Zeichenfolge)

    Fügt dem aktuellen Bildschirm eine anwenderdefinierte Aktion hinzu. Diese Aktionen werden im Anwender-Dashboard als Teil der Sitzungsdaten angezeigt und beschreiben eine Bildschirmänderung in einer Anwendung.

    Tabelle : 4. Parameter
    Name Typ Beschreibung
    Benannter actionName Zeichenfolge Name der Aktion, die dem Bildschirm hinzugefügt werden soll, z. B. MyButtonKlicken Sie auf .

    Maximale Länge: 256 UTF-8 Byte

    Tabelle : 5. Rückgaben
    Typ Beschreibung
    Keine

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

    NowAnalyticsService – appendToUserProperty(benannter Eigenschaftsname: Zeichenfolge, Liste: Zeichenfolge)

    Hängt An Das angegebene Element in der angegebenen Anwendereigenschaftsliste.

    Tabelle : 6. Parameter
    Name Typ Beschreibung
    Benannter Eigenschaftsname Zeichenfolge Name der Anwendereigenschaftsliste, an die angehängt werden soll listItemBis.
    Listitem Zeichenfolge Listenelement, das an die Eigenschaft angehängt werden soll.
    Tabelle : 7. Rückgaben
    Typ Beschreibung
    Keine

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

    NowAnalyticsService – deleteCurrentUserData(Abschluss: @Escaping ((_ Erfolg: Bool) -> ungültig))

    Löscht alle Analytics-Daten, die dem aktuellen Anwender zugeordnet sind. Diese Methode hebt auch die Festlegung des aktuell aktiven Anwenders auf und deaktiviert dieses Gerät aus der zukünftigen Nachverfolgung.

    Um den aktuellen Anwender festzulegen, verwenden Sie SetUserId() Methode.

    Tabelle : 8. Parameter
    Name Typ Beschreibung
    Abschluss @Escaping ((_ Erfolg: Bool) -> ungültig) Abschlusshandler, der ausgeführt werden soll, nachdem die Analytics-Daten gelöscht wurden.
    Rückgabewerte für den Abschlusshandler:
    • Erfolg: Gibt einen booleschen Wert von „wahr“ zurück.
    • Fehler: Ungültig: Fehler kann auftreten, wenn User Experience Analytics Server können nicht erreicht werden, da keine Konnektivität vorhanden ist. Wenn ein Fehler auftritt, versuchen Sie die Methode erneut.
    Tabelle : 9. Rückgaben
    Typ Beschreibung
    Keine

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

    NowAnalyticsService – incUserProperty(benannter Eigenschaftsname: Zeichenfolge, nach Wert: INT)

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

    Tabelle : 10. Parameter
    Name Typ Beschreibung
    Benannter Eigenschaftsname Zeichenfolge Name der Anwendereigenschaft, die erhöht werden soll.
    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. Rückgaben
    Typ Beschreibung
    Keine

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

    NowAnalyticsService – installJavascriptInterface(in WebView: WKWebView)

    Aktiviert den Aufruf der Methoden in SNAnalytics() API aus einer WebView mit JavaScript.

    Diese Methode gibt einen zurück SNMobileAnalytics Objekt, das in JavaScript verfügbar ist und die nativen Methoden bereitstellt.

    Tabelle : 12. Parameter
    Name Typ Beschreibung
    Webansicht WKWebView Webansichtsobjekt, in das die JavaScript-Schnittstelle eingefügt werden soll.
    Tabelle : 13. Rückgaben
    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(benannter Eigenschaftsname: Zeichenfolge)

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

    Um den aktuellen Anwender festzulegen, verwenden Sie SetUserId() Methode.

    Tabelle : 14. Parameter
    Name Typ Beschreibung
    Benannter Eigenschaftsname Zeichenfolge Name der zu löschenden Anwendereigenschaft.
    Tabelle : 15. Rückgaben
    Typ Beschreibung
    Keine

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

    NowAnalyticsService – setDelegate(_ Delegate: NowAnalyticsServiceDelegate?)

    Legt eine schwache Referenz für einen Delegierten fest, um Benachrichtigungen zu erhalten.

    Tabelle : 16. Parameter
    Name Typ Beschreibung
    Delegierter Now AnalyticsServiceDelegate Optional. Objekt, das den Verweis auf die Delegiertenklasse enthält.
    // Register delegate
    private var analyticsDelegate = NowAnalyticsDelegate()  // Keep ref of delegate
    NowAnalytics.sharedAnalyticsService.setDelegate(analyticsDelegate)
    Tabelle : 17. Rückgaben
    Typ Beschreibung
    Keine

    Dieses Beispiel zeigt, wie eine Delegiertenklasse für definiert wird Now AnalyticsServiceDelegate .

    // 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: Zeichenfolge?)

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

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

    Übergeben Sie, um den aktuellen Anwender abzumelden Nil .

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

    Maximale Länge: 256 UTF-8 Byte

    Tabelle : 19. Rückgaben
    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: [Zeichenfolge: Beliebig])

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

    Sie müssen anrufen SetUserId() Funktion, bevor diese Funktion aufgerufen wird.

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

    Schlüssel darf keine Punkte („.“) enthalten. Oder Dollar („$“) Zeichen.

    Maximale Länge:
    • Schlüssel: 256 Zeichen
    • Wert: 1.000 Zeichen
    Tabelle : 21. Rückgaben
    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(benannter Eigenschaftsname: Zeichenfolge, mit Wert: Beliebig?)

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

    Sie müssen anrufen SetUserId() Funktion, bevor diese Funktion aufgerufen wird.

    Tabelle : 22. Parameter
    Name Typ Beschreibung
    Benannter Eigenschaftsname Zeichenfolge Name der festzulegenden Anwendereigenschaft. Darf keine Punkte („.“) enthalten Oder Dollar („$“) Zeichen.

    Maximale Länge: 256 Zeichen

    Mit Wert Beliebig Wert, auf den die Anwendereigenschaft festgelegt werden soll.
    Unterstützte Werttypen:
    • Datum
    • NSNull
    • NSNummer
    • Zeichenfolgen
    • URL

    Maximale Länge: 1.000 Zeichen

    Tabelle : 23. Rückgaben
    Typ Beschreibung
    Keine

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

    NowAnalyticsService – startScreen(benannter Screenname: Zeichenfolge)

    Protokolliert den Zeitpunkt, zu dem der zugehörige Bildschirm erstmals in der Anwenderoberfläche angezeigt wird.

    Rufen Sie diese Methode nach dem auf ViewDidAppear(_:) Methode.

    Tabelle : 24. Parameter
    Name Typ Beschreibung
    Benannter 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/aggregieren möchten.

    Maximale Länge: 256 UTF-8 Byte

    Tabelle : 25. Rückgaben
    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")