將端點新增至 Amazon Pinpoint - Amazon Pinpoint

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

將端點新增至 Amazon Pinpoint

端點代表訊息的目的地,例如行動裝置、電話號碼或電子郵件地址。在您可以傳送訊息給您的對象的成員之前,您必須為該個人定義一或多個端點。

將端點加到 Amazon Pinpoint,端點會成長為受眾資料庫。這些資料包含:

  • 您使用 Amazon Pinpoint 新增或更新的端點API。

  • 隨著使用者來到您的應用程式,您的用戶端程式碼新增或更新的端點。

定義端點時,您會指定管道地址。管道是用來傳送訊息給端點的平台類型。頻道的範例包括推送通知服務、 SMS或 電子郵件。指定要傳送訊息給端點的位置,例如裝置字符、電話號碼或電子郵件地址。

若要新增關於您的對象的更多詳細資訊,您可以以自訂和標準屬性來豐富您的端點。這些屬性包括有關使用者、其偏好設定、裝置、其使用的用戶端版本或其位置的資料。新增此類型的資料到您的端點時,您可以:

  • 在 Amazon Pinpoint 主控台中檢視受眾相關圖表。

  • 根據端點屬性區隔您的對象,使得您可以將訊息傳送到適合的鎖定目標對象。

  • 透過整合將取代為使用者屬性值的訊息變數來個人化您的訊息。

如果您使用 Mobile 或 AWS Amplify JavaScript 程式庫整合 Amazon Pinpoint, AWS 行動SDKs或 JavaScript 用戶端應用程式會自動註冊端點。用戶端會為每個新使用者註冊端點,並且為傳回的使用者更新端點。若要從行動裝置或 JavaScript 用戶端註冊端點,請參閱 在應用程式中註冊 Amazon Pinpoint 端點

範例

以下範例說明如何將端點加入 Amazon Pinpoint 專案。端點代表居住在西雅圖並使用 的受眾成員iPhone。此人員可透過 Apple Push Notification 服務 (APNs) 傳送訊息。端點的地址是由 提供的裝置權杖APNs。

AWS CLI

透過 AWS CLI執行命令,可以使用 Amazon Pinpoint。

範例 Update Endpoint 命令

若要新增或更新端點,請使用 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 是本機JSON檔案的檔案路徑,其中包含 --endpoint-request 參數的輸入。

範例 端點請求檔案

範例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請求,以使用 REST Amazon PinpointAPI。

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

如需 Amazon Pinpoint 中端點資源的詳細資訊API,包括支援HTTP的方法和請求參數,請參閱 Amazon Pinpoint 參考中的端點Amazon Pinpoint API

如需使用變數將訊息個人化的詳細資訊,請參閱 Amazon Pinpoint 使用者指南中的訊息變數

如需端點適用之配額的相關資訊,例如您可指派的屬性數目,請參閱 端點配額