Definir atributos do usuário
Aprenda como definir atributos do usuário através do SDK da Braze.

Para wrapper SDKs não listados, use o método nativo relevante do Android ou SWIFT.
Pré-requisitos
Antes de poder usar esse recurso, você precisará integrar o Web Braze SDK.
Atributos padrão do usuário
Métodos predefinidos
A Braze fornece métodos predefinidos para definir os seguintes atributos de usuário na classe User:
- Nome
- Sobrenome
- Idioma
- País
- Data de nascimento
- Gênero
- Cidade
- Número de telefone
Definindo atributos padrão
Para definir um atributo padrão para um usuário, chame o método getUser() na sua instância do Braze para obter uma referência ao usuário atual do seu app. Em seguida, você pode chamar métodos para definir um atributo de usuário.
braze.getUser().setFirstName("SomeFirstName");
braze.getUser().setGender(braze.User.Genders.FEMALE);
braze.getUser().setDateOfBirth(2000, 12, 25);
Ao usar o Google Tag Manager, os atributos padrão do usuário (como o nome do usuário) devem ser registrados da mesma forma que os atributos personalizados de usuário. Certifique-se de que os valores que você está passando para atributos padrão correspondam ao formato esperado especificado na documentação da classe User.
Por exemplo, o atributo de gênero pode aceitar qualquer um dos seguintes valores: "m" | "f" | "o" | "u" | "n" | "p". Portanto, para definir o gênero de um usuário como feminino, crie uma tag HTML personalizada com o seguinte conteúdo:
<script>
window.braze.getUser().setGender("f")
</script>
Removendo atributos padrão
Você pode remover ou desfazer um atributo de usuário pelo código do seu app, por uma solicitação da REST API ou por uma etapa User Update do Canvas. Para atributos de array e booleanos, use null. Para outros tipos de dados, use uma string vazia ("").
Para remover um atributo padrão de usuário com o Web SDK, passe null para o método correspondente. Por exemplo:
braze.getUser().setFirstName(null);
braze.getUser().setGender(null);
braze.getUser().setDateOfBirth(null, null, null);
Atributos personalizados do usuário
Definindo atributos personalizados
Além dos métodos de atributos padrão do usuário, você também pode definir atributos personalizados para seus usuários. Para especificações completas dos métodos, consulte nosso JSDocs.
Para definir um atributo personalizado com um valor de string:
braze.getUser().setCustomUserAttribute(
YOUR_ATTRIBUTE_KEY_STRING,
YOUR_STRING_VALUE
);
Para definir um atributo personalizado com um valor de integer:
braze.getUser().setCustomUserAttribute(
YOUR_ATTRIBUTE_KEY_STRING,
YOUR_INT_VALUE
);
// Integer attributes may also be incremented using code like the following
braze.getUser().incrementCustomUserAttribute(
YOUR_ATTRIBUTE_KEY_STRING,
THE_INTEGER_VALUE_BY_WHICH_YOU_WANT_TO_INCREMENT_THE_ATTRIBUTE
);
Para definir um atributo personalizado com um valor de date:
braze.getUser().setCustomUserAttribute(
YOUR_ATTRIBUTE_KEY_STRING,
YOUR_DATE_VALUE
);
// This method will assign the current time to a custom attribute at the time the method is called
braze.getUser().setCustomUserAttribute(
YOUR_ATTRIBUTE_KEY_STRING,
new Date()
);
// This method will assign the date specified by secondsFromEpoch to a custom attribute
braze.getUser().setCustomUserAttribute(
YOUR_ATTRIBUTE_KEY_STRING,
new Date(secondsFromEpoch * 1000)
);
O número padrão e máximo de elementos em uma matriz é 500. Você pode atualizar o número máximo de elementos no dashboard da Braze, em Data Settings > Custom Attributes. Matrizes que excedam o número máximo de elementos serão truncadas para conter o número máximo de elementos.
Para definir um atributo personalizado com um valor de array:
braze.getUser().setCustomUserAttribute(YOUR_ATTRIBUTE_KEY_STRING, YOUR_ARRAY_OF_STRINGS);
// Adding a new element to a custom attribute with an array value
braze.getUser().addToCustomAttributeArray(YOUR_ATTRIBUTE_KEY_STRING, "new string");
// Removing an element from a custom attribute with an array value
braze.getUser().removeFromCustomAttributeArray(YOUR_ATTRIBUTE_KEY_STRING, "value to be removed");

As datas passadas para a Braze com este método devem ser objetos JavaScript Date.

As chaves e os valores de atributos personalizados podem ter no máximo 255 caracteres. Para saber mais sobre valores válidos de atributos personalizados, consulte a documentação de referência.
Atributos personalizados do usuário não estão disponíveis devido a uma limitação na linguagem de script do Google Tag Manager. Para registrar atributos personalizados, crie uma tag HTML personalizada com o seguinte conteúdo:
<script>
// Note: If using SDK version 3.x or below, use `window.appboy` instead of `window.braze`
// Version 4 or greater should use `window.braze`
window.braze.getUser().setCustomUserAttribute("attribute name", "attribute value");
</script>

O modelo GTM não oferece suporte para propriedades aninhadas em eventos ou compras. Você pode usar o HTML anterior para registrar quaisquer eventos ou compras que exijam propriedades aninhadas.
Removendo atributos personalizados
Para remover um atributo personalizado, passe null para o método correspondente.
braze.getUser().setCustomUserAttribute(YOUR_ATTRIBUTE_KEY_STRING, null);
Aninhando atributos personalizados
Você também pode aninhar propriedades dentro de atributos personalizados. No exemplo a seguir, um objeto favorite_book com propriedades aninhadas é definido como um atributo personalizado no perfil de usuário. Para saber mais, consulte Atributos personalizados aninhados.
import * as braze from "@braze/web-sdk";
const favoriteBook = {
title: "The Hobbit",
author: "J.R.R. Tolkien",
publishing_date: "1937"
};
braze.getUser().setCustomUserAttribute("favorite_book", favoriteBook);
Usando a REST API
Você também pode usar nossa REST API para definir ou remover atributos do usuário. Para saber mais, consulte Endpoints de dados de usuários.
Definindo inscrições do usuário
Para configurar uma inscrição para seus usuários (e-mail ou push), chame as funções setEmailNotificationSubscriptionType() ou setPushNotificationSubscriptionType(), respectivamente. Ambas as funções recebem o tipo enum braze.User.NotificationSubscriptionTypes como argumento. Esse tipo possui três estados diferentes:
| Status da inscrição | Definição |
|---|---|
braze.User.NotificationSubscriptionTypes.OPTED_IN |
Inscrito e com aceitação explícita |
braze.User.NotificationSubscriptionTypes.SUBSCRIBED |
Inscrito, mas sem aceitação explícita |
braze.User.NotificationSubscriptionTypes.UNSUBSCRIBED |
Inscrição cancelada e/ou recusa explícita |
Quando um usuário é registrado para push, o navegador exige que ele escolha permitir ou bloquear as notificações. Se ele optar por permitir push, será definido como OPTED_IN por padrão.
Acesse Gerenciando inscrições de usuários para saber mais sobre a implementação de inscrições e aceitações explícitas.
Cancelando a inscrição de um usuário de e-mail
braze.getUser().setEmailNotificationSubscriptionType(braze.User.NotificationSubscriptionTypes.UNSUBSCRIBED);
Cancelando a inscrição de um usuário de push
braze.getUser().setPushNotificationSubscriptionType(braze.User.NotificationSubscriptionTypes.UNSUBSCRIBED);
Pré-requisitos
Antes de usar este recurso, você precisará integrar o SDK Android Braze.
Atributos padrão do usuário
Métodos predefinidos
A Braze fornece métodos predefinidos para definir os seguintes atributos de usuário na classe BrazeUser. Para especificações dos métodos, consulte nosso KDoc.
- Nome
- Sobrenome
- País
- Idioma
- Data de nascimento
- Gênero
- Cidade
- Número de telefone

Todos os valores de string, como nome, sobrenome, país e cidade natal, estão limitados a 255 caracteres.
Definindo atributos padrão
Para definir um atributo padrão para um usuário, chame o método getCurrentUser() na sua instância do Braze para obter uma referência ao usuário atual do seu app. Em seguida, você pode chamar métodos para definir um atributo de usuário.
Braze.getInstance(context).getCurrentUser(new IValueCallback<BrazeUser>() {
@Override
public void onSuccess(BrazeUser brazeUser) {
brazeUser.setFirstName("first_name");
}
}
Braze.getInstance(context).getCurrentUser { brazeUser ->
brazeUser.setFirstName("first_name")
}
Removendo atributos padrão
Para remover um atributo de usuário, passe null para o método relevante.
Braze.getInstance(context).getCurrentUser(new IValueCallback<BrazeUser>() {
@Override
public void onSuccess(BrazeUser brazeUser) {
brazeUser.setFirstName(null);
}
}
Braze.getInstance(context).getCurrentUser { brazeUser ->
brazeUser.setFirstName(null)
}
Atributos personalizados do usuário
Além dos atributos de usuário padrão, a Braze também permite que você defina atributos personalizados usando vários tipos de dados diferentes. Para saber mais sobre as opções de segmentação de cada atributo, consulte Coleta de dados de usuários.
Definindo atributos personalizados
Para definir um atributo personalizado com um valor de string:
Braze.getInstance(context).getCurrentUser(new IValueCallback<BrazeUser>() {
@Override
public void onSuccess(BrazeUser brazeUser) {
brazeUser.setCustomUserAttribute("your_attribute_key", "your_attribute_value");
}
}
Braze.getInstance(context).getCurrentUser { brazeUser ->
brazeUser.setCustomUserAttribute("your_attribute_key", "your_attribute_value")
}
Para definir um atributo personalizado com um valor de int:
Braze.getInstance(context).getCurrentUser(new IValueCallback<BrazeUser>() {
@Override
public void onSuccess(BrazeUser brazeUser) {
brazeUser.setCustomUserAttribute("your_attribute_key", YOUR_INT_VALUE);
// Integer attributes may also be incremented using code like the following:
brazeUser.incrementCustomUserAttribute("your_attribute_key", YOUR_INCREMENT_VALUE);
}
}
Braze.getInstance(context).getCurrentUser { brazeUser ->
brazeUser.setCustomUserAttribute("your_attribute_key", YOUR_INT_VALUE)
// Integer attributes may also be incremented using code like the following:
brazeUser.incrementCustomUserAttribute("your_attribute_key", YOUR_INCREMENT_VALUE)
}
Para definir um atributo personalizado com um valor inteiro long:
Braze.getInstance(context).getCurrentUser(new IValueCallback<BrazeUser>() {
@Override
public void onSuccess(BrazeUser brazeUser) {
brazeUser.setCustomUserAttribute("your_attribute_key", YOUR_LONG_VALUE);
}
});
Braze.getInstance(context).getCurrentUser { brazeUser ->
brazeUser.setCustomUserAttribute("your_attribute_key", YOUR_LONG_VALUE)
}
Para definir um atributo personalizado com um valor de float:
Braze.getInstance(context).getCurrentUser(new IValueCallback<BrazeUser>() {
@Override
public void onSuccess(BrazeUser brazeUser) {
brazeUser.setCustomUserAttribute("your_attribute_key", YOUR_FLOAT_VALUE);
}
});
Braze.getInstance(context).getCurrentUser { brazeUser ->
brazeUser.setCustomUserAttribute("your_attribute_key", YOUR_FLOAT_VALUE)
}
Para definir um atributo personalizado com um valor de double:
Braze.getInstance(context).getCurrentUser(new IValueCallback<BrazeUser>() {
@Override
public void onSuccess(BrazeUser brazeUser) {
brazeUser.setCustomUserAttribute("your_attribute_key", YOUR_DOUBLE_VALUE);
}
});
Braze.getInstance(context).getCurrentUser { brazeUser ->
brazeUser.setCustomUserAttribute("your_attribute_key", YOUR_DOUBLE_VALUE)
}
Para definir um atributo personalizado com um valor de boolean:
Braze.getInstance(context).getCurrentUser(new IValueCallback<BrazeUser>() {
@Override
public void onSuccess(BrazeUser brazeUser) {
brazeUser.setCustomUserAttribute("your_attribute_key", YOUR_BOOLEAN_VALUE);
}
});
Braze.getInstance(context).getCurrentUser { brazeUser ->
brazeUser.setCustomUserAttribute("your_attribute_key", YOUR_BOOLEAN_VALUE)
}
Braze.getInstance(context).getCurrentUser(new IValueCallback<BrazeUser>() {
@Override
public void onSuccess(BrazeUser brazeUser) {
brazeUser.setCustomUserAttribute("your_attribute_key", YOUR_DATE_VALUE);
// This method will assign the current time to a custom attribute at the time the method is called:
brazeUser.setCustomUserAttributeToNow("your_attribute_key");
// This method will assign the date specified by SECONDS_FROM_EPOCH to a custom attribute:
brazeUser.setCustomUserAttributeToSecondsFromEpoch("your_attribute_key", SECONDS_FROM_EPOCH);
}
});
Braze.getInstance(context).getCurrentUser { brazeUser ->
brazeUser.setCustomUserAttribute("your_attribute_key", YOUR_DATE_VALUE)
// This method will assign the current time to a custom attribute at the time the method is called:
brazeUser.setCustomUserAttributeToNow("your_attribute_key")
// This method will assign the date specified by SECONDS_FROM_EPOCH to a custom attribute:
brazeUser.setCustomUserAttributeToSecondsFromEpoch("your_attribute_key", SECONDS_FROM_EPOCH)
}

As datas enviadas à Braze com este método devem estar no formato ISO 8601 (por exemplo, 2013-07-16T19:20:30+01:00) ou no formato yyyy-MM-dd'T'HH:mm:ss:SSSZ (por exemplo, 2016-12-14T13:32:31.601-0800).
O número máximo de elementos em um array é 500 por padrão. Você pode atualizar o número máximo de arrays no dashboard da Braze, em Data Settings > Custom Attributes. Arrays que excedem o número máximo de elementos são truncados para conter o número máximo de elementos. Para saber mais sobre arrays de atributos personalizados e seu comportamento, consulte Arrays.
Braze.getInstance(context).getCurrentUser(new IValueCallback<BrazeUser>() {
@Override
public void onSuccess(BrazeUser brazeUser) {
// Setting a custom attribute with an array value
brazeUser.setCustomAttributeArray("your_attribute_key", testSetArray);
// Adding to a custom attribute with an array value
brazeUser.addToCustomAttributeArray("your_attribute_key", "value_to_add");
// Removing a value from an array type custom attribute
brazeUser.removeFromCustomAttributeArray("your_attribute_key", "value_to_remove");
}
});
Braze.getInstance(context).getCurrentUser { brazeUser ->
// Setting a custom attribute with an array value
brazeUser.setCustomAttributeArray("your_attribute_key", testSetArray)
// Adding to a custom attribute with an array value
brazeUser.addToCustomAttributeArray("your_attribute_key", "value_to_add")
// Removing a value from an array type custom attribute
brazeUser.removeFromCustomAttributeArray("your_attribute_key", "value_to_remove")
}
Removendo atributos personalizados
Para remover um atributo personalizado, passe a chave do atributo relevante para o método unsetCustomUserAttribute.
Braze.getInstance(context).getCurrentUser(new IValueCallback<BrazeUser>() {
@Override
public void onSuccess(BrazeUser brazeUser) {
brazeUser.unsetCustomUserAttribute("your_attribute_key");
}
});
Braze.getInstance(context).getCurrentUser { brazeUser ->
brazeUser.unsetCustomUserAttribute("your_attribute_key")
}
Atributos personalizados aninhados
Você também pode aninhar propriedades dentro de atributos personalizados. No exemplo a seguir, um objeto favorite_book com propriedades aninhadas é definido como um atributo personalizado no perfil de usuário. Para saber mais, consulte Atributos personalizados aninhados.
JSONObject favoriteBook = new JSONObject();
try {
favoriteBook.put("title", "The Hobbit");
favoriteBook.put("author", "J.R.R. Tolkien");
favoriteBook.put("publishing_date", "1937");
} catch (JSONException e) {
e.printStackTrace();
}
braze.getCurrentUser(user -> {
user.setCustomUserAttribute("favorite_book", favoriteBook);
return null;
});
val favoriteBook = JSONObject()
.put("title", "The Hobbit")
.put("author", "J.R.R. Tolkien")
.put("publishing_date", "1937")
braze.getCurrentUser { user ->
user.setCustomUserAttribute("favorite_book", favoriteBook)
}
Usando a REST API
Você também pode usar nossa REST API para definir ou remover atributos de usuário. Para saber mais, consulte Endpoints de dados de usuários.
Definindo inscrições de usuários
Para configurar uma inscrição para seus usuários (e-mail ou push), chame as funções setEmailNotificationSubscriptionType() ou setPushNotificationSubscriptionType(), respectivamente. Ambas as funções aceitam o tipo enum NotificationSubscriptionType como argumento. Esse tipo possui três estados diferentes:
| Status da inscrição | Definição |
|---|---|
OPTED_IN |
Inscrito e com aceitação explícita |
SUBSCRIBED |
Inscrito, mas sem aceitação explícita |
UNSUBSCRIBED |
Desinscrito e/ou com cancelamento de inscrição explícito |

O Android não exige aceitação explícita para enviar notificações por push aos usuários. Quando um usuário é registrado para push, ele é definido como SUBSCRIBED em vez de OPTED_IN por padrão. Consulte gerenciamento de inscrições de usuários para saber mais sobre a implementação de inscrições e aceitações explícitas.
Definindo inscrições de e-mail
Braze.getInstance(context).getCurrentUser(new IValueCallback<BrazeUser>() {
@Override
public void onSuccess(BrazeUser brazeUser) {
brazeUser.setEmailNotificationSubscriptionType(emailNotificationSubscriptionType);
}
});
Braze.getInstance(context).getCurrentUser { brazeUser ->
brazeUser.setEmailNotificationSubscriptionType(emailNotificationSubscriptionType)
}
Definindo inscrição de notificações por push
Braze.getInstance(context).getCurrentUser(new IValueCallback<BrazeUser>() {
@Override
public void onSuccess(BrazeUser brazeUser) {
brazeUser.setPushNotificationSubscriptionType(pushNotificationSubscriptionType);
}
});
Braze.getInstance(context).getCurrentUser { brazeUser ->
brazeUser.setPushNotificationSubscriptionType(pushNotificationSubscriptionType)
}
Pré-requisitos
Antes de poder usar esse recurso, você precisará integrar o Swift Braze SDK.
Atributos padrão do usuário
Atributos suportados
Os seguintes atributos devem ser definidos no objeto Braze.User:
firstNamelastNameemaildateOfBirthcountrylanguagehomeCityphonegender
Definindo atributos padrão
Para definir um atributo padrão do usuário, defina o campo apropriado no objeto compartilhado Braze.User. A seguir, um exemplo de como definir o atributo de nome:
AppDelegate.braze?.user.set(firstName: "Alex")
[AppDelegate.braze.user setFirstName:@"Alex"];
Removendo atributos padrão
Para remover um atributo padrão do usuário, passe nil para o método relevante.
AppDelegate.braze?.user.set(firstName: nil)
[AppDelegate.braze.user setFirstName:nil];
Atributos personalizados do usuário
Além dos atributos padrão do usuário, a Braze também permite que você defina atributos personalizados usando vários tipos de dados diferentes. Para saber mais sobre as opções de segmentação de cada atributo, consulte Coleta de dados do usuário.

Os valores dos atributos personalizados têm um comprimento máximo de 255 caracteres; valores mais longos serão truncados. Para saber mais, consulte Braze.User.
Definindo atributos personalizados
Para definir um atributo personalizado com um valor de string:
AppDelegate.braze?.user.setCustomAttribute(key: "your_attribute_key", value: "your_attribute_value")
[AppDelegate.braze.user setCustomAttributeWithKey:@"your_attribute_key" stringValue:"your_attribute_value"];
Para definir um atributo personalizado com um valor de integer:
AppDelegate.braze?.user.setCustomAttribute(key: "your_attribute_key", value: yourIntegerValue)
[AppDelegate.braze.user setCustomAttributeWithKey:@"your_attribute_key" andIntegerValue:yourIntegerValue];
A Braze trata valores float e double da mesma forma em nosso banco de dados. Para definir um atributo personalizado com um valor double:
AppDelegate.braze?.user.setCustomAttribute(key: "your_attribute_key", value: yourDoubleValue)
[AppDelegate.braze.user setCustomAttributeWithKey:@"your_attribute_key" andDoubleValue:yourDoubleValue];
Para definir um atributo personalizado com um valor boolean:
AppDelegate.braze?.user.setCustomAttribute("your_attribute_key", value: yourBoolValue)
[AppDelegate.braze.user setCustomAttributeWithKey:@"your_attribute_key" andBOOLValue:yourBOOLValue];
Para definir um atributo personalizado com um valor de date:
AppDelegate.braze?.user.setCustomAttribute("your_attribute_key", dateValue:yourDateValue)
[AppDelegate.braze.user setCustomAttributeWithKey:@"your_attribute_key" andDateValue:yourDateValue];
O número padrão e máximo de elementos em um array é 500. Você pode atualizar o número máximo de arrays no dashboard da Braze, em Data Settings > Custom Attributes. Arrays que excederem o número máximo de elementos serão truncados para conter o número máximo de elementos.
Para definir um atributo personalizado com um valor de array:
// Setting a custom attribute with an array value
AppDelegate.braze?.user.setCustomAttributeArray(key: "array_name", array: ["value1", "value2"])
// Adding to a custom attribute with an array value
AppDelegate.braze?.user.addToCustomAttributeArray(key: "array_name", value: "value3")
// Removing a value from an array type custom attribute
AppDelegate.braze?.user.removeFromCustomAttributeArray(key: "array_name", value: "value2")
// Setting a custom attribute with an array value
[AppDelegate.braze.user setCustomAttributeArrayWithKey:@"array_name" array:@[@"value1", @"value2"]];
// Adding to a custom attribute with an array value
[AppDelegate.braze.user addToCustomAttributeArrayWithKey:@"array_name" value:@"value3"];
// Removing a value from an array type custom attribute
[AppDelegate.braze.user removeFromCustomAttributeArrayWithKey:@"array_name" value:@"value2"];
// Removing an entire array and key
[AppDelegate.braze.user setCustomAttributeArrayWithKey:@"array_name" array:nil];
Incrementando ou decrementando atributos personalizados
Este código é um exemplo de incremento de atributo personalizado. Você pode incrementar o valor de um atributo personalizado por qualquer valor integer ou long:
AppDelegate.braze?.user.incrementCustomUserAttribute(key: "your_attribute_key", by: incrementIntegerValue)
[AppDelegate.braze.user incrementCustomUserAttribute:@"your_attribute_key" by:incrementIntegerValue];
Removendo atributos personalizados
Para remover um atributo personalizado, passe a chave do atributo relevante para o método unsetCustomAttribute.
AppDelegate.braze?.user.unsetCustomAttribute(key: "your_attribute_key")
Para remover um atributo personalizado, passe a chave do atributo relevante para o método unsetCustomAttributeWithKey.
[AppDelegate.braze.user unsetCustomAttributeWithKey:@"your_attribute_key"];
Aninhando atributos personalizados
Você também pode aninhar propriedades dentro de atributos personalizados. No exemplo a seguir, um objeto favorite_book com propriedades aninhadas é definido como um atributo personalizado no perfil de usuário. Para saber mais, consulte Atributos personalizados aninhados.
let favoriteBook: [String: Any?] = [
"title": "The Hobbit",
"author": "J.R.R. Tolkien",
"publishing_date": "1937"
]
braze.user.setCustomAttribute(key: "favorite_book", dictionary: favoriteBook)
NSDictionary *favoriteBook = @{
@"title": @"The Hobbit",
@"author": @"J.R.R. Tolkien",
@"publishing_date": @"1937"
};
[AppDelegate.braze.user setCustomAttributeWithKey:@"favorite_book" dictionary:favoriteBook];
Usando a REST API
Você também pode usar nossa REST API para definir ou remover atributos do usuário. Para saber mais, consulte Endpoints de dados de usuários.
Definindo inscrições do usuário
Para configurar uma inscrição para seus usuários (e-mail ou push), chame as funções set(emailSubscriptionState:) ou set(pushNotificationSubscriptionState:), respectivamente. Ambas as funções recebem o tipo enum Braze.User.SubscriptionState como argumento. Esse tipo possui três estados diferentes:
| Status da inscrição | Definição |
|---|---|
optedIn |
Inscrito e com aceitação explícita |
subscribed |
Inscrito, mas sem aceitação explícita |
unsubscribed |
Cancelou a inscrição e/ou recusou explicitamente |
Usuários que concedem permissão para um app enviar notificações por push recebem, por padrão, o status optedIn, pois o iOS exige uma aceitação explícita.
Usuários serão definidos automaticamente como subscribed ao receberem um endereço de e-mail válido; no entanto, recomendamos que você estabeleça um processo de aceitação explícita e defina esse valor como optedIn ao receber o consentimento explícito do seu usuário. Consulte Gerenciamento de inscrições de usuários para mais detalhes.
Definindo inscrições de e-mail
AppDelegate.braze?.user.set(emailSubscriptionState: Braze.User.SubscriptionState)
[AppDelegate.braze.user setEmailSubscriptionState: BRZUserSubscriptionState]
Definindo inscrições de notificação por push
AppDelegate.braze?.user.set(pushNotificationSubscriptionState: Braze.User.SubscriptionState)
[AppDelegate.braze.user setPushNotificationSubscriptionState: BRZUserSubscriptionState]
Consulte Gerenciamento de inscrições de usuários para mais detalhes.
Pré-requisitos
Antes de poder usar esse recurso, você precisará integrar o Flutter Braze SDK.
Atribuições padrão do usuário
Atribuições suportadas
Há suporte para as seguintes atribuições:
- Nome
- Sobrenome
- Gênero
- Data de nascimento
- Cidade
- País
- Número de telefone
- Idioma

Todos os valores de string, como nome, sobrenome, país e cidade natal, estão limitados a 255 caracteres.
Definindo atributos padrão
Para definir atributos de usuário coletados automaticamente pelo Braze, você pode usar os métodos de configuração incluídos no SDK.
braze.setFirstName('Name');
Atributos personalizados do usuário
Definindo atributos personalizados
Além dos atributos de usuário padrão, o Braze também permite que você defina atributos personalizados usando uma série de diferentes tipos de dados:
Para definir um atributo personalizado com um valor de string:
braze.setStringCustomUserAttribute("custom string attribute", "string custom attribute");
Para definir um atributo personalizado com um valor de integer:
// Set Integer Attribute
braze.setIntCustomUserAttribute("custom int attribute key", integer);
// Increment Integer Attribute
braze.incrementCustomUserAttribute("key", integer);
Para definir um atributo personalizado com um valor de double:
braze.setDoubleCustomUserAttribute("custom double attribute key", double);
Para definir um atributo personalizado com um valor de boolean:
braze.setBoolCustomUserAttribute("custom boolean attribute key", boolean);
Para definir um atributo personalizado com um valor de date:
braze.setDateCustomUserAttribute("custom date attribute key", date);
Para definir um atributo personalizado com um valor de array:
// Adding to an Array
braze.addToCustomAttributeArray("key", "attribute");
// Removing an item from an Array
braze.removeFromCustomAttributeArray("key", "attribute");

Os valores de atributos personalizados têm um comprimento máximo de 255 caracteres; valores mais longos serão truncados.
Removendo atributos personalizados
Para remover um atributo personalizado, passe a chave do atributo relevante para o método unsetCustomUserAttribute.
braze.unsetCustomUserAttribute('attribute_key');
Pré-requisitos
Antes de usar este recurso, você precisará integrar o SDK do Roku Braze.
Atributos padrão do usuário
Métodos predefinidos
A Braze fornece métodos predefinidos para definir os seguintes atributos de usuário usando o objeto m.Braze.
FirstNameLastNameEmailGenderDateOfBirthCountryLanguageHomeCityPhoneNumber
Definindo atributos padrão
Para definir um atributo padrão, chame o método relevante no objeto m.Braze.
m.Braze.setFirstName("Alex")
m.Braze.setLastName("Smith")
m.Braze.setEmail("[email protected]")
m.Braze.setGender("m") ' Accepts: "m", "f", "o", "n", "u", "p"
m.Braze.setDateOfBirth(1990, 5, 15) ' Year, month, day
m.Braze.setCountry("United States")
m.Braze.setLanguage("en")
m.Braze.setHomeCity("New York")
m.Braze.setPhoneNumber("+1234567890")
Atributos personalizados do usuário
Além dos atributos de usuário padrão, a Braze também permite que você defina atributos personalizados usando vários tipos de dados diferentes.
Definindo atributos personalizados
Para definir um atributo personalizado com um valor string:
m.Braze.setCustomAttribute("stringAttribute", "stringValue")
Para definir um atributo personalizado com um valor integer:
m.Braze.setCustomAttribute("intAttribute", 5)
A Braze trata os valores float e double exatamente da mesma forma. Para definir um atributo personalizado com qualquer um dos valores:
m.Braze.setCustomAttribute("floatAttribute", 3.5)
Para definir um atributo personalizado com um valor boolean:
m.Braze.setCustomAttribute("boolAttribute", true)
Para definir um atributo personalizado com um valor date:
dateAttribute = CreateObject("roDateTime")
dateAttribute.fromISO8601String("1992-11-29 00:00:00.000")
m.Braze.setCustomAttribute("dateAttribute", dateAttribute)
Para definir um atributo personalizado com um valor array:
stringArray = createObject("roArray", 3, true)
stringArray.Push("string1")
stringArray.Push("string2")
stringArray.Push("string3")
m.Braze.setCustomAttribute("arrayAttribute", stringArray)

Os valores de atributos personalizados têm um comprimento máximo de 255 caracteres; valores mais longos serão truncados.
Incrementando e decrementando atributos personalizados
Este código é um exemplo de incremento de atributo personalizado. Você pode incrementar o valor de um atributo personalizado por qualquer valor inteiro positivo ou negativo.
m.Braze.incrementCustomUserAttribute("intAttribute", 3)
Removendo atributos personalizados
Para remover um atributo personalizado, passe a chave do atributo relevante para o método unsetCustomAttribute.
m.Braze.unsetCustomAttribute("attributeName")
Usando a REST API
Você também pode usar nossa REST API para definir ou remover atributos de usuário. Para saber mais, consulte Endpoints de dados de usuários.
Configurando inscrições de e-mail
Você pode definir os seguintes status de inscrição de e-mail para seus usuários de forma programática por meio do SDK.
| Status da inscrição | Definição |
|---|---|
OptedIn |
Inscrito e com opt-in explícito |
Subscribed |
Inscrito, mas sem opt-in explícito |
UnSubscribed |
Cancelou a inscrição e/ou fez opt-out explícito |

Esses tipos se enquadram em BrazeConstants().SUBSCRIPTION_STATES.
O método para definir o status da inscrição de e-mail é setEmailSubscriptionState(). Os usuários serão definidos como Subscribed automaticamente após o recebimento de um endereço de e-mail válido; no entanto, sugerimos que você estabeleça um processo de opt-in explícito e defina esse valor como OptedIn após o recebimento do consentimento explícito do usuário. Para saber mais, acesse Gerenciar inscrições de usuários.
m.Braze.setEmailSubscriptionState(BrazeConstants().SUBSCRIPTION_STATES.OPTED_IN)
Pré-requisitos
Antes de usar este recurso, você precisará integrar o SDK Unity Braze.
Atributos padrão do usuário
Métodos predefinidos
A Braze fornece métodos predefinidos para definir os seguintes atributos de usuário usando o objeto BrazeBinding. Para saber mais, consulte o arquivo de declaração do Braze Unity.
- Nome
- Sobrenome
- E-mail do usuário
- Gênero
- Data de nascimento
- País do usuário
- Cidade natal do usuário
- Inscrição de e-mail do usuário
- Inscrição de push do usuário
- Número de telefone do usuário
Definindo atributos padrão
Para definir um atributo padrão, chame o método relevante no objeto BrazeBinding.
BrazeBinding.SetUserFirstName("first name");
BrazeBinding.SetUserLastName("last name");
BrazeBinding.SetUserEmail("[email protected]");
BrazeBinding.SetUserGender(Appboy.Models.Gender);
BrazeBinding.SetUserDateOfBirth("year(int)", "month(int)", "day(int)");
BrazeBinding.SetUserCountry("country name");
BrazeBinding.SetUserHomeCity("city name");
BrazeBinding.SetUserEmailNotificationSubscriptionType(AppboyNotificationSubscriptionType);
BrazeBinding.SetUserPushNotificationSubscriptionType(AppboyNotificationSubscriptionType);
BrazeBinding.SetUserPhoneNumber("phone number");
Removendo atributos padrão
Para remover um atributo padrão do usuário, passe null para o método relevante.
BrazeBinding.SetUserFirstName(null);
Atributos personalizados do usuário
Além dos atributos padrão do usuário, a Braze também permite que você defina atributos personalizados usando vários tipos de dados diferentes. Para saber mais sobre as opções de segmentação de cada atributo, consulte Coleta de dados do usuário.
Definindo atributos personalizados
Para definir um atributo personalizado, use o método correspondente ao tipo de atributo:
AppboyBinding.SetCustomUserAttribute("custom string attribute key", "string custom attribute");
// Set Integer Attribute
AppboyBinding.SetCustomUserAttribute("custom int attribute key", 'integer value');
// Increment Integer Attribute
AppboyBinding.IncrementCustomUserAttribute("key", increment(int))
AppboyBinding.SetCustomUserAttribute("custom float attribute key", 'float value');
AppboyBinding.SetCustomUserAttribute("custom double attribute key", 'double value');
AppboyBinding.SetCustomUserAttribute("custom boolean attribute key", 'boolean value');
AppboyBinding.SetCustomUserAttributeToNow("custom date attribute key");
AppboyBinding.SetCustomUserAttributeToSecondsFromEpoch("custom date attribute key", 'integer value');

As datas enviadas para a Braze devem estar no formato ISO 8601 (como 2013-07-16T19:20:30+01:00) ou no formato yyyy-MM-dd'T'HH:mm:ss:SSSZ (como 2016-12-14T13:32:31.601-0800).
// Setting An Array
AppboyBinding.SetCustomUserAttributeArray("key", array(List), sizeOfTheArray(int))
// Adding to an Array
AppboyBinding.AddToCustomUserAttributeArray("key", "Attribute")
// Removing an item from an Array
AppboyBinding.RemoveFromCustomUserAttributeArray("key", "Attribute")
Você pode definir atributos personalizados contendo objetos aninhados (disponível no Unity SDK 5.1.0 e posterior). Para saber mais, consulte Atributos personalizados aninhados. Os exemplos a seguir mostram como definir um atributo de objeto aninhado, mesclar atualizações em um objeto existente e definir um vetor de objetos aninhados.
AppboyBinding.SetCustomUserAttribute("custom object attribute key", dictionary(Dictionary<string, object>));
Para atualizar um objeto aninhado existente, use o parâmetro merge:
AppboyBinding.SetCustomUserAttribute("custom object attribute key", dictionary(Dictionary<string, object>), merge(bool));
Você também pode definir um vetor de objetos aninhados:
AppboyBinding.SetCustomUserAttribute("custom object array attribute key", list(List<Dictionary<string, object>>));

Os valores de atributos personalizados têm um comprimento máximo de 255 caracteres; valores mais longos serão truncados.
Removendo atributos personalizados
Para remover um atributo personalizado, passe a chave do atributo relevante para o método UnsetCustomUserAttribute.
AppboyBinding.UnsetCustomUserAttribute("custom attribute key");
Usando a REST API
Você também pode usar nossa REST API para definir ou remover atributos de usuário. Para saber mais, consulte Endpoints de dados do usuário.
Definindo inscrições do usuário
Para configurar uma inscrição de e-mail ou push para seus usuários, chame uma das seguintes funções.
// Email notifications
AppboyBinding.SetUserEmailNotificationSubscriptionType()
// Push notifications
AppboyBinding.SetPushNotificationSubscriptionType()`
Ambas as funções recebem Appboy.Models.AppboyNotificationSubscriptionType como argumento, que possui três estados diferentes:
| Status da inscrição | Definição |
|---|---|
OPTED_IN |
Inscrito e com aceitação explícita |
SUBSCRIBED |
Inscrito, mas sem aceitação explícita |
UNSUBSCRIBED |
Cancelou a inscrição e/ou recusou explicitamente |

Não é necessária uma aceitação explícita no Windows para enviar notificações por push aos usuários. Quando um usuário é registrado para push, ele é definido como SUBSCRIBED em vez de OPTED_IN por padrão. Para saber mais, confira nossa documentação sobre implementação de inscrições e aceitação explícita.
| Tipo de inscrição | Descrição |
|---|---|
EmailNotificationSubscriptionType |
Os usuários serão definidos como SUBSCRIBED automaticamente ao receberem um endereço de e-mail válido. No entanto, recomendamos que você estabeleça um processo de aceitação explícita e defina esse valor como OPTED_IN ao receber o consentimento explícito do seu usuário. Acesse nosso documento Alterando inscrições de usuários para mais detalhes. |
PushNotificationSubscriptionType |
Os usuários serão definidos como SUBSCRIBED automaticamente ao realizarem um registro de push válido. No entanto, recomendamos que você estabeleça um processo de aceitação explícita e defina esse valor como OPTED_IN ao receber o consentimento explícito do seu usuário. Acesse nosso documento Alterando inscrições de usuários para mais detalhes. |

Esses tipos estão dentro de Appboy.Models.AppboyNotificationSubscriptionType.
Definindo inscrições de e-mail
AppboyBinding.SetUserEmailNotificationSubscriptionType(AppboyNotificationSubscriptionType.OPTED_IN);
Definindo inscrições de notificação por push
AppboyBinding.SetUserPushNotificationSubscriptionType(AppboyNotificationSubscriptionType.OPTED_IN);
Pré-requisitos
Antes de poder usar esse recurso, você precisará integrar o React Native Braze SDK.
Registro de atributos personalizados
O Braze fornece métodos para atribuir atribuições aos usuários. Você poderá filtrar e segmentar seus usuários de acordo com essas atribuições no dashboard.
Atribuições padrão do usuário
Para definir atributos de usuário coletados automaticamente pelo Braze, você pode usar métodos de configuração que vêm com o SDK.
Braze.setFirstName("Name");
Há suporte para as seguintes atribuições:
- Nome
- Sobrenome
- Gênero
- Data de nascimento
- Cidade
- País
- Número de telefone
- Idioma
Todos os valores de string, como nome, sobrenome, país e cidade natal, estão limitados a 255 caracteres.
Atributos personalizados do usuário
Além de nossos métodos predefinidos de atributos de usuários, o Braze também fornece atributos personalizados para rastrear dados de seus aplicativos.
Braze.setCustomUserAttribute("attribute_key", "attribute_value", function(){
// optional onResult callback
});
Removendo atributos personalizados
Braze.unsetCustomUserAttribute("attribute_key", function(){
// optional onResult callback
});
Matrizes de atributos personalizados
// Adds a string to a custom attribute string array, or creates that array if one doesn't exist.
Braze.addToCustomUserAttributeArray("my-attribute-array", "new or existing value", optionalCallback);
// Removes a string from a custom attribute string array.
Braze.removeFromCustomUserAttributeArray("my-attribute-array", "existing value", optionalCallback);