Amazon Pinpoint에 엔드포인트 추가 - Amazon Pinpoint

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

Amazon Pinpoint에 엔드포인트 추가

엔드포인트는 메시지를 전송할 수 있는 대상을 나타냅니다(예: 모바일 디바이스, 전화번호 또는 이메일 주소). 대상의 구성원에게 메시지를 보내려면 먼저 해당 개인에 대해 하나 이상의 엔드포인트를 정의해야 합니다.

엔드포인트를 Amazon Pinpoint에 추가하면 대상 데이터의 리포지토리로 증가합니다. 이 데이터는 다음으로 구성됩니다.

  • Amazon Pinpoint 를 사용하여 추가하거나 업데이트하는 엔드포인트입니다API.

  • 사용자가 애플리케이션에 연결할 때 클라이언트 코드가 추가하거나 업데이트하는 엔드포인트

엔드포인트를 정의할 때 채널주소를 지정합니다. 채널은 엔드포인트에 메시지를 보내는 데 사용하는 플랫폼 유형입니다. 채널의 예로는 푸시 알림 서비스, SMS또는 이메일이 있습니다. 주소는 엔드포인트에 메시지를 보내는 위치입니다(예: 디바이스 토큰, 전화번호 또는 이메일 주소).

대상에 대한 세부 정보를 추가하려면 엔드포인트를 사용자 지정 및 표준 속성으로 보강할 수 있습니다. 이러한 속성에는 사용자, 기본 설정, 디바이스, 사용하는 클라이언트의 버전 또는 위치에 대한 데이터가 포함됩니다. 이 유형의 데이터를 엔드포인트에 추가할 때 다음을 수행할 수 있습니다.

  • Amazon Pinpoint 콘솔에서 대상에 대한 차트를 봅니다.

  • 올바른 목표 대상에 메시지를 전송할 수 있도록 엔드포인트 속성을 기반으로 대상을 세그먼트화합니다.

  • 엔드포인트 속성 값으로 대체되는 메시지 변수를 통합하여 메시지를 개인 설정합니다.

모바일 또는 JavaScript 클라이언트 애플리케이션은 AWS 모바일 SDKs 또는 AWS Amplify JavaScript 라이브러리를 사용하여 Amazon Pinpoint를 통합하는 경우 엔드포인트를 자동으로 등록합니다. 클라이언트는 각 새 사용자에 대한 엔드포인트를 등록하고 재방문 사용자에 대한 엔드포인트를 업데이트합니다. 모바일 또는 JavaScript 클라이언트에서 엔드포인트를 등록하려면 섹션을 참조하세요애플리케이션에 Amazon Pinpoint 엔드포인트 등록.

예시

다음 예제에서는 Amazon Pinpoint 프로젝트에 엔드포인트를 추가하는 방법을 보여 줍니다. 엔드포인트는 시애틀에 거주하고 를 사용하는 대상 멤버를 나타냅니다iPhone. Apple 푸시 알림 서비스()를 통해 이 사람에게 메시지를 보낼 수 있습니다APNs. 엔드포인트의 주소는 에서 제공하는 디바이스 토큰입니다APNs.

AWS CLI

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

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

엔드포인트를 추가하거나 업데이트하려면 update-endpoint 명령을 사용합니다.

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

위치:

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

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

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

예 엔드포인트 요청 파일

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

{ "ChannelType": "APNS", "Address": "1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p7q8r9s0t1u2v3w4x5y6z7a8b9c0d1e2f", "Attributes": { "Interests": [ "Technology", "Music", "Travel" ] }, "Metrics": { "technology_interest_level": 9.0, "music_interest_level": 6.0, "travel_interest_level": 4.0 }, "Demographic": { "AppVersion": "1.0", "Make": "apple", "Model": "iPhone", "ModelVersion": "8", "Platform": "ios", "PlatformVersion": "11.3.1", "Timezone": "America/Los_Angeles" }, "Location": { "Country": "US", "City": "Seattle", "PostalCode": "98121", "Latitude": 47.61, "Longitude": -122.33 } }

엔드포인트를 정의하는 데 사용할 수 있는 속성은 Amazon Pinpoint API 참조EndpointRequest 스키마를 참조하세요.

AWS SDK for Java

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

예 코드

엔드포인트를 추가하려면 EndpointRequest 객체를 초기화하고 이를 AmazonPinpoint 클라이언트의 updateEndpoint 메서드에 전달합니다.

import com.amazonaws.regions.Regions; import com.amazonaws.services.pinpoint.AmazonPinpoint; import com.amazonaws.services.pinpoint.AmazonPinpointClientBuilder; import com.amazonaws.services.pinpoint.model.*; import java.util.Arrays; public class AddExampleEndpoint { public static void main(String[] args) { final String USAGE = "\n" + "AddExampleEndpoint - Adds an example endpoint to an Amazon Pinpoint application." + "Usage: AddExampleEndpoint <applicationId>" + "Where:\n" + " applicationId - The ID of the Amazon Pinpoint application to add the example " + "endpoint to."; if (args.length < 1) { System.out.println(USAGE); System.exit(1); } String applicationId = args[0]; // The device token assigned to the user's device by Apple Push Notification // service (APNs). String deviceToken = "1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p7q8r9s0t1u2v3w4x5y6z7a8b9c0d1e2f"; // Initializes an endpoint definition with channel type and address. EndpointRequest wangXiulansIphoneEndpoint = new EndpointRequest() .withChannelType(ChannelType.APNS) .withAddress(deviceToken); // Adds custom attributes to the endpoint. wangXiulansIphoneEndpoint.addAttributesEntry("interests", Arrays.asList( "technology", "music", "travel")); // Adds custom metrics to the endpoint. wangXiulansIphoneEndpoint.addMetricsEntry("technology_interest_level", 9.0); wangXiulansIphoneEndpoint.addMetricsEntry("music_interest_level", 6.0); wangXiulansIphoneEndpoint.addMetricsEntry("travel_interest_level", 4.0); // Adds standard demographic attributes. wangXiulansIphoneEndpoint.setDemographic(new EndpointDemographic() .withAppVersion("1.0") .withMake("apple") .withModel("iPhone") .withModelVersion("8") .withPlatform("ios") .withPlatformVersion("11.3.1") .withTimezone("America/Los_Angeles")); // Adds standard location attributes. wangXiulansIphoneEndpoint.setLocation(new EndpointLocation() .withCountry("US") .withCity("Seattle") .withPostalCode("98121") .withLatitude(47.61) .withLongitude(-122.33)); // Initializes the Amazon Pinpoint client. AmazonPinpoint pinpointClient = AmazonPinpointClientBuilder.standard() .withRegion(Regions.US_EAST_1).build(); // Updates or creates the endpoint with Amazon Pinpoint. UpdateEndpointResult result = pinpointClient.updateEndpoint(new UpdateEndpointRequest() .withApplicationId(applicationId) .withEndpointId("example_endpoint") .withEndpointRequest(wangXiulansIphoneEndpoint)); System.out.format("Update endpoint result: %s\n", result.getMessageBody().getMessage()); } }
HTTP

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

예 PUT 엔드포인트 요청

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

/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 X-Amz-Date: 20180428T004705Z Authorization: AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20180428/us-east-1/mobiletargeting/aws4_request, SignedHeaders=accept;content-length;content-type;host;x-amz-date, Signature=c25cbd6bf61bd3b3667c571ae764b9bf2d8af61b875cacced95d1e68d91b4170 Cache-Control: no-cache { "ChannelType": "APNS", "Address": "1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p7q8r9s0t1u2v3w4x5y6z7a8b9c0d1e2f", "Attributes": { "Interests": [ "Technology", "Music", "Travel" ] }, "Metrics": { "technology_interest_level": 9.0, "music_interest_level": 6.0, "travel_interest_level": 4.0 }, "Demographic": { "AppVersion": "1.0", "Make": "apple", "Model": "iPhone", "ModelVersion": "8", "Platform": "ios", "PlatformVersion": "11.3.1", "Timezone": "America/Los_Angeles" }, "Location": { "Country": "US", "City": "Seattle", "PostalCode": "98121", "Latitude": 47.61, "Longitude": -122.33 } }

요청이 성공하면 다음과 비슷한 응답이 수신됩니다.

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

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

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

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