---
sourceDocument: Xanadu-API-Referenz
sourceDocumentLink: https://www.servicenow.com/docs/r/de-DE/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - de-DE

ft:publication_title :

    - Xanadu-API-Referenz

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# NowAnalyticsService-Protokoll -- iOS

# NowAnalyticsService-Protokoll -- iOS {#ariaid-title1}

* Freigeben Version: Xanadu
* 
* Aktualisiert 1. August 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 6 Minuten Lesedauer

Das NowAnalyticsService- Protokoll stellt Funktionen bereit, mit denen Sie Analytics-Eigenschaften, Anwendereinstellungen und Ereignisse für die Verwaltung der Sammlung von User Analytics-Daten konfigurieren können.

Ein Objekt, das diesem Protokoll entspricht, wird von `SharedAnalyticsService zurückgegeben`. Verwenden Sie ihn in Ihrer Anwendung, um API-Aufrufe durchzuführen.  
{#NowAnalyticsServiceiOSProtocol__table_vx2_klw_5pb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| verfolgungZustimmung | Boolean | Kennzeichnung, die angibt, ob der Anwender der Analytics-Nachverfolgung für das zugeordnete Gerät zugestimmt hat. Standardmäßig sind Geräte deaktiviert. Wenn Sie diesen Wert explizit auf „ `false` " festlegen, werden laufende Sitzungen sofort beendet und die lokal aufgezeichneten Daten gelöscht. Gültige Werte: * „wahr": Der Anwender hat der Nachverfolgung von Analytics-Daten auf diesem Gerät zugestimmt. * „falsch": Dem Anwender wurde die Datenverfolgung verweigert. {#NowAnalyticsServiceiOSProtocol__ul_flc_ngx_5pb} |
[Tabelle : 1. Anforderungen]

{#NowAnalyticsServiceiOSProtocol__table_vx2_klw_5pb}

## NowAnalyticsService -- addEvent(named eventName: Zeichenfolge, mit Eigenschaften: \[Zeichenfolge: Beliebig\]?) {#ariaid-title2}

Fügt ein Anwendungsereignis hinzu, z. B. das Erreichen einer bestimmten Ebene oder eines bestimmten Bildschirms durch einen Benutzer, und ermöglicht das Festlegen benutzerdefinierter Eigenschaften für das Ereignis. Diese Ereignisse werden im Dashboard in der Reihenfolge ihres Auftretens angezeigt.
Diese Ereignisse werden in Ihrem Analytics-Dashboard angezeigt.
{#NAnalyServiOs-addEvent_S_A__table_hwl_5vy_spb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| namens eventName | Zeichenfolge | Name des hinzuzufügenden Ereignisses. |
| mit Eigenschaften | Array | Optional. Schlüssel-Wert-Paare der anwenderdefinierten Eigenschaft für das Ereignis. Eigenschaftsschlüssel dürfen die Zeichen Punkt ('.') und Dollar ('$') nicht enthalten. Sie werden gekürzt. Unterstützte Werttypen: * Datum * NSNull * NSNumber * Zeichenfolgen * URL {#NAnalyServiOs-addEvent_S_A__ul_g41_kxy_spb} Hinweis: Die Gesamtgröße von eventName, des Eigenschaftsschlüssels und des Werts darf 300 Byte (pro Ereignis) nicht überschreiten. Zeichenfolgen sind UTF-8-codiert. Ereignisse, die diese Grenze überschreiten, werden ignoriert. |
[Tabelle : 2. Parameter]

{#NAnalyServiOs-addEvent_S_A__table_hwl_5vy_spb} {#NAnalyServiOs-addEvent_S_A__table_iwl_5vy_spb__entry__2}

| Typ | Beschreibung |
|-|-|
| Keine |   |
[Tabelle : 3. Ergebnisse]

{#NAnalyServiOs-addEvent_S_A__table_iwl_5vy_spb}  
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) {#ariaid-title3}

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

| Name | Typ | Beschreibung |
|-|-|-|
| benannt actionName | Zeichenfolge | Name der Aktion, die dem Bildschirm hinzugefügt werden soll, z. B. <kbd class="ph userinput">MyButtonClick</kbd>. Maximale Länge: 256 UTF-8 Byte |
[Tabelle : 4. Parameter]

{#NAnalyServiOS-addScreenAction_S__table_lxc_hzy_spb} {#NAnalyServiOS-addScreenAction_S__table_mxc_hzy_spb__entry__2}

| Typ | Beschreibung |
|-|-|
| Keine |   |
[Tabelle : 5. Ergebnisse]

{#NAnalyServiOS-addScreenAction_S__table_mxc_hzy_spb}  
<br />

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

## NowAnalyticsService -- appendToUserProperty(named propertyName: String, listItem: String) {#ariaid-title4}

Hängt das angegebene Element an die angegebene Anwendereigenschaftenliste an.
{#NAnalyServiOS-appendToUserProp_S_S__table_uhf_jd1_tpb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| namens propertyName | Zeichenfolge | Name der Anwendereigenschaftenliste, an die listItem angehängt werden soll. |
| listItem | Zeichenfolge | Listenelement, das an die Eigenschaft angehängt werden soll. |
[Tabelle : 6. Parameter]

{#NAnalyServiOS-appendToUserProp_S_S__table_uhf_jd1_tpb} {#NAnalyServiOS-appendToUserProp_S_S__table_vhf_jd1_tpb__entry__2}

| Typ | Beschreibung |
|-|-|
| Keine |   |
[Tabelle : 7. Ergebnisse]

{#NAnalyServiOS-appendToUserProp_S_S__table_vhf_jd1_tpb}  
<br />

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

## NowAnalyticsService -- löschenCurrentUserData(Abschluss: @escaping ((_ Erfolg: Bool) -\> Void)) {#ariaid-title5}

Löscht alle Analytics-Daten, die dem aktuellen Anwender zugeordnet sind. Diese Methode löscht auch den aktuell aktiven Anwender und deaktiviert die zukünftige Nachverfolgung dieses Geräts.
Um den aktuellen Benutzer festzulegen, verwenden Sie die Methode [„setUserId()](https://www.servicenow.com/docs/SwSGaxByw3oWq6zO59hRSA#NAnalyServiOS-setUserId_S "Legt die Anwender-ID der Anwendung für den aktuellen Anwender fest. Übergeben Sie nil, um den aktuellen Anwender abzumelden.") ".
{#NAnalyServiOS-deleteCurrentUserData_O__table_akt_yry_spb__entry__3}{#NAnalyServiOS-deleteCurrentUserData_O__mobilesdkiOS-completion_data_dataerror-row}

| Name | Typ | Beschreibung |
|-|-|-|
| Abschluss | @escaping ((_ erfolgreich: Boolesch) -\> Ungültig) | Abschluss-Handler, der ausgeführt werden soll, nachdem die Analytics-Daten gelöscht wurden. Rückgabewerte für Abschluss-Handler: * Erfolg: Gibt den booleschen Wert „true" zurück. * Fehler: ungültig -- Ein Fehler kann auftreten, wenn die Appsee-Server nicht erreicht werden können, z. B. wenn keine Konnektivität vorhanden ist. Wenn ein Fehler auftritt, wiederholen Sie die -Methode. {#NAnalyServiOS-deleteCurrentUserData_O__ul_uzx_thj_ppb} |
[Tabelle : 8. Parameter]

{#NAnalyServiOS-deleteCurrentUserData_O__table_akt_yry_spb} {#NAnalyServiOS-deleteCurrentUserData_O__table_bkt_yry_spb__entry__2}

| Typ | Beschreibung |
|-|-|
| Keine |   |
[Tabelle : 9. Ergebnisse]

{#NAnalyServiOS-deleteCurrentUserData_O__table_bkt_yry_spb}  
<br />

    // 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) {#ariaid-title6}

Erhöht oder verringert den Wert der angegebenen numerischen Eigenschaft um den angegebenen Wert.
{#NAnalyServiOS-incUserProperty_S_I__table_fkc_chz_spb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| namens propertyName | Zeichenfolge | Name der zu inkrementierenden Anwendereigenschaft. |
| nach Wert | Ganzzahl | Wert, um den die Eigenschaft erhöht werden soll. Geben Sie einen negativen Wert ein, um den Wert zu verringern. |
[Tabelle : 10. Parameter]

{#NAnalyServiOS-incUserProperty_S_I__table_fkc_chz_spb} {#NAnalyServiOS-incUserProperty_S_I__table_gkc_chz_spb__entry__2}

| Typ | Beschreibung |
|-|-|
| Keine |   |
[Tabelle : 11. Ergebnisse]

{#NAnalyServiOS-incUserProperty_S_I__table_gkc_chz_spb}  
<br />

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

## NowAnalyticsService -- installJavascriptInterface(into webView: WKWebView) {#ariaid-title7}

Aktiviert den Aufruf der Methoden in der SNAnalytics()- API aus einem WebView mit JavaScript.
Diese Methode gibt ein in JavaScript verfügbares [SNMobileAnalytics](https://www.servicenow.com/docs/FfbJ4C66yHoFwNIcabnsaA#SNMobileAnalytics "Die SNMobileAnalytics- API stellt Methoden bereit, die Sie in einer Webansicht mit JavaScript aufrufen können. Mit diesen Methoden können Sie anwenderdefinierte Analytics-Daten (Ereignisse, Seiten und Anwendereigenschaften) per Push in das Dashboard „User Experience Analytics für Serviceportal“ verschieben.") -Objekt zurück, das die nativen Methoden verfügbar macht.
{#NAnalyServiOS-installJSInterface_O__table_pqj_dh1_tpb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| webView | WKWebView | Webansichtsobjekt, in das die JavaScript-Schnittstelle eingefügt werden soll. |
[Tabelle : 12. Parameter]

{#NAnalyServiOS-installJSInterface_O__table_pqj_dh1_tpb} {#NAnalyServiOS-installJSInterface_O__table_qqj_dh1_tpb__entry__2}

| Typ | Beschreibung |
|-|-|
| Objekt | [SNMobileAnalytics](https://www.servicenow.com/docs/FfbJ4C66yHoFwNIcabnsaA#SNMobileAnalytics "Die SNMobileAnalytics- API stellt Methoden bereit, die Sie in einer Webansicht mit JavaScript aufrufen können. Mit diesen Methoden können Sie anwenderdefinierte Analytics-Daten (Ereignisse, Seiten und Anwendereigenschaften) per Push in das Dashboard „User Experience Analytics für Serviceportal“ verschieben.") |
[Tabelle : 13. Ergebnisse]

{#NAnalyServiOS-installJSInterface_O__table_qqj_dh1_tpb}  
<br />

    // 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 -- entfernenUserProperty(named propertyName: Zeichenfolge) {#ariaid-title8}

Löscht die angegebene Eigenschaft für den aktuellen Anwender.
Um den aktuellen Benutzer festzulegen, verwenden Sie die Methode [„setUserId()](https://www.servicenow.com/docs/SwSGaxByw3oWq6zO59hRSA#NAnalyServiOS-setUserId_S "Legt die Anwender-ID der Anwendung für den aktuellen Anwender fest. Übergeben Sie nil, um den aktuellen Anwender abzumelden.") ".
{#NAnalyServiOS-removeUserProp_S__table_jdm_lf1_tpb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| namens propertyName | Zeichenfolge | Name der zu löschenden Anwendereigenschaft. |
[Tabelle : 14. Parameter]

{#NAnalyServiOS-removeUserProp_S__table_jdm_lf1_tpb} {#NAnalyServiOS-removeUserProp_S__table_kdm_lf1_tpb__entry__2}

| Typ | Beschreibung |
|-|-|
| Keine |   |
[Tabelle : 15. Ergebnisse]

{#NAnalyServiOS-removeUserProp_S__table_kdm_lf1_tpb}  
<br />

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

## NowAnalyticsService -- setDelegate(_ delegierter: NowAnalyticsServiceDelegate?) {#ariaid-title9}

Legt eine schwache Referenz für einen Delegierten fest, der Benachrichtigungen erhalten soll.
{#NAnalyServiOS-setDelegate_O__table_d42_j31_tpb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Delegierter | [NowAnalyticsServiceDelegierter](https://www.servicenow.com/docs/Q9KbqJkjSRQYEShif0MozA#NowAnalyticsServiceDeliOSProtocol "Das NowAnalyticsServiceDelegate- Protokoll stellt Rückruffunktionen bereit, die Informationen über das Starten und Beenden einer Benutzersitzung und die Erkennung von Bildschirmänderungen bereitstellen.") | 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 : 16. Parameter]

{#NAnalyServiOS-setDelegate_O__table_d42_j31_tpb} {#NAnalyServiOS-setDelegate_O__table_e42_j31_tpb__entry__2}

| Typ | Beschreibung |
|-|-|
| Keine |   |
[Tabelle : 17. Ergebnisse]

{#NAnalyServiOS-setDelegate_O__table_e42_j31_tpb}  
In diesem Beispiel wird gezeigt, 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: Zeichenfolge?) {#ariaid-title10}

Legt die Anwender-ID der Anwendung für den aktuellen Anwender fest. Übergeben Sie nil, um den aktuellen Anwender abzumelden.
{#NAnalyServiOS-setUserId_S__table_r2r_x1z_spb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| userId | Zeichenfolge | Optional. Anwendungsspezifischer Benutzerbezeichner. Um den aktuellen Anwender abzumelden, übergeben `Sie nil`. Die Anwender-ID darf keine HTML-Tags oder personenbezogenen Daten wie Name, E-Mail-Adresse oder Telefonnummer enthalten. Maximale Länge: 256 UTF-8 Byte |
[Tabelle : 18. Parameter]

{#NAnalyServiOS-setUserId_S__table_r2r_x1z_spb} {#NAnalyServiOS-setUserId_S__table_s2r_x1z_spb__entry__2}

| Typ | Beschreibung |
|-|-|
| Keine |   |
[Tabelle : 19. Ergebnisse]

{#NAnalyServiOS-setUserId_S__table_s2r_x1z_spb}  
<br />

    // 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\]) {#ariaid-title11}

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 Benutzer nachverfolgen möchten.
Sie müssen die Funktion [„setUserId()"](https://www.servicenow.com/docs/SwSGaxByw3oWq6zO59hRSA#NAnalyServiOS-setUserId_S "Legt die Anwender-ID der Anwendung für den aktuellen Anwender fest. Übergeben Sie nil, um den aktuellen Anwender abzumelden.") aufrufen, bevor Sie diese Funktion aufrufen.
{#NAnalyServiOS-setUserProperties_A__table_o5w_vfz_spb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| userProperties | Array | Schlüssel-Wert-Paare der festzulegenden Anwendereigenschaften. 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 {#NAnalyServiOS-setUserProperties_A__ul_vqr_1rc_zpb} |
[Tabelle : 20. Parameter]

{#NAnalyServiOS-setUserProperties_A__table_o5w_vfz_spb} {#NAnalyServiOS-setUserProperties_A__table_p5w_vfz_spb__entry__2}

| Typ | Beschreibung |
|-|-|
| Keine |   |
[Tabelle : 21. Ergebnisse]

{#NAnalyServiOS-setUserProperties_A__table_p5w_vfz_spb}  
<br />

    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?) {#ariaid-title12}

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 die Funktion [„setUserId()"](https://www.servicenow.com/docs/SwSGaxByw3oWq6zO59hRSA#NAnalyServiOS-setUserId_S "Legt die Anwender-ID der Anwendung für den aktuellen Anwender fest. Übergeben Sie nil, um den aktuellen Anwender abzumelden.") aufrufen, bevor Sie diese Funktion aufrufen.
{#NAnalyServiOS-setUserProperty_S_A__table_idn_sdz_spb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| namens propertyName | Zeichenfolge | Name der festzulegenden Anwendereigenschaft. Darf keine Punkte ('.') oder Dollar ('$') enthalten. Maximale Länge: 256 Zeichen |
| mit Wert | Beliebig | Wert, auf den die Anwendereigenschaft festgelegt werden soll. Unterstützte Werttypen: * Datum * NSNull * NSNumber * Zeichenfolgen * URL Maximale Länge: 1.000 Zeichen |
[Tabelle : 22. Parameter]

{#NAnalyServiOS-setUserProperty_S_A__table_idn_sdz_spb} {#NAnalyServiOS-setUserProperty_S_A__table_jdn_sdz_spb__entry__2}

| Typ | Beschreibung |
|-|-|
| Keine |   |
[Tabelle : 23. Ergebnisse]

{#NAnalyServiOS-setUserProperty_S_A__table_jdn_sdz_spb}  
<br />

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

## NowAnalyticsService -- startScreen(named screenName: String) {#ariaid-title13}

Protokolliert die Zeit, zu der der zugehörige Bildschirm zum ersten Mal in der Anwenderoberfläche angezeigt wird.
Rufen Sie diese Methode nach der Methode viewDidAppear(_:) auf.
{#NAnalyServiOS-startScreen_S__table_vw5_fyy_spb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| namens screenName | Zeichenfolge | Name des Bildschirms, für den die Startzeit protokolliert werden soll, z. B. <kbd class="ph userinput">WillkommensBildschirm </kbd>. 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 : 24. Parameter]

{#NAnalyServiOS-startScreen_S__table_vw5_fyy_spb} {#NAnalyServiOS-startScreen_S__table_ww5_fyy_spb__entry__2}

| Typ | Beschreibung |
|-|-|
| Keine |   |
[Tabelle : 25. Ergebnisse]

{#NAnalyServiOS-startScreen_S__table_ww5_fyy_spb}  
<br />

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


