- AWS Code Sample demonstrates how to associate users with endpoints in Amazon Pinpoint.

/* * Copyright, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ package com.example.pinpoint; import; import; import; import; import; import; import; import; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class AddExampleUser { public static void main(String[] args) { final String USAGE = "\n" + "AddExampleUser - demonstrates how to update several existing endpoints in a single call\n\n" + "Usage: AddExampleEndpoints <appId>\n\n" + "Where:\n" + " appId - the ID of the application to delete.\n\n"; if (args.length < 2) { System.out.println(USAGE); System.exit(1); } String applicationId = args[0]; String endPointId = args[1]; // Create a PinpointClient object PinpointClient pinpoint = PinpointClient.builder() .region(Region.US_EAST_1) .build(); updatePinpointEndpoint(pinpoint, applicationId, endPointId); } 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("") .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); } } }

Sample Details

Service: pinpoint

Last tested: 03/02/2020

Author: scmacdon-aws

Type: full-example