

**Aviso de fin de soporte:** el 30 de octubre de 2026, AWS finalizará el soporte para Amazon Pinpoint. Después del 30 de octubre de 2026, ya no podrá acceder a la consola de Amazon Pinpoint ni a los recursos de Amazon Pinpoint (puntos de conexión, segmentos, campañas, recorridos y análisis). Para obtener más información, consulte [Fin de soporte de Amazon Pinpoint](https://docs.aws.amazon.com/console/pinpoint/migration-guide). **Nota: en** lo APIs que respecta a los SMS, este cambio no afecta a los mensajes de voz, a las notificaciones push móviles, a las OTP y a la validación de números de teléfono, y son compatibles con la mensajería para el usuario AWS final.

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.

# Crear campañas de Amazon Pinpoint mediante programación
<a name="campaigns"></a>

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, configura tu campaña de forma que una A/B test. An A/B prueba incluya dos o más versiones 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 [Campaigns](https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-campaigns.html) en la *Guía de API de REST de Amazon Pinpoint* o [Campaigns](https://docs.aws.amazon.com/pinpoint/latest/userguide/campaigns.html) en la *Guía del usuario de Amazon Pinpoint*.

# Crear una campaña estándar de Amazon Pinpoint
<a name="campaigns-standard"></a>

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. El siguiente ejemplo muestra cómo crear una campaña con AWS SDK para Java. Para ver un ejemplo de cómo crear un segmento para transferirlo, consulte [Generar segmentos en Amazon Pinpoint](segments-dimensional.md).

```
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;
    }
}
```

Cuando se ejecuta este ejemplo, se muestra lo siguiente en la ventana de la consola de su IDE:

```
Campaign ID: b1c3de717aea4408a75bb3287a906b46
```

Para ver el ejemplo completo del SDK, consulta [CreateCampaign.java](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/javav2/example_code/pinpoint/src/main/java/com/example/pinpoint/CreateCampaign.java/) en [GitHub](https://github.com/).

# Cree una campaña A/B de prueba de Amazon Pinpoint con el AWS SDK para Java
<a name="campaigns-abtest"></a>

Una campaña de A/B prueba 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.

En el siguiente ejemplo se muestra cómo crear una campaña A/B de prueba con. AWS SDK para 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();
    }

}
```

Cuando se ejecuta este ejemplo, se muestra lo siguiente en la ventana de la consola de su IDE:

```
Campaign ID: b1c3de717aea4408a75bb3287a906b46
```