Pré-requisitos
Antes de poder usar esse recurso, você precisará integrar o Android Braze SDK.
Atribuições padrão do usuário
Para definir uma atribuição padrão para um usuário, chame o método getCurrentUser()
em sua instância do Braze para obter uma referência ao usuário atual do seu app. Em seguida, é possível chamar métodos para definir uma atribuição de usuário.
1
2
3
4
5
6
| Braze.getInstance(context).getCurrentUser(new IValueCallback<BrazeUser>() {
@Override
public void onSuccess(BrazeUser brazeUser) {
brazeUser.setFirstName("first_name");
}
}
|
1
2
3
| Braze.getInstance(context).getCurrentUser { brazeUser ->
brazeUser.setFirstName("first_name")
}
|
O Braze fornece métodos predefinidos para configurar as seguintes atribuições de usuário dentro da classe BrazeUser. Para obter as especificações do método, consulte nosso KDoc.
- Nome
- Sobrenome
- País
- Idioma
- Data de nascimento
- E-mail
- Gênero
- Cidade natal
- Número de telefone
note:
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 dos atributos padrão de usuários, o Braze também permite definir atributos personalizados usando vários tipos de dados diferentes. Para saber mais sobre a opção de segmentação de cada atributo, consulte Coleta de dados de usuários.
Definindo atributos personalizados
Para definir um atributo personalizado com um valor string
:
1
2
3
4
5
6
| Braze.getInstance(context).getCurrentUser(new IValueCallback<BrazeUser>() {
@Override
public void onSuccess(BrazeUser brazeUser) {
brazeUser.setCustomUserAttribute("your_attribute_key", "your_attribute_value");
}
}
|
1
2
3
| Braze.getInstance(context).getCurrentUser { brazeUser ->
brazeUser.setCustomUserAttribute("your_attribute_key", "your_attribute_value")
}
|
Para definir um atributo personalizado com um valor int
:
1
2
3
4
5
6
7
8
9
| 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);
}
}
|
1
2
3
4
5
6
| 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
:
1
2
3
4
5
6
| Braze.getInstance(context).getCurrentUser(new IValueCallback<BrazeUser>() {
@Override
public void onSuccess(BrazeUser brazeUser) {
brazeUser.setCustomUserAttribute("your_attribute_key", YOUR_LONG_VALUE);
}
});
|
1
2
3
| Braze.getInstance(context).getCurrentUser { brazeUser ->
brazeUser.setCustomUserAttribute("your_attribute_key", YOUR_LONG_VALUE)
}
|
Para definir um atributo personalizado com um valor float
:
1
2
3
4
5
6
| Braze.getInstance(context).getCurrentUser(new IValueCallback<BrazeUser>() {
@Override
public void onSuccess(BrazeUser brazeUser) {
brazeUser.setCustomUserAttribute("your_attribute_key", YOUR_FLOAT_VALUE);
}
});
|
1
2
3
| Braze.getInstance(context).getCurrentUser { brazeUser ->
brazeUser.setCustomUserAttribute("your_attribute_key", YOUR_FLOAT_VALUE)
}
|
Para definir um atributo personalizado com um valor double
:
1
2
3
4
5
6
| Braze.getInstance(context).getCurrentUser(new IValueCallback<BrazeUser>() {
@Override
public void onSuccess(BrazeUser brazeUser) {
brazeUser.setCustomUserAttribute("your_attribute_key", YOUR_DOUBLE_VALUE);
}
});
|
1
2
3
| Braze.getInstance(context).getCurrentUser { brazeUser ->
brazeUser.setCustomUserAttribute("your_attribute_key", YOUR_DOUBLE_VALUE)
}
|
Para definir um atributo personalizado com um valor boolean
:
1
2
3
4
5
6
| Braze.getInstance(context).getCurrentUser(new IValueCallback<BrazeUser>() {
@Override
public void onSuccess(BrazeUser brazeUser) {
brazeUser.setCustomUserAttribute("your_attribute_key", YOUR_BOOLEAN_VALUE);
}
});
|
1
2
3
| Braze.getInstance(context).getCurrentUser { brazeUser ->
brazeUser.setCustomUserAttribute("your_attribute_key", YOUR_BOOLEAN_VALUE)
}
|
1
2
3
4
5
6
7
8
9
10
| 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);
}
});
|
1
2
3
4
5
6
7
| 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)
}
|
warning:
As datas passadas para a Braze com esse método devem estar no formato ISO 8601 (e.g 2013-07-16T19:20:30+01:00
) ou no formato yyyy-MM-dd'T'HH:mm:ss:SSSZ
(e.g 2016-12-14T13:32:31.601-0800
).
O número máximo de elementos em matrizes de atributos personalizados tem como padrão 25. O máximo para vetores individuais pode ser aumentado para até 100 no dashboard da Braze, em Configurações de dados > Atributos personalizados). As matrizes que excederem o número máximo de elementos serão truncadas para conter o número máximo de elementos. Para saber mais sobre matrizes de atributos personalizados e seu comportamento, consulte nossa documentação sobre matrizes.
1
2
3
4
5
6
7
8
9
10
11
| 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");
}
});
|
1
2
3
4
5
6
7
8
| 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")
}
|
Desativação de um atributo personalizado
Os atributos personalizados também podem ser desmarcados usando o seguinte método:
1
2
3
4
5
6
| Braze.getInstance(context).getCurrentUser(new IValueCallback<BrazeUser>() {
@Override
public void onSuccess(BrazeUser brazeUser) {
brazeUser.unsetCustomUserAttribute("your_attribute_key");
}
});
|
1
2
3
| Braze.getInstance(context).getCurrentUser { brazeUser ->
brazeUser.unsetCustomUserAttribute("your_attribute_key")
}
|
Usando a API REST
Também é possível usar nossa API REST para definir ou cancelar as atribuições do usuário. Para saber mais, consulte Pontos de extremidade de dados de usuários.
Configuração de inscrições de usuários
Para configurar uma inscrição para seus usuários (envio de e-mail ou push), chame as funções setEmailNotificationSubscriptionType()
ou setPushNotificationSubscriptionType()
, respectivamente. Ambas as funções usam o tipo de enum NotificationSubscriptionType
como argumentos. Esse tipo tem três estados diferentes:
Status da inscrição |
Definição |
OPTED_IN |
Inscrição e aceitação explícita |
SUBSCRIBED |
Inscrição feita, mas sem aceitação explícita |
UNSUBSCRIBED |
Cancelamento da inscrição e/ou aceitação explícita |
important:
Nenhuma aceitação explícita é exigida pelo Android 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 Gerenciar inscrições de usuários para saber mais sobre a implementação de inscrições e aceitação explícita.
Configuração de envios de e-mail
1
2
3
4
5
6
| Braze.getInstance(context).getCurrentUser(new IValueCallback<BrazeUser>() {
@Override
public void onSuccess(BrazeUser brazeUser) {
brazeUser.setEmailNotificationSubscriptionType(emailNotificationSubscriptionType);
}
});
|
1
2
3
| Braze.getInstance(context).getCurrentUser { brazeUser ->
brazeUser.setEmailNotificationSubscriptionType(emailNotificationSubscriptionType)
}
|
Configuração da inscrição de notificações por push
1
2
3
4
5
6
| Braze.getInstance(context).getCurrentUser(new IValueCallback<BrazeUser>() {
@Override
public void onSuccess(BrazeUser brazeUser) {
brazeUser.setPushNotificationSubscriptionType(pushNotificationSubscriptionType);
}
});
|
1
2
3
| Braze.getInstance(context).getCurrentUser { brazeUser ->
brazeUser.setPushNotificationSubscriptionType(pushNotificationSubscriptionType)
}
|
guide/swift/analytics/setting_user_attributes.md developer_ %}
guide/web/analytics/setting_user_attributes.md developer_ %}
guide/unity/analytics/setting_user_attributes.md developer_ %}
guide/unreal_engine/analytics/setting_user_attributes.md developer_ %}