Associar usuários aos endpoints do Amazon Pinpoint - Amazon Pinpoint

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Associar usuários aos endpoints do Amazon Pinpoint

Um endpoint pode incluir atributos que definem um usuário, que representa uma pessoa em seu público-alvo. Por exemplo, um usuário pode representar alguém que instalou seu aplicativo móvel, ou alguém que tem uma conta em seu site.

Você define um usuário especificando um ID de usuário exclusivo e, opcionalmente, atributos de usuário personalizados. Se alguém usar seu aplicativo em vários dispositivos ou se essa pessoa puder receber mensagens em vários endereços, você poderá atribuir o mesmo ID de usuário a vários endpoints. Nesse caso, o Amazon Pinpoint sincroniza os atributos do usuário em todos os endpoints. Portanto, se você adicionar um atributo de usuário a um endpoint, o Amazon Pinpoint adicionará esse atributo a cada endpoint que inclui o mesmo ID de usuário.

Você pode adicionar atributos de usuário para rastrear dados que se aplicam a um indivíduo e não variam com base no dispositivo que a pessoa está usando. Por exemplo, você pode adicionar atributos ao nome, idade ou status da conta de uma pessoa.

dica

Se seu aplicativo usar grupos de usuários do Amazon Cognito para lidar com a autenticação de usuários, o Amazon Cognito poderá adicionar IDs e atributos de usuários a seus endpoints automaticamente. Para o valor do ID do usuário do endpoint, o Amazon Cognito atribui o valor sub que é atribuído ao usuário no grupo de usuários. Para saber mais sobre como adicionar usuários ao Amazon Cognito, consulte Usar análise do Amazon Pinpoint com grupos de usuários do Amazon Cognito no Guia do desenvolvedor do Amazon Cognito..

Depois de adicionar definições de usuários a seus endpoints, você tem mais opções de como segmentar seu público-alvo. Você pode definir um segmento com base nos atributos dos usuários ou definir um segmento importando uma lista de IDs de usuários. Quando você envia uma mensagem a um segmento baseado em usuários, os destinos potenciais incluem cada endpoint que está associado a cada usuário no segmento.

Você também tem mais opções de como enviar mensagens a seu público-alvo. Você pode usar uma campanha para enviar mensagens para um segmento de usuários ou enviar uma mensagem diretamente para uma lista de IDs de usuários. Para personalizar sua mensagem, você pode incluir variáveis na mensagem que são substituídas pelos valores dos atributos dos usuários.

Exemplos

Os exemplos a seguir mostram como adicionar uma definição de usuário a um endpoint.

AWS CLI

Você pode usar o Amazon Pinpoint executando comandos com a AWS CLI.

exemplo Comando Update endpoint

Para adicionar um usuário a um endpoint, use o comando update-endpoint. Para o parâmetro --endpoint-request, você pode definir um novo endpoint, que pode incluir um usuário. Ou, para atualizar um endpoint existente, você pode fornecer apenas os atributos que deseja alterar. O exemplo a seguir adiciona um usuário a um endpoint existente fornecendo apenas os atributos do usuário:

$ aws pinpoint update-endpoint \ > --application-id application-id \ > --endpoint-id endpoint-id \ > --endpoint-request file://endpoint-request-file.json

Em que:

  • application-id é o ID do projeto do Amazon Pinpoint no qual você está adicionando ou atualizando um endpoint.

  • endpoint-id é o ID que você está atribuindo a um novo endpoint ou o ID de um endpoint existente que você está atualizando.

  • endpoint-request-file.json é o caminho para um arquivo JSON local que contém a entrada para o parâmetro --endpoint-request.

exemplo Arquivo de solicitação de endpoint

O comando update-endpoint de exemplo usa um arquivo JSON como o argumento para o parâmetro --endpoint-request. Esse arquivo contém uma definição de usuário, como a seguinte:

{ "User":{ "UserId":"example_user", "UserAttributes":{ "FirstName":["Wang"], "LastName":["Xiulan"], "Gender":["Female"], "Age":["39"] } } }

Para obter os atributos que podem ser usados para definir um usuário, consulte o objeto User no esquema EndpointRequest na Referência da API do Amazon Pinpoint.

AWS SDK for Java

Você pode usar a API do Amazon Pinpoint em seus aplicativos Java usando o cliente fornecido pelo AWS SDK for Java.

exemplo Código

Para adicionar um usuário a um endpoint, inicialize um objeto EndpointRequest e passe-o para o método updateEndpoint do cliente do AmazonPinpoint. Você pode usar esse objeto para definir um novo endpoint, que pode incluir um usuário. Ou, para atualizar um endpoint existente, você pode atualizar apenas as propriedade que deseja alterar. O exemplo a seguir adiciona um usuário a um endpoint existente adicionando um objeto EndpointUser ao objeto EndpointRequest:

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.pinpoint.PinpointClient; import software.amazon.awssdk.services.pinpoint.model.EndpointRequest; import software.amazon.awssdk.services.pinpoint.model.EndpointUser; import software.amazon.awssdk.services.pinpoint.model.ChannelType; import software.amazon.awssdk.services.pinpoint.model.UpdateEndpointRequest; import software.amazon.awssdk.services.pinpoint.model.UpdateEndpointResponse; import software.amazon.awssdk.services.pinpoint.model.PinpointException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map;
public static void updatePinpointEndpoint(PinpointClient pinpoint, String applicationId, String endPointId) { try { List<String> wangXiList = new ArrayList<>(); wangXiList.add("cooking"); wangXiList.add("running"); wangXiList.add("swimming"); Map myMapWang = new HashMap<>(); myMapWang.put("interests", wangXiList); List<String> myNameWang = new ArrayList<>(); myNameWang.add("Wang "); myNameWang.add("Xiulan"); Map wangName = new HashMap<>(); wangName.put("name", myNameWang); EndpointUser wangMajor = EndpointUser.builder() .userId("example_user_10") .userAttributes(wangName) .build(); // Create an EndpointBatchItem object for Mary Major. EndpointRequest wangXiulanEndpoint = EndpointRequest.builder() .channelType(ChannelType.EMAIL) .address("wang_xiulan@example.com") .attributes(myMapWang) .user(wangMajor) .build(); // Adds multiple endpoint definitions to a single request object. UpdateEndpointRequest endpointList = UpdateEndpointRequest.builder() .applicationId(applicationId) .endpointRequest(wangXiulanEndpoint) .endpointId(endPointId) .build(); UpdateEndpointResponse result = pinpoint.updateEndpoint(endpointList); System.out.format("Update endpoint result: %s\n", result.messageBody().message()); } catch (PinpointException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }

Para ver o exemplo completo do SDK, consulte AddExampleEndpoints.java no GitHub.

HTTP

Você pode usar o Amazon Pinpoint fazendo solicitações HTTP diretamente para a API REST.

exemplo Solicitação Put endpoint com definição de usuário

Para adicionar um usuário a um endpoint, envie uma solicitação PUT para o recurso Endpoint no seguinte URI:

/v1/apps/application-id/endpoints/endpoint-id

Em que:

  • application-id é o ID do projeto do Amazon Pinpoint no qual você está adicionando ou atualizando um endpoint.

  • endpoint-id é o ID que você está atribuindo a um novo endpoint ou o ID de um endpoint existente que você está atualizando.

Em sua solicitação, inclua os cabeçalhos necessários e forneça o JSON EndpointRequest como o corpo. O corpo da solicitação pode definir um novo endpoint, que pode incluir um usuário. Ou, para atualizar um endpoint existente, você pode fornecer apenas os atributos que deseja alterar. O exemplo a seguir adiciona um usuário a um endpoint existente fornecendo apenas os atributos do usuário:

PUT /v1/apps/application_id/endpoints/example_endpoint HTTP/1.1 Host: pinpoint.us-east-1.amazonaws.com X-Amz-Date: 20180415T182538Z Content-Type: application/json Accept: application/json Authorization: AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20180501/us-east-1/mobiletargeting/aws4_request, SignedHeaders=accept;content-length;content-type;host;x-amz-date, Signature=c25cbd6bf61bd3b3667c571ae764b9bf2d8af61b875cacced95d1e68d91b4170 Cache-Control: no-cache { "User":{ "UserId":"example_user", "UserAttributes":{ "FirstName":"Wang", "LastName":"Xiulan", "Gender":"Female", "Age":"39" } } }

Se a solicitação for bem-sucedida, você receberá uma resposta como a seguinte:

{ "RequestID": "67e572ed-41d5-11e8-9dc5-db288f3cbb72", "Message": "Accepted" }

Para obter mais informações sobre o recurso Endpoint na API do Amazon Pinpoint, incluindo os métodos HTTP e os parâmetros de solicitação compatíveis, consulte Endpoint na Referência da API do Amazon Pinpoint.

Para obter mais informações sobre como personalizar mensagens com variáveis, consulte Variáveis de mensagens no Guia do usuário do Amazon Pinpoint.

Para saber como definir um segmento importando uma lista de IDs de usuários, consulte Importar segmentos no Guia do usuário do Amazon Pinpoint.

Para obter informações sobre como enviar uma mensagem direta para até 100 IDs de usuários, consulte Mensagens de usuários na Referência da API do Amazon Pinpoint.

Para obter informações sobre as cotas que se aplicam aos endpoints, incluindo o número de atributos de usuário que você pode atribuir, consulte Cotas de endpoint.