Création de campagnes - Amazon Pinpoint

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éation de campagnes

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 essayer d’autres stratégies de campagne, configurez votre campagne comme test A/B. 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.

Pour plus d'informations, consultez Campagnes dans le guide de l'API REST Amazon Pinpoint ou Campagnes dans le guide de l'utilisateur Amazon Pinpoint.

Création de campagnes standard

Une campagne standard envoie une notification push personnalisée à un segment spécifié selon un calendrier que vous définissez.

Création de campagnes à l'aide du AWS SDK for Java

L'exemple suivant montre comment créer une campagne avec le kit AWS SDK for Java. Pour un exemple de création d'un segment à transmettre, consultezPréparation des segments.

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 on. GitHub

Création de campagnes de tests A/B

Une campagne de test A/B 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.

Création de campagnes de tests A/B avec AWS SDK for Java

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

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