Verknüpfen von Benutzern mit Endpunkten von Amazon Pinpoint - Amazon Pinpoint

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verknüpfen von Benutzern mit Endpunkten von Amazon Pinpoint

Ein Endpunkt kann Attribute enthalten, die einen Benutzer definieren, der eine Person in Ihrer Zielgruppe darstellt. Ein Benutzer könnte beispielsweise eine Person darstellen, die Ihre mobile App installiert hat, oder eine Person, die ein Konto auf Ihrer Website hat.

Sie definieren einen Benutzer, indem Sie eine eindeutige Benutzer-ID und optional benutzerdefinierte Benutzerattribute angeben. Wenn jemand Ihre App auf mehreren Geräten verwendet, oder wenn diese Person über mehrere Adressen Nachrichten erhalten kann, können Sie mehreren Endpunkten die gleiche Benutzer-ID zuordnen. In diesem Fall synchronisiert Amazon Pinpoint Benutzerattribute über die Endpunkte. Wenn Sie also einem Endpunkt ein Benutzerattribut hinzufügen, fügt Amazon Pinpoint dieses Attribut jedem Endpunkt hinzu, der dieselbe Benutzer-ID enthält.

Sie können Benutzerattribute hinzufügen, um Daten nachzuverfolgen, die sich auf eine einzelne Person beziehen, und die nicht abhängig von dem Gerät, das die Person verwendet, variieren. Sie können beispielsweise Attribute für den Namen einer Person ihr Alter oder ihren Kontostatus hinzufügen.

Tipp

Wenn Ihre Anwendung Amazon-Cognito-Benutzerpools für die Benutzerauthentifizierung verwendet, kann Amazon Cognito Ihren Endpunkten automatisch Benutzer-IDs und Attribute hinzufügen. Für den Benutzer-ID-Wert des Endpunkts weist Amazon Cognito den sub-Wert zu, der dem Benutzer im Benutzerpool zugeordnet ist. Weitere Informationen zum Hinzufügen von Benutzern mit Amazon Cognito finden Sie unter Verwenden von Amazon Pinpoint Analytics mit Amazon-Cognito-Benutzerpools im Amazon Cognito-Entwicklerhandbuch.

Nachdem Sie Ihren Endpunkten Benutzerdefinitionen hinzugefügt haben, haben Sie mehrere Möglichkeiten, wie Sie Ihre Zielgruppe segmentieren. Sie können ein Segment basierend auf Benutzerattributen definieren, oder Sie können ein Segment durch Importieren einer Liste mit Benutzer-IDs definieren. Wenn Sie eine Nachricht an ein Segment senden, das auf Benutzern basiert, umfassen die potenziellen Ziele alle Endpunkte, die den einzelnen Benutzer-IDs in dem Segment zugeordnet sind.

Außerdem haben Sie mehrere Möglichkeiten, wie Sie die Nachrichten an Ihre Zielgruppe senden. Sie können eine Kampagne verwenden, um Nachrichten an ein Segment von Benutzern zu senden, oder Sie können eine Nachricht direkt an eine Liste mit Benutzer-IDs senden. Um Ihre Nachricht zu personalisieren, können Sie Nachrichtenvariablen aufnehmen, die durch Benutzerattributwerte ersetzt werden.

Beispiele

Die folgenden Beispiele zeigen Ihnen, wie Sie einem Endpunkt eine Benutzerdefinition hinzufügen.

AWS CLI

Sie können Amazon Pinpoint verwenden, indem Sie Befehle mit der AWS CLI ausführen.

Beispiel Befehl zum Aktualisieren eines Endpunkts

Um einem Endpunkt einen Benutzer hinzuzufügen, verwenden Sie den Befehl update-endpoint. Für den --endpoint-request-Parameter können Sie einen neuen Endpunkt definieren, der einen Benutzer enthalten kann. Um einen bestehenden Endpunkt zu aktualisieren, können Sie einfach auch die Attribute angeben, die Sie ändern möchten. Das folgende Beispiel fügt einen Benutzer zu einem vorhandenen Endpunkt hinzu, indem nur die Benutzerattribute angegeben werden:

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

Wobei gilt:

  • application-id ist die ID des Amazon-Pinpoint-Projekts, in dem Sie einen Endpunkt hinzufügen oder aktualisieren.

  • endpoint-id ist die ID, die Sie einem neuen Endpunkt zuweisen, oder die ID eines bestehenden Endpunkts, den Sie aktualisieren.

  • endpoint-request-file.json ist der Dateipfad zu einer lokalen JSON-Datei, die die Eingabe für den Parameter --endpoint-request enthält.

Beispiel Endpunkt-Anforderungsdatei

Der Beispielbefehl update-endpoint verwendet eine JSON-Datei als Argument für den Parameter --endpoint-request. Diese Datei enthält eine Benutzerdefinition wie die folgende:

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

Weitere Informationen zu den Attributen, die Sie verwenden können, um einen Benutzer zu definieren, finden Sie im User-Objekt im EndpointRequest-Schema in der Amazon-Pinpoint-API-Referenz.

AWS SDK for Java

Sie können die Amazon-Pinpoint-API in Ihren Java-Anwendungen verwenden, indem Sie den vom AWS SDK for Java bereitgestellten Client verwenden.

Beispiel Code

Um einem Endpunkt einen Benutzer hinzuzufügen, initialisieren Sie ein EndpointRequest-Objekt und übergeben es der Methode updateEndpoint des AmazonPinpoint-Clients. Sie können dieses Objekt verwenden, um einen neuen Endpunkt zu definieren, der einen Benutzer enthalten kann. Um einen bestehenden Endpunkt zu aktualisieren, können Sie einfach auch die Eigenschaften aktualisieren, die Sie ändern möchten. Das folgende Beispiel fügt einem bestehenden Endpunkt einen Benutzer hinzu, indem ein EndpointUser-Objekt, dem EndpointRequest-Objekt hinzugefügt wird:

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); } }

Das vollständige SDK-Beispiel finden Sie unter AddExampleUser.java auf GitHub.

HTTP

Sie können Amazon Pinpoint verwenden, indem Sie HTTP-Anforderungen direkt an die REST-API stellen.

Beispiel Anforderung zum Hinzufügen eines Endpunkts mit Benutzerdefinition

Um einem Endpunkt einen Benutzer hinzuzufügen, stellen Sie eine PUT-Anforderung an die Endpunkt-Ressource unter der folgenden URI:

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

Wobei gilt:

  • application-id ist die ID des Amazon-Pinpoint-Projekts, in dem Sie einen Endpunkt hinzufügen oder aktualisieren.

  • endpoint-id ist die ID, die Sie einem neuen Endpunkt zuweisen, oder die ID eines bestehenden Endpunkts, den Sie aktualisieren.

Fügen Sie Ihrer Anforderung die erforderlichen Header hinzu und geben Sie die EndpointRequest-JSON als Text an. Für den Anforderungstext können Sie einen neuen Endpunkt definieren, der einen Benutzer enthalten kann. Um einen bestehenden Endpunkt zu aktualisieren, können Sie einfach auch die Attribute angeben, die Sie ändern möchten. Das folgende Beispiel fügt einen Benutzer zu einem vorhandenen Endpunkt hinzu, indem nur die Benutzerattribute angegeben werden:

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" } } }

Wenn die Anforderung erfolgreich ist, erhalten Sie eine Antwort wie die folgende:

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

Weitere Informationen über die Endpunkt-Ressource in der Amazon-Pinpoint-API, einschließlich der unterstützten HTTP-Methoden und Anforderungsparameter, finden Sie unter Endpunkt in der Amazon-Pinpoint-API-Referenz.

Weitere Informationen zum Personalisieren von Nachrichten mit Variablen finden Sie unter Nachrichtenvariablen im Amazon-Pinpoint-Benutzerhandbuch.

Weitere Informationen, wie Sie ein Segment durch Importieren einer Liste mit Benutzer-IDs definieren, finden Sie unter Importieren von Segmenten im Amazon-Pinpoint-Benutzerhandbuch.

Informationen zum Senden einer Direktnachricht an bis zu 100 Benutzer-IDs finden Sie unter Benutzernachrichten in der Amazon-Pinpoint-API-Referenz.

Informationen zu den Kontingenten, die für Endpunkte gelten, einschließlich der Anzahl der Benutzerattribute, die Sie zuweisen können, finden Sie unter Endpunktkontingente.