

**Avis de fin de support :** le 30 octobre 2026, le support d'Amazon Pinpoint AWS prendra fin. Après le 30 octobre 2026, vous ne pourrez plus accéder à la console Amazon Pinpoint ni aux ressources Amazon Pinpoint (points de terminaison, segments, campagnes, parcours et analytique). Pour plus d’informations, consultez [Fin de la prise en charge d’Amazon Pinpoint](https://docs.aws.amazon.com/console/pinpoint/migration-guide). **Remarque :** en ce qui APIs concerne les SMS, la voix, le push mobile, l'OTP et la validation des numéros de téléphone ne sont pas concernés par cette modification et sont pris en charge par AWS la messagerie utilisateur final.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Créez des campagnes Amazon Pinpoint de manière programmatique
<a name="campaigns"></a>

Pour aider à augmenter l'engagement entre votre application et ses utilisateurs, utilisez Amazon Pinpoint pour créer et gérer des campagnes de notification push qui accèdent à des segments d'utilisateurs particuliers.

Par exemple, votre campagne peut inviter les utilisateurs qui n'ont pas exécuté récemment votre application à le faire ou proposer des promotions spéciales pour les utilisateurs qui n'ont pas acheté récemment.

Une campagne envoie un message sur mesure à un segment d'utilisateurs que vous spécifiez. La campagne peut envoyer le message à tous les utilisateurs du segment ou vous pouvez allouer des données d'exclusion, qui correspondent au pourcentage d'utilisateurs qui ne reçoit aucun message.

Vous pouvez définir le calendrier de la campagne de façon à envoyer le message une seule fois ou à une fréquence récurrente, telle qu'une fois par semaine. Pour empêcher que les utilisateurs ne reçoivent le message à des moments inopportuns, le calendrier peut inclure une pause pendant laquelle aucun message n'est envoyé.

Pour tester d'autres stratégies de campagne, configurez votre campagne car un A/B test. An A/B test inclut au moins deux traitements du message ou du calendrier. Les traitements sont des variations de votre message ou calendrier. Tandis que vos utilisateurs répondent à la campagne, vous pouvez afficher les analyses de campagne afin de comparer l’efficacité de chaque traitement.

Pour plus d'informations, consultez [Campagnes](https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-campaigns.html) dans le guide de l'*API REST Amazon Pinpoint ou [Campagnes](https://docs.aws.amazon.com/pinpoint/latest/userguide/campaigns.html) dans le guide* de l'utilisateur *Amazon Pinpoint*.

# Créez une campagne Amazon Pinpoint standard
<a name="campaigns-standard"></a>

Une campagne standard envoie une notification push personnalisée à un segment spécifié selon un calendrier que vous définissez. L'exemple suivant montre comment créer une campagne avec le kit AWS SDK pour Java. Pour un exemple de création d'un segment à transmettre, consultez[Créez des segments dans 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;
    }
}
```

Lorsque vous exécutez cet exemple, les éléments suivants s'affichent dans la fenêtre de la console de votre IDE :

```
Campaign ID: b1c3de717aea4408a75bb3287a906b46
```

Pour l'exemple complet du SDK, consultez [CreateCampaign.java](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/javav2/example_code/pinpoint/src/main/java/com/example/pinpoint/CreateCampaign.java/) on. [GitHub](https://github.com/)

# Créez une campagne A/B de test Amazon Pinpoint à l'aide du AWS SDK pour Java
<a name="campaigns-abtest"></a>

Une campagne de A/B test se comporte comme une campagne standard, mais vous permet de définir différents traitements pour le message ou le calendrier de la campagne. Un test A/B inclut deux ou plusieurs traitements du message ou du calendrier. Les traitements sont des variations de votre message ou calendrier. Tandis que vos utilisateurs répondent à la campagne, vous pouvez afficher les analyses de campagne afin de comparer l’efficacité de chaque traitement.

L'exemple suivant montre comment créer une campagne de A/B test avec AWS SDK pour 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();
    }

}
```

Lorsque vous exécutez cet exemple, les éléments suivants s'affichent dans la fenêtre de la console de votre IDE :

```
Campaign ID: b1c3de717aea4408a75bb3287a906b46
```