Nutzer-IDs festlegen
Erfahren Sie, wie Sie Nutzer-IDs über das Braze SDK festlegen. Dabei handelt es sich um eindeutige Bezeichner, mit denen Sie Nutzer:innen geräte- und plattformübergreifend tracken, ihre Daten über die Nutzerdaten-API importieren und gezielte Nachrichten über die Messaging-API versenden können. Wenn Sie einer Nutzer:in keine eindeutige ID zuweisen, weist Braze stattdessen eine anonyme ID zu. Solange Sie dies nicht tun, können Sie diese Features jedoch nicht nutzen.

Für Wrapper-SDKs, die nicht aufgeführt sind, verwenden Sie stattdessen die entsprechende native Android- oder Swift-Methode.
Über anonyme Nutzer:innen
Nachdem Sie das Braze SDK integriert haben, werden Nutzer:innen, die Ihre App zum ersten Mal starten, als „anonym“ betrachtet, bis Sie die Methode changeUser aufrufen und ihnen eine external_id zuweisen. Einmal zugewiesen, können Sie sie nicht wieder anonymisieren. Wenn sie jedoch Ihre App deinstallieren und neu installieren, werden sie wieder anonym, bis changeUser aufgerufen wird.
Wenn ein zuvor identifizierter Nutzer eine Sitzung auf einem neuen Gerät startet, führt Braze bestimmte Felder aus dem anonymen Profil, die auf dem identifizierten Profil noch nicht vorhanden sind, zusammen, nachdem Sie changeUser auf diesem Gerät mit der entsprechenden external_id aufgerufen haben. Es werden nicht alle Daten übertragen – nur Felder, die auf dem identifizierten Profil noch nicht ausgefüllt sind, werden zusammengeführt. Die vollständige Liste der übertragenen Felder finden Sie unter Zusammenführungsverhalten.
Anonymes Nutzer:innen-Tracking verhindern
Wenn Ihr Anwendungsfall erfordert, dass keine Daten erfasst werden, bevor ein:e Nutzer:in identifiziert ist, können Sie die Initialisierung des Braze SDK verzögern, bis sich die/der Nutzer:in anmeldet und eine external_id verfügbar ist. Setzen Sie in Ihrem Code ein Flag, das auf true wechselt, wenn sich die/der Nutzer:in anmeldet, und initialisieren Sie das SDK erst, wenn dieses Flag gesetzt ist.

Verzögern Sie die Initialisierung nur beim ersten Mal, wenn ein:e Nutzer:in Ihre App herunterlädt (bevor eine external_id festgelegt ist). Wenn Sie verhindern, dass das SDK bei jeder Abmeldung oder jedem neuen Sitzungsstart initialisiert wird, beeinträchtigt dies das Vorladen von In-App-Nachrichten und Content-Card-Assets, was zu Zustellbarkeitsproblemen bei diesen Campaigns führen kann.
Nutzer-ID festlegen
Um eine Nutzer-ID festzulegen, rufen Sie die Methode changeUser() auf, nachdem sich die Nutzer:in erstmals angemeldet hat. IDs sollten eindeutig sein und unseren Best Practices für die Benennung folgen.
Wenn Sie stattdessen einen eindeutigen Bezeichner hashen, stellen Sie sicher, dass Sie die Eingabe Ihrer Hashing-Funktion normalisieren. Zum Beispiel sollten Sie bei der Hashung einer E-Mail-Adresse führende oder nachfolgende Leerzeichen entfernen und die Lokalisierung berücksichtigen.
Für eine standardmäßige Web-SDK-Implementierung können Sie die folgende Methode verwenden:
braze.changeUser(YOUR_USER_ID_STRING);
Wenn Sie stattdessen Google Tag Manager verwenden möchten, können Sie den Tag-Typ Change User nutzen, um die changeUser-Methode aufzurufen. Verwenden Sie ihn, wenn sich eine Nutzer:in anmeldet oder anderweitig mit ihrem eindeutigen external_id-Bezeichner identifiziert wird.
Geben Sie die eindeutige ID der aktuellen Nutzer:in im Feld External User ID ein. Dieses wird in der Regel über eine Data-Layer-Variable befüllt, die von Ihrer Website gesendet wird.

Braze.getInstance(context).changeUser(YOUR_USER_ID_STRING);
Braze.getInstance(context).changeUser(YOUR_USER_ID_STRING)
AppDelegate.braze?.changeUser(userId: "YOUR_USER_ID")
[AppDelegate.braze changeUser:@"YOUR_USER_ID_STRING"];

changeUser reiht den Nutzerwechsel in die Warteschlange ein und kehrt sofort auf dem aufrufenden Thread zurück. Alle danach auf braze.user aufgerufenen Attribut-Setter werden automatisch hinter den von changeUser initiierten Operationen serialisiert. Das Lesen von braze.user.id blockiert den aufrufenden Thread, bis der Nutzerwechsel vollständig abgeschlossen ist. Verwenden Sie in Main-Thread- oder latenzempfindlichen Kontexten stattdessen die nicht-blockierenden Alternativen.
// Completion handler — always delivers on the main thread.
AppDelegate.braze?.user.getId { userId in
print("User ID:", userId ?? "anonymous")
}
// Async/await (iOS 13.0+, tvOS 13.0+, watchOS 6.0+, macOS 10.15+)
let userId = await AppDelegate.braze?.user.getId()
// Completion handler — always delivers on the main thread.
[AppDelegate.braze.user getIdWithCompletion:^(NSString * _Nullable userId) {
NSLog(@"User ID: %@", userId ?: @"anonymous");
}];
BrazePlugin.changeUser("YOUR_USER_ID");
m.Braze.setUserId(YOUR_USER_ID_STRING)
AppboyBinding.ChangeUser("YOUR_USER_ID_STRING");
Braze.changeUser("YOUR_USER_ID_STRING");
So funktioniert changeUser()
Wenn Sie changeUser() aufrufen, gelten die folgenden Verhaltensweisen:
- Der Aufruf von
changeUser()mit derselben Nutzer-ID, die bereits gesetzt ist, hat keinen Einfluss auf die Sitzungsanzahl. - Der Aufruf von
changeUser()mit einer anderen Nutzer-ID beendet automatisch die aktuelle Sitzung und startet eine neue. - Wenn eine anonyme Nutzer:in
changeUser()mit einer neuen Nutzer-ID aufruft (die in Braze noch nicht existiert), werden die Daten des anonymen Profils in das neue identifizierte Profil zusammengeführt. - Wenn eine anonyme Nutzer:in
changeUser()mit einer bestehenden Nutzer-ID aufruft, werden die Daten des anonymen Profils nicht in das identifizierte Profil zusammengeführt.

Der Aufruf von changeUser() löst im Rahmen des Schließens der Sitzung der aktuellen Nutzer:in einen Daten-Flush aus. Das SDK sendet automatisch alle ausstehenden Daten für die vorherige Nutzer:in, bevor zur neuen Nutzer:in gewechselt wird. Sie müssen daher vor dem Aufruf von changeUser() keinen manuellen Daten-Flush anfordern.

Weisen Sie keine einzelne, gemeinsam genutzte Nutzer-ID zu (zum Beispiel eine statische Standard-externe ID) und rufen Sie changeUser() nicht auf, wenn sich eine Nutzer:in abmeldet. Andernfalls können Sie zuvor angemeldete Nutzer:innen auf gemeinsam genutzten Geräten nicht erneut ansprechen, und alle Daten werden gegen eine einzige Nutzer-ID protokolliert, was dazu führen kann, dass andere Features nicht wie erwartet funktionieren. Verfolgen Sie stattdessen alle Nutzer-IDs separat und stellen Sie sicher, dass der Abmeldevorgang Ihrer App den Wechsel zurück zu einer zuvor angemeldeten Nutzer:in ermöglicht. Wenn eine neue Sitzung beginnt, aktualisiert Braze automatisch die Daten für das neu aktive Profil.
Push-Benachrichtigungen nach der Abmeldung verwalten
Wenn sich Nutzer:innen aus Ihrer App abmelden, rufen Sie die SDK-Methode logout() oder unregisterPush() von Braze als Teil Ihres Abmeldevorgangs auf. Wenn einer der beiden Aufrufe erfolgreich ist, entfernt Braze sofort das Push-Token des Geräts aus dem aktuellen Nutzerprofil, sodass Braze dieses Gerät nicht mehr für zukünftige Push-Campaigns anspricht.
- Für eine vollständige Abmeldung rufen Sie
logout()auf, um Push abzumelden und bei Erfolg lokale SDK-Daten zu löschen und das SDK zu deaktivieren. Ein erfolgreicherlogout()-Aufruf ruft bereitswipeData()für Sie auf. - Um nur Push zu beenden, rufen Sie
unregisterPush()auf, um das Push-Token aus dem Nutzerprofil zu entfernen und das lokal gespeicherte Token zu löschen, ohne andere SDK-Daten zu löschen.
Informationen zur Implementierung, Fehlerbehandlung und erneuten Registrierung finden Sie unter Datenerfassung verwalten für Ihre Plattform:

Wenn eine Push-Benachrichtigung bereits unterwegs ist, wenn logout() oder unregisterPush() erfolgreich ausgeführt wird, kann diese Benachrichtigung trotzdem an das Gerät zugestellt werden.
Nutzer-Aliase
Funktionsweise
Obwohl anonyme Nutzer:innen nicht über external_ids verfügen, können Sie ihnen stattdessen einen Nutzer-Alias zuweisen. Sie sollten einen Nutzer-Alias zuweisen, wenn Sie dem/der Nutzer:in andere Bezeichner hinzufügen möchten, aber nicht wissen, wie die external_id lautet (z. B. weil die Person nicht angemeldet ist). Mit Nutzer-Aliases können Sie auch:
- Die Braze-API verwenden, um Ereignisse und Attribute zu protokollieren, die anonymen Nutzer:innen zugeordnet sind
- Den Segmentierungsfilter Externe Nutzer-ID ist leer verwenden, um anonyme Nutzer:innen in Ihrem Messaging anzusprechen
Einen Nutzer-Alias festlegen
Ein Nutzer-Alias besteht aus zwei Teilen: einem Namen und einem Label. Der Name bezieht sich auf den Bezeichner selbst, während das Label den Typ des Bezeichners angibt, zu dem er gehört. Wenn Sie beispielsweise eine:n Nutzer:in in einer externen Kundensupport-Plattform mit der externen ID 987654 haben, können Sie ihr/ihm in Braze einen Alias mit dem Namen 987654 und dem Label support_id zuweisen, um sie/ihn plattformübergreifend zu tracken.
braze.getUser().addAlias(ALIAS_NAME, ALIAS_LABEL);
Braze.getInstance(context).getCurrentUser().addAlias(ALIAS_NAME, ALIAS_LABEL);
Braze.getInstance(context).currentUser?.addAlias(ALIAS_NAME, ALIAS_LABEL)
Appboy.sharedInstance()?.user.addAlias(ALIAS_NAME, ALIAS_LABEL)
[[Appboy sharedInstance].user addAlias:ALIAS_NAME withLabel:ALIAS_LABEL];
{
"alias_name" : (required, string),
"alias_label" : (required, string)
}
Braze.addAlias("ALIAS_NAME", "ALIAS_LABEL");
Best Practices für die ID-Benennung
Wir empfehlen Ihnen, Nutzer-IDs nach dem UUID-Standard (Universally Unique Identifier) zu erstellen, d. h. es handelt sich um 128-Bit-Strings, die zufällig und gut verteilt sind.
Alternativ können Sie einen vorhandenen eindeutigen Bezeichner (z. B. einen Namen oder eine E-Mail-Adresse) hashen, um Ihre Nutzer-IDs zu generieren. Wenn Sie dies tun, stellen Sie sicher, dass Sie eine SDK-Authentifizierung implementieren, damit Sie einen Identitätswechsel verhindern können.

Verwenden Sie für Ihre Nutzer-ID keine leicht zu erratenden Werte oder fortlaufende Zahlen. Dies könnte Ihr Unternehmen böswilligen Angriffen oder Datenexfiltration aussetzen.
Für zusätzliche Sicherheit verwenden Sie die SDK-Authentifizierung.
Es ist zwar wichtig, dass Sie Ihre Nutzer-IDs von Anfang an richtig benennen, aber Sie können sie in Zukunft jederzeit mit dem /users/external_ids/rename-Endpunkt umbenennen.
| Nicht empfohlene ID-Typen | Nicht empfohlenes Beispiel |
|---|---|
| Sichtbare Profil-ID oder Nutzername | JonDoe829525552 |
| E-Mail-Adresse | [email protected] |
| Automatisch inkrementierende Nutzer-ID | 123 |

Vermeiden Sie es, Details darüber preiszugeben, wie Sie Nutzer-IDs erstellen, da dies Ihr Unternehmen böswilligen Angriffen oder Datenexfiltration aussetzen könnte.