Amazon Pinpoint 엔드포인트와 사용자 연결 - Amazon Pinpoint

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon Pinpoint 엔드포인트와 사용자 연결

엔드포인트에는 사용자를 정의하는 속성이 포함될 수 있습니다. 이 속성은 대상의 개인을 나타냅니다. 예를 들어, 사용자는 모바일 앱을 설치한 사람 또는 웹 사이트에 계정을 가지고 있는 사람을 나타낼 수 있습니다.

고유의 사용자 ID와 선택 사항으로 사용자 지정 사용자 속성을 지정하여 사용자를 정의합니다. 어떤 사람이 여러 디바이스에서 앱을 사용하는 경우 또는 한 사람에게 여러 주소로 메시지를 보낼 수 있는 경우 동일한 사용자 ID를 여러 엔드포인트에 할당할 수 있습니다. 이 경우 Amazon Pinpoint는 전체 엔드포인트에서 사용자 속성을 동기화합니다. 따라서 사용자 속성을 한 엔드포인트에 추가하면 Amazon Pinpoint는 동일한 사용자 ID가 포함된 각 엔드포인트에 해당 속성을 추가합니다.

사용자 속성을 추가하여 개인에게 적용되지만 이 사람이 사용하는 디바이스에 따라 달라지지 않는 데이터를 추적할 수 있습니다. 예를 들어, 한 사람의 이름, 연령 또는 계정 상태에 대한 속성을 추가할 수 있습니다.

작은 정보

애플리케이션이 Amazon Cognito 사용자 풀을 사용하여 사용자 인증을 처리하는 경우 Amazon Cognito는 사용자 ID와 속성을 엔드포인트에 자동으로 추가합니다. 엔드포인트 사용자 ID 값의 경우 Amazon Cognito는 사용자 풀에 있는 사용자에게 할당된 sub 값을 할당합니다. Amazon Cognito를 사용하여 사용자를 추가하는 방법을 알아보려면 Amazon Cognito 개발자 안내서Amazon Cognito 사용자 풀에서 Amazon Pinpoint 분석 사용 섹션을 참조하세요.

사용자 정의를 엔드포인트에 추가한 후에는 대상을 세그먼트화하는 방법에 대한 추가 옵션이 있습니다. 사용자 속성을 기반으로 세그먼트를 정의하거나, 사용자 ID 목록을 가져와서 세그먼트를 정의할 수 있습니다. 사용자를 기반으로 하는 세그먼트에 메시지를 전송하는 경우 잠재적인 대상에는 세그먼트의 각 사용자와 연결된 각 엔드포인트가 포함됩니다.

또한 대상에게 메시지를 보내는 방법에 대한 추가 옵션도 있습니다. 캠페인을 사용하여 한 세그먼트의 사용자에게 메시지를 보내거나, 사용자 ID 목록에 메시지를 직접 전송할 수 있습니다. 메시지를 개인 설정하려면 사용자 속성 값으로 대체되는 메시지 변수를 포함시킬 수 있습니다.

다음 예제에서는 사용자 정의를 엔드포인트에 추가하는 방법을 보여 줍니다.

AWS CLI

AWS CLI에서 명령을 실행하여 Amazon Pinpoint를 사용할 수 있습니다.

예 엔드포인트 업데이트 명령

사용자를 엔드포인트에 추가하려면 update-endpoint 명령을 사용합니다. --endpoint-request 파라미터의 경우 사용자가 포함될 수 있는 새 엔드포인트를 정의할 수 있습니다. 또는 기존 엔드포인트를 업데이트하려면 변경할 속성만 제공할 수 있습니다. 다음 예제에서는 사용자 속성만 제공하여 사용자를 기존 엔드포인트에 추가합니다.

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

위치:

  • application-id는 엔드포인트를 추가하거나 업데이트할 Amazon Pinpoint 프로젝트의 ID입니다.

  • endpoint-id는 새 엔드포인트에 할당할 ID 또는 업데이트할 기존 엔드포인트의 ID입니다.

  • endpoint-request-file.json은 파라미터에 대한 입력이 포함된 로컬 JSON 파일의 파일 경로입니다. --endpoint-request

예 엔드포인트 요청 파일

예제 update-endpoint 명령은 JSON 파일을 --endpoint-request 파라미터의 인수로 사용합니다. 이 파일에는 다음과 같은 사용자 정의가 포함되어 있습니다.

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

사용자를 정의하는 데 사용할 수 있는 속성은 Amazon Pinpoint API 참조의 EndpointRequest스키마에 있는 User 객체를 참조하십시오.

AWS SDK for Java

AWS SDK for Java에서 제공하는 클라이언트를 사용하여 Java 애플리케이션에서 Amazon Pinpoint API를 사용할 수 있습니다.

예 코드

엔드포인트에 사용자를 추가하려면 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<>(); 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); } }

전체 SDK 예제를 AddExampleUser보려면.java on을 참조하십시오. GitHub

HTTP

REST API에 HTTP 요청을 직접 수행하여 Amazon Pinpoint를 사용할 수 있습니다.

예 사용자 정의가 포함된 엔드포인트 Put 요청

엔드포인트에 사용자를 추가하려면 다음 URI에서 엔드포인트 리소스에 PUT 요청을 발행합니다.

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

위치:

  • application-id는 엔드포인트를 추가하거나 업데이트할 Amazon Pinpoint 프로젝트의 ID입니다.

  • endpoint-id는 새 엔드포인트에 할당할 ID 또는 업데이트할 기존 엔드포인트의 ID입니다.

요청에는 필수 헤더를 포함하고 EndpointRequestJSON을 본문으로 제공하십시오. 요청 본문은 사용자가 포함될 수 있는 새 엔드포인트를 정의할 수 있습니다. 또는 기존 엔드포인트를 업데이트하려면 변경할 속성만 제공할 수 있습니다. 다음 예제에서는 사용자 속성만 제공하여 사용자를 기존 엔드포인트에 추가합니다.

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

지원되는 HTTP 메서드 및 요청 파라미터를 비롯하여, Amazon Pinpoint API의 엔드포인트 리소스에 대한 자세한 내용은 Amazon Pinpoint API 참조엔드포인트 섹션을 참조하세요.

변수를 사용하여 메시지를 개인화하는 방법에 대한 자세한 내용은 Amazon Pinpoint 사용 설명서메시지 변수 섹션을 참조하세요.

사용자 ID 목록을 가져와서 세그먼트를 정의하는 방법을 알아보려면 Amazon Pinpoint 사용 설명서세그먼트 가져오기 섹션을 참조하세요.

최대 100개의 사용자 ID에 DM(Direct Message)을 보내는 방법에 대한 내용은 Amazon Pinpoint API 참조사용자 메시지 섹션을 참조하세요.

할당할 수 있는 사용자 속성의 수를 포함해 엔드포인트에 적용되는 할당량에 대한 자세한 내용은 엔드포인트 할당량 단원을 참조하십시오.