Creación de campañas - Amazon Pinpoint

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Creación de campañas

Para ayudar a aumentar la conexión entre la aplicación y los usuarios, utilice Amazon Pinpoint para crear y administrar campañas de notificaciones de inserción que se dirijan a segmentos de usuarios concretos.

Por ejemplo, la campaña podría invitar a los usuarios que no han ejecutado la aplicación recientemente a que regresen a ella u ofrecer promociones especiales a los usuarios que no han comprado últimamente.

Una campaña envía un mensaje personalizado a un segmento de usuario que se especifique. La campaña puede enviar el mensaje a todos los usuarios del segmento, o bien puede asignar exclusiones, que es un porcentaje de los usuarios que no recibirán ningún mensaje.

Puede establecer la programación de la campaña para enviar el mensaje una vez o con una frecuencia recurrente, como, por ejemplo, una vez a la semana. Para evitar que los usuarios reciban el mensaje a horas poco apropiadas, la programación puede incluir una horas de silencio durante las que no se enviará ningún mensaje.

Para experimentar con estrategias de campaña alternativas, configure su campaña como una prueba A/B. Una prueba A/B incluye dos o más tratamientos del mensaje o la programación. Los tratamientos son variaciones del mensaje o la programación. A medida que los usuarios respondan a la campaña, podrá ver análisis de dicha campaña para comparar la eficacia de cada tratamiento.

Para obtener más información, consulte Campañas en la Guía de Amazon Pinpoint o Campañas en la REST API Guía del usuario de Amazon Pinpoint.

Creación de campañas estándar

Una campaña estándar envía una notificación de inserción personalizada a un segmento especificado de acuerdo con una programación que se define.

Creación de campañas con AWS SDK for Java

El siguiente ejemplo muestra cómo crear una campaña con AWS SDK for Java. Para ver un ejemplo de cómo crear un segmento para transmitirlo, consulteCreación de segmentos.

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.pinpoint.PinpointClient; import software.amazon.awssdk.services.pinpoint.model.CampaignResponse; import software.amazon.awssdk.services.pinpoint.model.Message; import software.amazon.awssdk.services.pinpoint.model.Schedule; import software.amazon.awssdk.services.pinpoint.model.Action; import software.amazon.awssdk.services.pinpoint.model.MessageConfiguration; import software.amazon.awssdk.services.pinpoint.model.WriteCampaignRequest; import software.amazon.awssdk.services.pinpoint.model.CreateCampaignResponse; import software.amazon.awssdk.services.pinpoint.model.CreateCampaignRequest; import software.amazon.awssdk.services.pinpoint.model.PinpointException;
import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.pinpoint.PinpointClient; import software.amazon.awssdk.services.pinpoint.model.CampaignResponse; import software.amazon.awssdk.services.pinpoint.model.Message; import software.amazon.awssdk.services.pinpoint.model.Schedule; import software.amazon.awssdk.services.pinpoint.model.Action; import software.amazon.awssdk.services.pinpoint.model.MessageConfiguration; import software.amazon.awssdk.services.pinpoint.model.WriteCampaignRequest; import software.amazon.awssdk.services.pinpoint.model.CreateCampaignResponse; import software.amazon.awssdk.services.pinpoint.model.CreateCampaignRequest; import software.amazon.awssdk.services.pinpoint.model.PinpointException; /** * Before running this Java V2 code example, set up your development * environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class CreateCampaign { public static void main(String[] args) { final String usage = """ Usage: <appId> <segmentId> Where: appId - The ID of the application to create the campaign in. segmentId - The ID of the segment to create the campaign from. """; if (args.length != 2) { System.out.println(usage); System.exit(1); } String appId = args[0]; String segmentId = args[1]; PinpointClient pinpoint = PinpointClient.builder() .region(Region.US_EAST_1) .build(); createPinCampaign(pinpoint, appId, segmentId); pinpoint.close(); } public static void createPinCampaign(PinpointClient pinpoint, String appId, String segmentId) { CampaignResponse result = createCampaign(pinpoint, appId, segmentId); System.out.println("Campaign " + result.name() + " created."); System.out.println(result.description()); } public static CampaignResponse createCampaign(PinpointClient client, String appID, String segmentID) { try { Schedule schedule = Schedule.builder() .startTime("IMMEDIATE") .build(); Message defaultMessage = Message.builder() .action(Action.OPEN_APP) .body("My message body.") .title("My message title.") .build(); MessageConfiguration messageConfiguration = MessageConfiguration.builder() .defaultMessage(defaultMessage) .build(); WriteCampaignRequest request = WriteCampaignRequest.builder() .description("My description") .schedule(schedule) .name("MyCampaign") .segmentId(segmentID) .messageConfiguration(messageConfiguration) .build(); CreateCampaignResponse result = client.createCampaign(CreateCampaignRequest.builder() .applicationId(appID) .writeCampaignRequest(request).build()); System.out.println("Campaign ID: " + result.campaignResponse().id()); return result.campaignResponse(); } catch (PinpointException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } return null; } }

Al ejecutar este ejemplo, se imprime lo siguiente en la ventana de la consolaIDE:

Campaign ID: b1c3de717aea4408a75bb3287a906b46

Para ver el SDK ejemplo completo, consulte CreateCampaign.java on GitHub.

Creación de campañas de prueba A/B

Una campaña de prueba A/B se comporta como una campaña estándar, pero te permite definir distintos tratamientos para el mensaje o el calendario de la campaña. Una prueba A/B incluye dos o más tratamientos del mensaje o la programación. Los tratamientos son variaciones del mensaje o la programación. A medida que los usuarios respondan a la campaña, podrá ver análisis de dicha campaña para comparar la eficacia de cada tratamiento.

Cómo crear campañas de pruebas A/B con AWS SDK for Java

El siguiente ejemplo muestra cómo crear una campaña de prueba A/B con AWS SDK for Java.

import com.amazonaws.services.pinpoint.AmazonPinpointClient; import com.amazonaws.services.pinpoint.model.Action; import com.amazonaws.services.pinpoint.model.CampaignResponse; import com.amazonaws.services.pinpoint.model.CreateCampaignRequest; import com.amazonaws.services.pinpoint.model.CreateCampaignResult; import com.amazonaws.services.pinpoint.model.Message; import com.amazonaws.services.pinpoint.model.MessageConfiguration; import com.amazonaws.services.pinpoint.model.Schedule; import com.amazonaws.services.pinpoint.model.WriteCampaignRequest; import com.amazonaws.services.pinpoint.model.WriteTreatmentResource; import java.util.ArrayList; import java.util.List; public class PinpointCampaignSample { public CampaignResponse createAbCampaign(AmazonPinpointClient client, String appId, String segmentId) { Schedule schedule = new Schedule() .withStartTime("IMMEDIATE"); // Default treatment. Message defaultMessage = new Message() .withAction(Action.OPEN_APP) .withBody("My message body.") .withTitle("My message title."); MessageConfiguration messageConfiguration = new MessageConfiguration() .withDefaultMessage(defaultMessage); // Additional treatments WriteTreatmentResource treatmentResource = new WriteTreatmentResource() .withMessageConfiguration(messageConfiguration) .withSchedule(schedule) .withSizePercent(40) .withTreatmentDescription("My treatment description.") .withTreatmentName("MyTreatment"); List<WriteTreatmentResource> additionalTreatments = new ArrayList<WriteTreatmentResource>(); additionalTreatments.add(treatmentResource); WriteCampaignRequest request = new WriteCampaignRequest() .withDescription("My description.") .withSchedule(schedule) .withSegmentId(segmentId) .withName("MyCampaign") .withMessageConfiguration(messageConfiguration) .withAdditionalTreatments(additionalTreatments) .withHoldoutPercent(10); // Hold out of A/B test CreateCampaignRequest createCampaignRequest = new CreateCampaignRequest() .withApplicationId(appId).withWriteCampaignRequest(request); CreateCampaignResult result = client.createCampaign(createCampaignRequest); System.out.println("Campaign ID: " + result.getCampaignResponse().getId()); return result.getCampaignResponse(); } }

Al ejecutar este ejemplo, se imprime lo siguiente en la ventana de la consola de suIDE:

Campaign ID: b1c3de717aea4408a75bb3287a906b46