Associazione di utenti agli endpoint Amazon Pinpoint - Amazon Pinpoint

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Associazione di utenti agli endpoint Amazon Pinpoint

Un endpoint può includere attributi che definiscono un utente, che rappresenta una persona nel gruppo di destinatari. Ad esempio, un utente può rappresentare una persona che ha installato la tua app per dispositivi mobili o che ha un account sul tuo sito Web.

Per definire un utente è necessario specificare un ID utente univoco e, facoltativamente, gli attributi utente personalizzati. Se una persona usa la tua app su più dispositivi o se è contattabile tramite messaggio a più indirizzi, puoi assegnare lo stesso ID utente a più endpoint. In questo caso, Amazon Pinpoint sincronizza gli attributi utente negli endpoint. Quindi, se aggiungi un attributo utente a un endpoint, Amazon Pinpoint aggiunge tale attributo a tutti gli endpoint che condividono lo stesso ID utente.

Puoi aggiungere attributi utente per tenere traccia dei dati applicabili a una persona che non variano in base al dispositivo usato da quella persona. Ad esempio, è possibile aggiungere attributi per il nome, l'età o lo stato dell'account di una persona.

Suggerimento

Se l'applicazione usa pool di utenti di Amazon Cognito per gestire l'autenticazione degli utenti, Amazon Cognito può aggiungere automaticamente gli ID utente e gli attributi agli endpoint. Per il valore dell'ID utente degli endpoint, Amazon Cognito assegna il valore sub assegnato all'utente nel pool di utenti. Per ulteriori informazioni sull'aggiunta di utenti con , consulta Utilizzo dell'analisi dei dati di Amazon Pinpoint con i pool di utenti di Amazon Cognito nella Guida per gli sviluppatori di Amazon Cognito.

Dopo aver aggiunto le definizioni degli utenti agli endpoint, puoi segmentare il gruppo di destinatari in altri modi. Puoi definire un segmento in base agli attributi utente oppure importando un elenco di ID utente. Quando invii un messaggio a un segmento basato sugli utenti, le potenziali destinazioni includono tutti gli endpoint associati a ogni utente nel segmento.

Puoi anche definire in altre opzioni per l'invio di messaggi ai destinatari. Puoi usare una campagna per inviare messaggi a un segmento di utenti oppure inviare un messaggio direttamente a un elenco di ID utente. Per personalizzare il messaggio, puoi includere variabili dei messaggi che vengono sostituite con i valori degli attributi utente.

Esempi

Gli esempi seguenti illustrano come aggiungere una definizione utente a un endpoint.

AWS CLI

Puoi utilizzare Amazon Pinpoint eseguendo i comandi con l' AWS CLI.

Esempio Comando per l'aggiornamento di endpoint

Per aggiungere un utente a un endpoint, usa il comando update-endpoint. Per il parametro --endpoint-request è possibile definire un nuovo endpoint, che può includere un utente. In alternativa, per aggiornare un endpoint esistente, è possibile specificare solo gli attributi da modificare. L'esempio seguente aggiunge un utente a un endpoint esistente specificando solo gli attributi utente:

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

Dove:

  • application-id è l'ID del progetto Amazon Pinpoint in cui vuoi aggiungere o aggiornare di un endpoint.

  • endpoint-id è l'ID che vuoi assegnare a un nuovo endpoint oppure l'ID di un endpoint esistente che vuoi aggiornare.

  • endpoint-request-file.json è il percorso del file di un file JSON locale che contiene l'input per il parametro. --endpoint-request

Esempio File di richiesta endpoint

Il comando update-endpoint di esempio usa un file JSON come argomento per il parametro --endpoint-request. Questo file contiene una definizione utente come la seguente:

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

Per gli attributi che puoi utilizzare per definire un utente, consulta l'Useroggetto nello EndpointRequestschema nell'Amazon Pinpoint API Reference.

AWS SDK for Java

Puoi utilizzare l'API Amazon Pinpoint nelle applicazioni Java utilizzando il client fornito da AWS SDK for Java.

Esempio Codice

Per aggiungere un utente a un endpoint, inizializza un EndpointRequest oggetto e passalo al updateEndpoint metodo del client. AmazonPinpoint Puoi usare questo oggetto per definire un nuovo endpoint, che può includere un utente. In alternativa, per aggiornare un endpoint esistente, è possibile aggiornare solo le proprietà da modificare. L'esempio seguente aggiunge un utente a un endpoint esistente aggiungendo un EndpointUser oggetto all'oggetto: 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); } }

Per l'esempio completo dell'SDK, consulta AddExampleUser.java on. GitHub

HTTP

Puoi utilizzare Amazon Pinpoint effettuando richieste HTTP direttamente alla REST API.

Esempio Richiesta Put per endpoint con definizione utente

Per aggiungere un utente a un endpoint, invia una richiesta PUT alla risorsa Endpoint all'URI seguente:

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

Dove:

  • application-id è l'ID del progetto Amazon Pinpoint in cui vuoi aggiungere o aggiornare di un endpoint.

  • endpoint-id è l'ID che vuoi assegnare a un nuovo endpoint oppure l'ID di un endpoint esistente che vuoi aggiornare.

Nella richiesta, includi le intestazioni richieste e fornisci il codice EndpointRequestJSON come body. Il corpo della richiesta può definire un nuovo endpoint, che può includere un utente. In alternativa, per aggiornare un endpoint esistente, è possibile specificare solo gli attributi da modificare. L'esempio seguente aggiunge un utente a un endpoint esistente specificando solo gli attributi utente:

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 la richiesta va a buon fine, riceverai una risposta analoga alla seguente:

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

Per ulteriori informazioni sulla risorsa Endpoint nell'API Amazon Pinpoint, compresi i metodi HTTP supportati e i parametri della richiesta, consulta Endpoint nella documentazione di riferimento dell'API Amazon Pinpoint.

Per ulteriori informazioni sulla personalizzazione dei messaggi con variabili, consulta la sezione relativa alle variabili dei messaggi nella Guida per l'utente di Amazon Pinpoint.

Per informazioni su come definire un segmento importando un elenco di ID utente, consulta Importazione di segmenti nella Guida per l'utente di Amazon Pinpoint.

Per informazioni sull'invio di un messaggio diretto a un massimo di 100 ID utente, consulta la sezione relativa ai messaggi utenti nella documentazione di riferimento dell'API Amazon Pinpoint.

Per informazioni sulle quote applicabili agli endpoint, ad esempio il numero di attributi utente che è possibile assegnare, consulta Quote per gli endpoint.