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 Nutzer:in anmeldet und eine external_id verfügbar ist. Setzen Sie ein Flag in Ihrem Code, das auf true wechselt, wenn sich die 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 gesetzt wurde). Wenn Sie verhindern, dass das SDK bei jeder Abmeldung oder bei jedem neuen Sitzungsstart initialisiert wird, beeinträchtigt dies das Vorladen von In-App-Nachrichten und Content-Card-Assets, was zu Zustellbarkeitsfehlern für diese Campaigns führen kann.
Nutzer-ID festlegen
Um eine Nutzer-ID festzulegen, rufen Sie die Methode changeUser() auf, nachdem sich die Nutzer:in erstmalig 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 Hash-Funktion normalisieren. Entfernen Sie beispielsweise beim Hashen einer E-Mail-Adresse alle führenden oder nachgestellten Leerzeichen und berücksichtigen Sie die Lokalisierung.
Für eine Standard-Internet-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 verwenden, um die changeUser-Methode aufzurufen. Verwenden Sie ihn immer dann, wenn sich eine Nutzer:in anmeldet oder anderweitig mit dem eindeutigen external_id-Bezeichner identifiziert wird.
Geben Sie die eindeutige ID der aktuellen Nutzer:in im Feld External User ID ein, das in der Regel über eine von Ihrer Website gesendete Datenschichtvariable befüllt 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 im 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 für Main-Thread- oder latenzsensitive Kontexte 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 festgelegt ist, hat keine Auswirkung 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 (eine, die in Braze noch nicht existiert), werden die Daten des anonymen Profils mit dem neuen identifizierten Profil zusammengeführt. - Wenn eine anonyme Nutzer:in
changeUser()mit einer vorhandenen Nutzer-ID aufruft, werden die Daten des anonymen Profils nicht mit dem identifizierten 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 der vorherigen Nutzer:in, bevor zur neuen Nutzer:in gewechselt wird. Sie müssen daher keinen manuellen Daten-Flush vor dem Aufruf von changeUser() anfordern.

Weisen Sie nicht eine 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 unter einer einzigen 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.
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 Nutzer:in andere Bezeichner hinzufügen möchten, aber nicht wissen, wie sein external_id lautet (z.B. weil er nicht angemeldet ist). Mit User-Aliasing können Sie auch Nutzer:in:
- Verwenden Sie die Braze API, um Ereignisse und Attribute zu protokollieren, die anonymen Nutzer:innen zugeordnet sind.
- Verwenden Sie den Segmentierungsfilter Externe ID ist leer, um anonyme Nutzer:innen in Ihrem Messaging zu targetieren.
Einen Nutzer-Alias festlegen
Ein Nutzer-Alias besteht aus zwei Teilen: einem Namen und einer Bezeichnung. Der Name bezieht sich auf den Bezeichner selbst, während die Bezeichnung den Typ des Bezeichners angibt, zu dem er gehört. Wenn Sie beispielsweise eine:n Nutzer:in in einer Drittanbieter-Kundensupport-Plattform mit der externen ID 987654 haben, können Sie dieser Person in Braze einen Alias mit dem Namen 987654 und der Bezeichnung support_id zuweisen, um sie 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.