Creare ed eseguire il primo esperimentoCreate and run your first experiment

In questa procedura dettagliata si eseguiranno i passaggi seguenti:In this walkthrough, you will:

  • Creare un progetto di sperimentazione nel centro per i partner che definisce diverse variabili remote che rappresentano il testo e il colore di un pulsante dell'app.Create an experimentation project in Partner Center that defines several remote variables that represent the text and color of an app button.
  • Creare un'app con il codice che recupera i valori delle variabili remote, usa questi dati per modificare il colore di sfondo di un pulsante e registra nuovamente i dati degli eventi di visualizzazione e conversione nel centro per i partner.Create an app with code that retrieves the remote variable values, uses this data to change the background color of a button, and logs view and conversion event data back to Partner Center.
  • Creare un esperimento nel progetto per verificare se la modifica del colore di sfondo di un pulsante dell'app aumenta correttamente il numero di clic sui pulsanti.Create an experiment in the project to test whether changing the background color of the app button successfully increases the number of button clicks.
  • Esegui l'app per raccogliere dati dell'esperimento.Run the app to gather experiment data.
  • Esaminare i risultati dell'esperimento in centro per i partner, scegliere una variante da abilitare per tutti gli utenti dell'app e completare l'esperimento.Review the experiment results in Partner Center, choose a variation to enable for all users of the app, and complete the experiment.

Per una panoramica dei test A/B con il centro per i partner, vedere eseguire esperimenti di app con test a/b.For an overview of A/B testing with Partner Center, see Run app experiments with A/B testing.

PrerequisitiPrerequisites

Per seguire questa procedura dettagliata, è necessario disporre di un account del centro per i partner ed è necessario configurare il computer di sviluppo come descritto in eseguire esperimenti di app con test a/B.To follow this walkthrough, you must have a Partner Center account and you must configure your development computer as described in Run app experiments with A/B testing.

Creare un progetto con variabili remote nel centro per i partnerCreate a project with remote variables in Partner Center

  1. Accedere al Centro per i partner.Sign in to Partner Center.
  2. Se si dispone già di un'app nel centro per i partner che si vuole usare per creare un esperimento, selezionare tale app nel centro per i partner.If you already have an app in Partner Center that you want to use to create an experiment, select that app in Partner Center. Se non si dispone ancora di un'app nel centro per i partner, creare una nuova app riservando un nome e quindi selezionare l'app nel centro per i partner.If you do not yet have an app in Partner Center, create a new app by reserving a name and then select that app in Partner Center.
  3. Nel riquadro di spostamento fai clic su Servizi e quindi su Sperimentazione.In the navigation pane, click Services and then click Experimentation.
  4. Nella sezione Progetti della pagina successiva fai clic sul pulsante Nuovo progetto.In the Projects section of the next page, click the New project button.
  5. Nella pagina Nuovo progetto immetti il nome Button Click Experiments per il nuovo progetto.In the New project page, enter the name Button Click Experiments for your new project.
  6. Espandi la sezione Variabili remote e fai clic su Aggiungi variabile quattro volte.Expand the Remote variables section and click Add variable four times. Ora dovresti avere quattro righe di variabile vuote.You should now have four empty variable rows.
  • Nella prima riga digita buttonText come nome della variabile e Grey Button nella colonna Valore predefinito.In the first row, type buttonText for the variable name and type Grey Button in the Default value column.
  • Nella seconda riga digita r come nome della variabile e 128 nella colonna Valore predefinito.In the second row, type r for the variable name and type 128 in the Default value column.
  • Nella terza riga digita g come nome della variabile e 128 nella colonna Valore predefinito.In the third row, type g for the variable name and type 128 in the Default value column.
  • Nella quarta riga digita b come nome della variabile e 128 nella colonna Valore predefinito.In the fourth row, type b for the variable name and type 128 in the Default value column.
  1. Fai clic su Salva e prendi nota del valore ID progetto che viene visualizzato nella sezione Integrazione con l'SDK.Click Save and make note of the project ID value that appears in the SDK integration section. Nella prossima sezione aggiornerai il codice dell'app e farai riferimento a questo valore nel codice.In the next section, you will update your app code and reference this value in your code.

Codificare l'esperimento nell'appCode the experiment in your app

  1. In Visual Studio creare un nuovo progetto piattaforma UWP (Universal Windows Platform) usando Visual C#.In Visual Studio, create a new Universal Windows Platform project using Visual C#. Assegna il nome SampleExperiment al progetto.Name the project SampleExperiment.

  2. In Esplora soluzioni espandi il nodo del progetto, fai clic con il pulsante destro del mouse su Riferimenti e scegli Aggiungi riferimento.In Solution Explorer, expand your project node, right-click References, and click Add Reference.

  3. In Gestione riferimenti espandi Windows universale e fai clic su Estensioni.In Reference Manager, expand Universal Windows and click Extensions.

  4. Nell'elenco degli SDK seleziona la casella di controllo accanto a Microsoft Engagement Framework e fai clic su OK.In the list of SDKs, select the check box next to Microsoft Engagement Framework and click OK.

  5. In Esplora soluzioni fai doppio clic su MainPage.xaml per aprire la finestra di progettazione per la pagina principale nell'app.In Solution Explorer, double-click MainPage.xaml to open the designer for the main page in the app.

  6. Trascina un controllo Button dalla Casella degli strumenti nella pagina.Drag a Button from Toolbox to the page.

  7. Fai doppio clic sul pulsante nella finestra di progettazione per aprire il file di codice e aggiungere un gestore eventi per l'evento Click.Double-click the button on the designer to open the code file and add an event handler for the Click event.

  8. Sostituisci l'intero contenuto del file di codice con il codice seguente.Replace the entire contents of the code file with the following code. Assegnare la projectId variabile al valore ID progetto ottenuto dal centro per i partner nella sezione precedente.Assign the projectId variable to the project ID value that you obtained from Partner Center in the previous section.

    using System;
    using Windows.UI.Xaml;
    using Windows.UI.Xaml.Controls;
    using Windows.UI.Xaml.Media;
    using System.Threading.Tasks;
    using Windows.UI;
    using Windows.UI.Core;
    
    // Namespace for A/B testing.
    using Microsoft.Services.Store.Engagement;
    
    namespace SampleExperiment
    {
        public sealed partial class MainPage : Page
        {
            private StoreServicesExperimentVariation variation;
            private StoreServicesCustomEventLogger logger;
    
            // Assign this variable to the project ID for your experiment from Dev Center.
            private string projectId = "";
    
            public MainPage()
            {
                this.InitializeComponent();
    
                // Because this call is not awaited, execution of the current method
                // continues before the call is completed.
    #pragma warning disable CS4014
                InitializeExperiment();
    #pragma warning restore CS4014
            }
    
            private async Task InitializeExperiment()
            {
                // Get the current cached variation assignment for the experiment.
                var result = await StoreServicesExperimentVariation.GetCachedVariationAsync(projectId);
                variation = result.ExperimentVariation;
    
                // Check whether the cached variation assignment needs to be refreshed.
                // If so, then refresh it.
                if (result.ErrorCode != StoreServicesEngagementErrorCode.None || result.ExperimentVariation.IsStale)
                {
                    result = await StoreServicesExperimentVariation.GetRefreshedVariationAsync(projectId);
    
                    // If the call succeeds, use the new result. Otherwise, use the cached value.
                    if (result.ErrorCode == StoreServicesEngagementErrorCode.None)
                    {
                        variation = result.ExperimentVariation;
                    }
                }
    
                // Get remote variables named "buttonText", "r", "g", and "b" from the variation
                // assignment. If no variation assignment is available, the variables default
                // to "Grey button" for the button text and grey RGB value for the button color.
                var buttonText = variation.GetString("buttonText", "Grey Button");
                var r = (byte)variation.GetInt32("r", 128);
                var g = (byte)variation.GetInt32("g", 128);
                var b = (byte)variation.GetInt32("b", 128);
    
                // Assign button text and color.
                await button.Dispatcher.RunAsync(
                    CoreDispatcherPriority.Normal,
                    () =>
                    {
                        button.Background = new SolidColorBrush(Color.FromArgb(255, r, g, b));
                        button.Content = buttonText;
                        button.Visibility = Visibility.Visible;
                    });
    
                // Log the view event named "userViewedButton" to Dev Center.
                if (logger == null)
                {
                    logger = StoreServicesCustomEventLogger.GetDefault();
                }
    
                logger.LogForVariation(variation, "userViewedButton");
            }
    
            private void button_Click(object sender, RoutedEventArgs e)
            {
                // Log the conversion event named "userClickedButton" to Dev Center.
                if (logger == null)
                {
                    logger = StoreServicesCustomEventLogger.GetDefault();
                }
    
                logger.LogForVariation(variation, "userClickedButton");
            }
        }
    }
    
  9. Salva il file di codice e compila il progetto.Save the code file and build the project.

Creare l'esperimento nel centro per i partnerCreate the experiment in Partner Center

  1. Tornare alla pagina del progetto esperimenti clic sul pulsante nel centro per i partner.Return to the Button Click Experiments project page in Partner Center.
  2. Nella sezione Esperimenti fai clic sul pulsante Nuovo esperimento.In the Experiments section, click the New experiment button.
  3. Nella sezione Dettagli esperimento digita il nome Optimize Button Clicks nel campo Nome esperimento.In the Experiment details section, type the name Optimize Button Clicks in the Experiment name field.
  4. Nella sezione Evento di visualizzazione digita userViewedButton nel campo Nome dell'evento di visualizzazione.In the View event section, type userViewedButton in the View event name field. Nota che questo nome corrisponde alla stringa dell'evento di visualizzazione che hai registrato nel codice aggiunto nella sezione precedente.Note that this name matches the view event string that you logged in the code you added in the previous section.
  5. Nella sezione Obiettivi ed eventi di conversione immetti i valori seguenti:In the Goals and conversion events section, enter the following values:
  • Nel campo Nome obiettivo digita Increase Button Clicks.In the Goal name field, type Increase Button Clicks.
  • Nel campo Nome evento conversione digita il nome userClickedButton.In the Conversion event name field, type the name userClickedButton. Nota che questo nome corrisponde alla stringa dell'evento di conversione che hai registrato nel codice aggiunto nella sezione precedente.Note that this name matches the conversion event string that you logged in the code you added in the previous section.
  • Nel campo Obiettivo scegli Aumento.In the Objective field, choose Maximize.
  1. Nella sezione Varianti e varabili remote verifica che la casella di controllo Distribuisci equamente sia selezionata affinché le varianti vengano distribuite equamente nell'app.In the Remote variables and variations section, confirm that the Distribute equally check box is selected so that the variations will be distributed equally to your app.
  2. Aggiungi le variabili all'esperimento:Add variables to your experiment:
    1. Fai clic sul controllo a discesa, scegli buttonText e fai clic su Aggiungi variabile.Click the drop-down control, choose buttonText, and click Add variable. La stringa Grey Button verrà visualizzata automaticamente nella colonna Variante A. Questo valore deriva dalle impostazioni del progetto.The string Grey Button should automatically appear in the Variation A column (this value is derived from the project settings). Nella colonna Variante B digita Blue Button.In the Variation B column, type Blue Button.
    2. Fai ancora clic sul controllo a discesa, scegli r e fai clic su Aggiungi variabile.Click the drop-down control again, choose r, and click Add variable. La stringa 128 dovrebbe essere visualizzata automaticamente nella colonna Variante A.The string 128 should automatically appear in the Variation A column. Nella colonna Variante B digita 1.In the Variation B column, type 1.
    3. Fai ancora clic sul controllo a discesa, scegli g e fai clic su Aggiungi variabile.Click the drop-down control again, choose g, and click Add variable. La stringa 128 dovrebbe essere visualizzata automaticamente nella colonna Variante A.The string 128 should automatically appear in the Variation A column. Nella colonna Variante B digita 1.In the Variation B column, type 1.
    4. Fai ancora clic sul controllo a discesa, scegli b e fai clic su Aggiungi variabile.Click the drop-down control again, choose b, and click Add variable. La stringa 128 dovrebbe essere visualizzata automaticamente nella colonna Variante A.The string 128 should automatically appear in the Variation A column. Nella colonna Variante B digita 255.In the Variation B column, type 255.
  3. Fai clic su Salva e quindi su Attiva.Click Save and then click Activate.

Importante

Dopo aver attivato un esperimento, non è più possibile modificare i parametri dell'esperimento, a meno che non si sia fatto clic sulla casella di controllo esperimento modificabile quando è stato creato l'esperimento.After you activate an experiment, you can no longer modify the experiment parameters unless it you clicked the Editable experiment check box when you created the experiment. In generale consigliamo di aggiungere il codice per l'esperimento nella tua app prima di attivare l'esperimento.Typically, we recommend that you code the experiment in your app before activating your experiment.

Eseguire l'app per raccogliere dati dell'esperimentoRun the app to gather experiment data

  1. Esegui l'app SampleExperiment creata prima.Run the SampleExperiment app you created earlier.
  2. Verifica che sia visualizzato un pulsante grigio o blu.Confirm that you see either a grey or blue button. Fai clic sul pulsante e quindi chiudi l'app.Click the button and then close the app.
  3. Ripeti i passaggi precedenti più volte nello stesso computer per assicurarti che nell'app sia visualizzato lo stesso colore del pulsante.Repeat the above steps several times on the same computer to confirm that your app shows the same button color.

Esaminare i risultati e completare l'esperimentoReview the results and complete the experiment

Attendi diverse ore dopo aver completato la sezione precedente e quindi esegui questa procedura per esaminare i risultati del tuo esperimento e completarlo.Wait at least several hours after completing the previous section, and then follow these steps to review the results of your experiment and complete the experiment.

Nota

Non appena si attiva un esperimento, il centro per i partner avvia immediatamente la raccolta dei dati da qualsiasi app instrumentata per registrare i dati per l'esperimento.As soon as you activate an experiment, Partner Center immediately starts collecting data from any apps that are instrumented to log data for your experiment. Tuttavia, possono essere necessarie diverse ore per visualizzare i dati degli esperimenti nel centro per i partner.However, it can take several hours for experiment data to appear in Partner Center.

  1. Nel centro per i partner tornare alla pagina sperimentazione per l'app.In Partner Center, return to the Experimentation page for your app.

  2. Nella sezione Esperimenti attivi fai clic su Optimize Button Clicks per passare alla pagina dell'esperimento.In the Active experiments section, click Optimize Button Clicks to go to the page for this experiment.

  3. Verifica che i risultati nelle sezioni Riepilogo dei risultati e Dettagli dei risultati corrispondano a quando previsto.Confirm that the results shown in the Results summary and Results details sections matches what you expect to see. Per altri dettagli su queste sezioni, vedere gestire l'esperimento nel centro per i partner.For more details about these sections, see Manage your experiment in Partner Center.

    Nota

    Il centro per i partner segnala solo il primo evento di conversione per ogni utente in un periodo di tempo di 24 ore.Partner Center reports only the first conversion event for each user in a 24-hour time period. Se un utente attiva più eventi di conversione nella tua app entro il periodo di 24 ore, i risultati includeranno solo il primo.If a user triggers multiple conversion events in your app within a 24-hour period, only the first conversion event is reported. Lo scopo è evitare che un singolo utente con molti eventi di conversione alteri i risultati dell'esperimento per un gruppo campione di utenti.This is intended to help prevent a single user with many conversion events from skewing the experiment results for a sample group of users.

  4. A questo punto puoi terminare l'esperimento.Now you are ready to end the experiment. Nella sezione Riepilogo dei risultati, nella colonna Variante B, fai clic su Trasferisci.In the Results summary section, in the Variation B column, click Switch. In questo modo verrà scelta la variante con il pulsante blu per tutti gli utenti della tua app.This switches all users of your app to the blue button.

  5. Fai clic su OK per confermare che vuoi concludere l'esperimento.Click OK to confirm that you want to end the experiment.

  6. Esegui l'app SampleExperiment creata nella sezione precedente.Run the SampleExperiment app you created in the previous section.

  7. Verifica che sia presente un pulsante blu.Confirm that you see a blue button. Tieni presente che potrebbero essere necessari fino a due minuti perché la tua app riceva un'assegnazione di variante aggiornata.Note that it may take up to two minutes for your app to receive an updated variation assignment.