Amazon Pinpoint エンドポイントへのユーザー関連付け - Amazon Pinpoint

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon Pinpoint エンドポイントへのユーザー関連付け

エンドポイントには、ユーザーを定義する属性を含めることができます。このユーザーは、対象者のユーザーを表します。たとえば、ユーザーはモバイルアプリをインストールしたユーザー、またはウェブサイトのアカウントを持つユーザーを表します。

ユーザーを定義するには、一意の ID を指定し、オプションでカスタムのユーザー属性を指定します。複数のデバイスでアプリを使用する場合、または複数のアドレスでメッセージを送信できる場合は、同一のユーザー ID を複数のエンドポイントに割り当てることができます。この場合、Amazon Pinpoint はユーザー属性をエンドポイント間で同期します。そのため、1 つのエンドポイントにユーザー属性を追加すると、Amazon Pinpoint は、同じユーザー ID が含まれる各エンドポイントにその属性を追加します。

個々の属性に適用するデータを追跡するには、ユーザー属性を追加します。この属性は、ユーザーが使用しているデバイスによって異なります。たとえば、ユーザーの名前、年齢、アカウントステータスの属性を追加することができます。

ヒント

アプリケーションで Amazon Cognito ユーザープールを使用してユーザー認証を行っている場合、Amazon Cognito はユーザー ID と属性を自動的にエンドポイントに追加します。エンドポイントユーザー ID 値の場合、Amazon Cognito はsubユーザープールのユーザーに割り当てられているの値。Amazon Cognito でユーザーを追加する方法については、Amazon Cognito ユーザープールで Amazon ピンポイント分析を使用する()Amazon Cognito 開発者ガイド

エンドポイントにユーザー定義を追加すると、さらに多くの方法で対象者を分類することができます。セグメントの定義は、ユーザー属性に基づき、またはユーザー ID のリストをインポートして行うことができます。ユーザーに基づき、セグメントにメッセージを送信する場合の送信先の例として、セグメント内の各ユーザー ID に関連付けられている各エンドポイントがあります。

また、メッセージは他の方法で対象者に送信することもできます。キャンペーンを使用してユーザーのセグメントにメッセージを送信したり、ユーザー ID のリストに直接メッセージを送信したりできます。メッセージをパーソナライズするには、ユーザーの属性値に置き換えられているメッセージ変数を含めることができます。

Examples

エンドポイントにユーザー定義を追加する方法を以下の例に示します。

AWS CLI

Amazon Pinpoint を使用するには、AWS CLI。

例 Update Endpoint コマンド

ユーザーをエンドポイントに追加するには、update-endpoint コマンドを使用します。--endpoint-request パラメータでは、新しいエンドポイントを定義することができます。この定義でユーザーを含めることができます。または、変更する属性のみ指定して、既存のエンドポイントを更新します。ユーザー属性のみ指定して、既存のエンドポイントにユーザーを追加する方法を以下の例に示します。

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

各パラメータの意味は次のとおりです。

  • アプリケーション IDは、エンドポイントを追加または更新する Amazon Pinpoint プロジェクトの ID です。

  • endpoint-id は、新しいエンドポイントに割り当てる ID、または更新するエンドポイントの ID です。

  • endpoint-request-file.json は、ローカル JSON ファイルへのファイルパスを表しており、--endpoint-request パラメータの入力を含みます。

例 エンドポイントリクエストファイル

例の update-endpoint コマンドでは、--endpoint-request パラメータの引数として、JSON ファイルを使用します。このファイルには、次のようなユーザー定義が含まれます。

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

ユーザーを定義するために使用できる属性については、『』の「関連付け」を参照してください。UserオブジェクトのEndpointRequestスキーマのAmazon Pinpoint API リファレンス

AWS SDK for Java

Java アプリケーションで Amazon Pinpoint API を使用するには、AWS SDK for Java。

例 Code

エンドポイントにユーザーを追加するには、EndpointRequestオブジェクトを作成し、それをupdateEndpointメソッドのAmazonPinpointクライアント。このオブジェクトを使用して新しいエンドポイントを定義することができます。この定義でユーザーを含めることができます。または、変更するプロパティのみ更新して、既存のエンドポイントを更新します。次の例では、EndpointUser オブジェクトを 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<String>(); wangXiList.add("cooking"); wangXiList.add("running"); wangXiList.add("swimming"); Map myMapWang = new HashMap<String, List>(); myMapWang.put("interests", wangXiList); List<String> myNameWang = new ArrayList<String>(); myNameWang.add("Wang "); myNameWang.add("Xiulan"); Map wangName = new HashMap<String, List>(); 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); } }

SDK の完全な例については、AddExampleUser.javaでのGitHub

HTTP

Amazon Pinpoint を使用するには、HTTP リクエストを直接 REST API に送信します。

例 ユーザー定義を含む Put Endpoint リクエスト

エンドポイントにユーザーを送信するには、次の URI の PUTEndpoint リソースに対して リクエストを発行します。

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

各パラメータの意味は次のとおりです。

  • アプリケーション IDは、エンドポイントを追加または更新する Amazon Pinpoint プロジェクトの ID です。

  • endpoint-id は、新しいエンドポイントに割り当てる ID、または更新するエンドポイントの ID です。

リクエストに、必要なヘッダーを含め、EndpointRequest JSON を本文として指定します。リクエストボディで、新しいエンドポイントを定義することができます。この定義でユーザーを含めることができます。または、変更する属性のみ指定して、既存のエンドポイントを更新します。ユーザー属性のみ指定して、既存のエンドポイントにユーザーを追加する方法を以下の例に示します。

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

リクエストが成功すると、次のようなレスポンスが表示されます。

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

Amazon Pinpoint API のエンドポイントリソース(例:サポートされている HTTP メソッドやリクエストパラメータ)の詳細については、『』の「エンドポイントリソース」を参照してください。エンドポイント()Amazon Pinpoint API リファレンス

変数を使用したメッセージのパーソナライズの詳細については、『』の「パーソナライズ」を参照してください。メッセージ変数()Amazon Pinpoint ユーザーガイド

ユーザー ID のリストをインポートしてセグメントを定義するには、『』の「ユーザー ID」を参照してください。セグメントのインポート()Amazon Pinpoint ユーザーガイド

ダイレクトメッセージを最大 100 のユーザー ID に送信する方法の詳細については、『』の「ユーザー ID」を参照してください。ユーザーズメッセージ()Amazon Pinpoint API リファレンス

エンドポイントに適用するクォータに関する情報 (割り当て可能なユーザー属性の数など) については、「エンドポイントクォータ」を参照してください。