

**Avviso di fine del supporto:** il 30 ottobre 2026, AWS terminerà il supporto per Amazon Pinpoint. Dopo il 30 ottobre 2026, non potrai più accedere alla console Amazon Pinpoint o alle risorse Amazon Pinpoint (endpoint, segmenti, campagne, percorsi e analisi). Per ulteriori informazioni, consulta [Fine del supporto di Amazon Pinpoint](https://docs.aws.amazon.com/console/pinpoint/migration-guide). **Nota: per quanto** APIs riguarda gli SMS, i comandi vocali, i messaggi push su dispositivi mobili, l'OTP e la convalida del numero di telefono non sono interessati da questa modifica e sono supportati da End User Messaging. AWS 

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Crea campagne Amazon Pinpoint in modo programmatico
<a name="campaigns"></a>

Per aumentare il coinvolgimento tra le app e i relativi utenti, con Amazon Pinpoint puoi creare e gestire campagne tramite notifiche push per raggiungere specifici segmenti di utenti.

Ad esempio, una campagna può promuovere l'uso dell'app presso gli utenti che non l'hanno eseguita di recente oppure offrire promozioni speciali agli utenti che non effettuano acquisti da tempo.

Una campagna invia un messaggio mirato a un segmento di utenti specificato. La campagna può inviare il messaggio a tutti gli utenti nel segmento. In alternativa, puoi allocare un'esclusione, ovvero una percentuale di utenti che non ricevono i messaggi.

È possibile pianificare la campagna in modo che il messaggio venga inviato una sola volta o con una determinata frequenza, ad esempio una volta a settimana. Per evitare che gli utenti ricevano il messaggio in orari inopportuni, la pianificazione può includere un orario di silenzio in cui non vengono inviati messaggi.

Per sperimentare strategie di campagna alternative, configura la tua campagna in modo che un A/B test. An A/B test includa due o più trattamenti del messaggio o della pianificazione. Le varianti sono versioni diverse del messaggio o della pianificazione. Man mano che gli utenti rispondono alla campagna, puoi osservare i dati analitici della campagna per confrontare l'efficacia di ogni variante.

Per ulteriori informazioni, consulta [Campaigns](https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-campaigns.html) nella *Amazon Pinpoint REST API Guide* o [Campaigns](https://docs.aws.amazon.com/pinpoint/latest/userguide/campaigns.html) in *Amazon Pinpoint* User Guide.

# Crea una campagna Amazon Pinpoint standard
<a name="campaigns-standard"></a>

Una campagna standard invia una notifica push personalizzata a un determinato segmento in base a una pianificazione definita in precedenza. L'esempio seguente mostra come creare una campagna con l' AWS SDK per Java. Per un esempio di creazione di un segmento da trasmettere, consulta[Crea segmenti in 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 esegui questo esempio, nella finestra della console dell'IDE viene stampato quanto segue:

```
Campaign ID: b1c3de717aea4408a75bb3287a906b46
```

Per l'esempio completo dell'SDK, consulta [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/)

# Crea una campagna Amazon Pinpoint di A/B prova con AWS SDK per Java
<a name="campaigns-abtest"></a>

Una campagna di A/B test si comporta come una campagna standard, ma consente di definire trattamenti diversi per il messaggio o la pianificazione della campagna. Un test A/B include due o più varianti per il messaggio o la pianificazione. Le varianti sono versioni diverse del messaggio o della pianificazione. Man mano che gli utenti rispondono alla campagna, puoi osservare i dati analitici della campagna per confrontare l'efficacia di ogni variante.

L'esempio seguente mostra come creare una campagna di A/B prova con. AWS SDK per 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 esegui questo esempio, nella finestra della console dell'IDE viene stampato quanto segue:

```
Campaign ID: b1c3de717aea4408a75bb3287a906b46
```