

**Aviso de fim do suporte:** em 30 de outubro de 2026, AWS encerrará o suporte para o Amazon Pinpoint. Após 30 de outubro de 2026, você não poderá mais acessar o console do Amazon Pinpoint nem seus recursos (endpoints, segmentos, campanhas, jornadas e analytics). Para obter mais informações, consulte [Fim do suporte do Amazon Pinpoint](https://docs.aws.amazon.com/console/pinpoint/migration-guide). **Observação:** APIs relacionados a SMS, voz, push móvel, OTP e validação de número de telefone não são afetados por essa alteração e são compatíveis com o AWS End User Messaging.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Criar campanhas do Amazon Pinpoint de forma programática
<a name="campaigns"></a>

Para ajudar a aumentar o envolvimento entre seu aplicativo e os usuários, use o Amazon Pinpoint para criar e gerenciar campanhas de notificação por push que atinjam segmentos específicos.

Por exemplo, sua campanha pode estimular o retorno dos usuários que não o usam há muito tempo ou oferecer promoções especiais àqueles que não fizeram compras recentemente.

A campanha envia uma mensagem personalizada para um segmento de usuários específico. A campanha poderá enviar a mensagem a todos os usuários do segmento, ou você pode alocar um holdout, que é uma porcentagem de usuários que não recebem mensagens.

Você pode programar a campanha para enviar a mensagem uma vez só ou de forma recorrente, como uma vez por semana. Para evitar que os usuários recebam-na em momentos inconvenientes, você pode programar um período de silêncio, em que a campanha não envie nada.

Para experimentar estratégias alternativas de campanha, configure sua campanha como um A/B test. An A/B teste que inclua dois ou mais tratamentos da mensagem ou do cronograma. Esses tratamentos são variações do conteúdo enviado. À medida que seus usuários reagem à campanha, você poderá visualizar e fazer análises para comparar a eficácia de cada tratamento.

Para obter mais informações, consulte [Campaigns](https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-campaigns.html) no *Guia da API REST do Amazon Pinpoint* ou [Campaigns](https://docs.aws.amazon.com/pinpoint/latest/userguide/campaigns.html) no *Guia do usuário do Amazon Pinpoint*.

# Criar uma campanha padrão do Amazon Pinpoint
<a name="campaigns-standard"></a>

Campanhas padrão enviam notificações por push personalizadas a segmentos especificados, de acordo com a programação definida. O exemplo a seguir demonstra como criar uma campanha com o AWS SDK para Java. Para obter um exemplo de criação de um segmento a ser transmitido, consulte [Criar segmentos no 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;
    }
}
```

Quando você executa este exemplo, o conteúdo abaixo é impresso na janela do console do seu IDE:

```
Campaign ID: b1c3de717aea4408a75bb3287a906b46
```

Para ver o exemplo completo do SDK, consulte [CreateCampaign.java on. [GitHub](https://github.com/)](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/javav2/example_code/pinpoint/src/main/java/com/example/pinpoint/CreateCampaign.java/)

# Crie uma campanha A/B de teste do Amazon Pinpoint com o AWS SDK para Java
<a name="campaigns-abtest"></a>

Uma campanha A/B de teste se comporta como uma campanha padrão, mas permite que você defina tratamentos diferentes para a mensagem ou o cronograma da campanha. O teste A/B inclui dois ou mais tratamentos da mensagem ou programação. Esses tratamentos são variações do conteúdo enviado. À medida que seus usuários reagem à campanha, você poderá visualizar e fazer análises para comparar a eficácia de cada tratamento.

O exemplo a seguir demonstra como criar uma campanha A/B de teste com o. 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();
    }

}
```

Quando você executa este exemplo, o conteúdo abaixo é impresso na janela do console do seu IDE:

```
Campaign ID: b1c3de717aea4408a75bb3287a906b46
```