Condividi tramite


Acquisti in-app e versioni di valutazione

Windows SDK fornisce API che puoi usare per implementare le funzionalità seguenti per ottenere più denaro dalla tua app UWP (Universal Windows Platform):

  • acquisti in-app Che la tua app sia gratuita o meno, puoi vendere contenuti o nuove funzionalità dell'app (ad esempio sbloccare il livello successivo di un gioco) direttamente all'interno dell'app.

  • funzionalità versione di valutazione Se si configurare l'app come versione di valutazione gratuita nel Centro per i partner, è possibile autorizzare i clienti ad acquistare la versione completa dell'app escludendo o limitando alcune funzionalità durante il periodo di valutazione. È anche possibile abilitare funzionalità, ad esempio banner o filigrane, visualizzate solo durante la versione di valutazione, prima che un cliente acquisti l'app.

Questo articolo offre una panoramica del funzionamento degli acquisti in-app e delle versioni di valutazione nelle app UWP.

Scegli lo spazio dei nomi da usare

Esistono due spazi dei nomi che puoi utilizzare per aggiungere acquisti in-app e funzionalità di prova alle tue app UWP, a seconda della versione di Windows 10 o Windows 11 a cui puntano le tue app. Anche se le API in questi spazi dei nomi servono gli stessi obiettivi, sono progettate in modo diverso e il codice non è compatibile tra le due API.

  • Windows.Services.Store A partire da Windows 10 versione 1607, le app possono usare l'API in questo namespace per implementare acquisti in-app e prove. Ti consigliamo di usare i membri in questo spazio dei nomi se il progetto dell'app è destinato Windows 10 Anniversary Edition (10.0; Build 14393) o versione successiva in Visual Studio. Questo spazio dei nomi supporta i tipi di componenti aggiuntivi più recenti, ad esempio i componenti aggiuntivi di consumo gestiti dallo Store, ed è progettato per essere compatibile con i tipi futuri di prodotti e funzionalità supportati dal Centro per i partner e dallo Store. Per ulteriori informazioni su questo spazio dei nomi, vedere la sezione acquisti in-app e prove usando lo spazio dei nomi Windows.Services.Store in questo articolo.

  • Windows.ApplicationModel.Store Tutte le versioni di Windows 10 e Windows 11 supportano anche un'API precedente per gli acquisti in-app e le versioni di prova in questo spazio dei nomi. Per informazioni sullo spazio dei nomi Windows.ApplicationModel.Store, vedere Acquisti in-app e versioni di prova usando lo spazio dei nomi Windows.ApplicationModel.Store.

Importante

Lo spazio dei nomi Windows.ApplicationModel.Store non viene più aggiornato con nuove funzionalità e ti consigliamo di usare lo spazio dei nomi Windows.Services.Store, se possibile per la tua app. Lo spazio dei nomi Windows.ApplicationModel.Store non è supportato nelle applicazioni desktop di Windows che usano il Desktop Bridge o nelle app o nei giochi che usano una sandbox di sviluppo nel Partner Center (ad esempio, questo è il caso di qualsiasi gioco che si integra con Xbox Live).

Concetti di base

Ogni articolo offerto nello Store è in genere denominato prodotto . La maggior parte degli sviluppatori usa solo i tipi di prodotti seguenti: app e componenti aggiuntivi.

Un componente aggiuntivo è un prodotto o una funzionalità che rendi disponibile ai tuoi clienti nel contesto della tua app: ad esempio, valuta da usare in un'app o in un gioco, nuove mappe o armi per un gioco, la possibilità di usare la tua app senza annunci o contenuti digitali come musica o video per le app che hanno la possibilità di offrire quel tipo di contenuto. Ogni app e componente aggiuntivo hanno una licenza associata che indica se l'utente ha diritto a usare l'app o il componente aggiuntivo. Se l'utente ha diritto a usare l'app o il componente aggiuntivo come versione di valutazione, la licenza fornisce anche informazioni aggiuntive sulla versione di valutazione.

Per offrire un componente aggiuntivo ai clienti nella tua app, devi definire il componente aggiuntivo per la tua app nel Centro per i partner in modo che lo Store lo sappia. L'app può quindi usare le API nello spazio dei nomi Windows.Services.Store o Windows.ApplicationModel.Store per mettere in vendita il componente aggiuntivo all'utente come acquisto in-app.

Le app UWP possono offrire i tipi di componenti aggiuntivi seguenti.

Tipo di componente aggiuntivo Descrizione
Durevole Un componente aggiuntivo che persiste per la durata specificata nel Centro per i Partner.

Per impostazione predefinita, i componenti aggiuntivi durevoli non scadono mai, nel qual caso possono essere acquistati una sola volta. Se si specifica una determinata durata per il componente aggiuntivo, l'utente può riacquistare il componente aggiuntivo dopo la scadenza.
Componente di consumo gestito dallo sviluppatore Componente aggiuntivo che può essere acquistato, usato e quindi acquistato di nuovo dopo l'utilizzo. L'utente è responsabile di tenere traccia del saldo degli elementi rappresentati dal componente aggiuntivo.

Quando l'utente consuma qualsiasi elemento associato al componente aggiuntivo, sei responsabile di mantenere il saldo dell'utente e di segnalare l'acquisto del componente aggiuntivo come completato allo Store dopo che tutti gli elementi sono stati consumati. L'utente non può acquistare di nuovo il componente aggiuntivo finché l'app non ha segnalato l'acquisto del componente aggiuntivo precedente come evaso.

Ad esempio, se il componente aggiuntivo rappresenta 100 monete in un gioco e l'utente utilizza 10 monete, l'app o il servizio deve mantenere il nuovo saldo rimanente di 90 monete per l'utente. Dopo che l'utente ha consumato tutte le 100 monete, l'app deve segnalare il componente aggiuntivo come evaso e quindi l'utente può acquistare nuovamente il componente aggiuntivo di 100 monete.
Consumo gestito dallo Store Componente aggiuntivo che può essere acquistato, usato e acquistato nuovamente in qualsiasi momento. Lo Store tiene traccia del saldo degli elementi dell'utente gestiti dal componente aggiuntivo.

Quando l'utente consuma qualsiasi elemento associato al componente aggiuntivo, sei responsabile di segnalare tali elementi come evasi allo Store, e lo Store aggiorna il saldo dell'utente. L'utente può acquistare il componente aggiuntivo tutte le volte desiderato (non è necessario utilizzare prima gli elementi). L'app può interrogare il saldo corrente dell'utente in qualsiasi momento.

Ad esempio, se il componente aggiuntivo rappresenta una quantità iniziale di 100 monete in un gioco e l'utente utilizza 50 monete, l'app segnala allo Store che sono state soddisfatte 50 unità del componente aggiuntivo e lo Store aggiorna il saldo rimanente. Se l'utente riacquista quindi il componente aggiuntivo per acquisire 100 monete, ora avranno 150 monete totali.

Nota Per usare i componenti di consumo gestiti dallo Store, l'app deve essere destinata a Windows 10 Anniversary Edition (10.0; Build 14393) o a una versione successiva in Visual Studio, e deve usare lo spazio dei nomi Windows.Services.Store anziché lo spazio dei nomi Windows.ApplicationModel.Store.
Abbonamento Componente aggiuntivo durevole in cui il cliente continua a essere addebitato a intervalli ricorrenti per continuare a usare il componente aggiuntivo. Il cliente può annullare la sottoscrizione in qualsiasi momento per evitare ulteriori addebiti.

Nota Per usare i componenti aggiuntivi di sottoscrizione, l'app deve avere come destinazione Edizione dell'anniversario di Windows 10 (10.0; Build 14393) o una versione successiva in Visual Studio e deve usare lo spazio dei nomi Windows.Services.Store anziché lo spazio dei nomi Windows.ApplicationModel.Store.

Annotazioni

Altri tipi di componenti aggiuntivi, ad esempio componenti aggiuntivi durevoli con pacchetti (noti anche come contenuti scaricabili o DLC) sono disponibili solo per un set limitato di sviluppatori e non sono trattati in questa documentazione.

Acquisti in-app e prove gratuite utilizzando lo spazio dei nomi Windows.Services.Store

Questa sezione offre una panoramica delle attività e dei concetti importanti per lo spazio dei nomi Windows.Services.Store. Questo spazio dei nomi è disponibile solo per le app destinate a Windows 10 Anniversary Edition (10.0; Build 14393) o a una versione successiva rilasciata in Visual Studio (corrisponde a Windows 10, versione 1607). È consigliabile che le app usino lo spazio dei nomi Windows.Services.Store anziché lo spazio dei nomi Windows.ApplicationModel.Store, se possibile. Per informazioni sullo spazio dei nomi Windows.ApplicationModel.Store, vedere questo articolo.

In questa sezione

Introduzione alla classe StoreContext

Il punto di ingresso principale dello spazio dei nomi Windows.Services.Store è la classe StoreContext. Questa classe fornisce metodi che puoi usare per ottenere informazioni per l'app corrente e i relativi componenti aggiuntivi disponibili, ottenere informazioni sulla licenza per l'app corrente o i relativi componenti aggiuntivi, acquistare un'app o un componente aggiuntivo per l'utente corrente ed eseguire altre attività. Per ottenere un oggetto StoreContext, eseguire una delle operazioni seguenti:

  • In un'app a utente singolo,ovvero un'app che viene eseguita solo nel contesto dell'utente che ha avviato l'app, usa il metodo statico GetDefault per ottenere un oggetto StoreContext che puoi usare per accedere ai dati correlati a Microsoft Store per l'utente. La maggior parte delle app UWP (Universal Windows Platform) sono app a utente singolo.

    Windows.Services.Store.StoreContext context = StoreContext.GetDefault();
    
  • In un'applicazione multiutente , usa il metodo statico GetForUser per ottenere un oggetto StoreContext che puoi usare per accedere ai dati relativi a Microsoft Store per un utente specifico che ha effettuato l'accesso con il proprio account Microsoft mentre utilizza l'app. L'esempio seguente ottiene un oggetto StoreContext per il primo utente disponibile.

    var users = await Windows.System.User.FindAllAsync();
    Windows.Services.Store.StoreContext context = StoreContext.GetForUser(users[0]);
    

Annotazioni

Le applicazioni desktop di Windows che usano Desktop Bridge devono eseguire passaggi aggiuntivi per configurare l'oggetto StoreContext prima di poter utilizzare questo oggetto. Per altre informazioni, vedere questa sezione.

Dopo aver creato un oggetto StoreContext, puoi iniziare a chiamare i metodi di questo oggetto per ottenere informazioni sul prodotto dello Store per l'app corrente e i relativi componenti aggiuntivi, recuperare le informazioni sulla licenza per l'app corrente e i relativi componenti aggiuntivi, acquistare un'app o un componente aggiuntivo per l'utente corrente ed eseguire altre attività. Per altre informazioni sulle attività comuni che è possibile eseguire con questo oggetto, vedere gli articoli seguenti:

Per un'applicazione di esempio che dimostra come utilizzare StoreContext e altri tipi nello spazio dei nomi Windows.Services.Store, consulta l'esempio di Store.

Implementare acquisti in-app

Per offrire un acquisto in-app ai clienti della tua app usando lo spazio dei nomi Windows.Services.Store:

  1. Se l'app offre componenti aggiuntivi che i clienti possono acquistare, crea sottomissioni dei componenti aggiuntivi per la tua app nel Partner Center .

  2. Scrivere codice nella tua app per recuperare informazioni sul prodotto per la tua app o un componente aggiuntivo offerto dalla tua app e quindi determinare se la licenza è attiva (ovvero se l'utente ha una licenza per usare l'app o il componente aggiuntivo). Se la licenza non è attiva, visualizzare un'interfaccia utente che offre in vendita l'app o il componente aggiuntivo all'utente tramite acquisto in-app.

  3. Se l'utente sceglie di acquistare l'app o il componente aggiuntivo, usa il metodo appropriato per acquistare il prodotto:

  4. Testare l'implementazione seguendo le linee guida per i test in questo articolo.

Implementare la funzionalità di valutazione

Per escludere o limitare le funzionalità in una versione di valutazione della tua app usando lo spazio dei nomi Windows.Services.Store:

  1. Configura l'app come prova gratuita in Partner Center.

  2. Scrivi codice nella tua app per recuperare le informazioni sul prodotto della tua app o un add-on offerto dalla tua app e quindi determinare se la licenza associata all'app è una licenza di valutazione.

  3. Escludere o limitare determinate funzionalità nell'app se si tratta di una versione di valutazione e quindi abilitare le funzionalità quando l'utente acquista una licenza completa. Per ulteriori informazioni e un esempio di codice, vedere Implementare una versione di valutazione della tua app.

  4. Testare l'implementazione seguendo le linee guida per i test in questo articolo.

Testare l'implementazione dell'acquisto o della versione di valutazione in-app

Se l'app usa le API nello spazio dei nomi Windows.Services.Store per implementare la funzionalità di acquisto in-app o la versione di prova, devi pubblicare l'app sullo Store e scaricarla sul dispositivo di sviluppo per effettuare i test. Seguire questo processo per testare il codice:

  1. Se la tua app non è ancora pubblicata e disponibile nello Store, assicurati che la tua app soddisfi i requisiti minimi kit di certificazione app Windows, inviare la tua app nel Centro per i partner e assicurarsi che l'app superi il processo di certificazione. È possibile configurare l'app in modo che non sia individuabile nello Store mentre la testi. Si noti la configurazione corretta dei voli del pacchetto . I pacchetti configurati in modo non corretto potrebbero non riuscire a essere scaricati.

  2. Assicurarsi quindi di aver completato quanto segue:

  3. Con il progetto aperto in Visual Studio, fare clic sul menu Progetto , scegliere Storee quindi fare clic su Associa App allo Store. Completare le istruzioni della procedura guidata per associare il progetto dell'app all'app nell'account del Centro per i partner da usare per i test.

    Annotazioni

    Se non si associa il progetto a un'app nel Microsoft Store, i metodi StoreContext impostano la proprietà ExtendedError dei valori restituiti al valore del codice di errore 0x803F6107. Questo valore indica che lo Store non ha alcuna conoscenza dell'app.

  4. Se non è già stato fatto, installare l'app dallo Store specificato nel passaggio precedente, eseguire l'app una sola volta e quindi chiudere l'app. In questo modo viene garantita l'installazione di una licenza valida per l'app nel dispositivo di sviluppo.

  5. In Visual Studio avviare l'esecuzione o il debug del progetto. Il codice deve recuperare i dati dell'app e del componente aggiuntivo dall'app Store associata al progetto locale. Se viene richiesto di reinstallare l'app, seguire le istruzioni e quindi avviare o effettuare il debug del progetto.

    Annotazioni

    Dopo aver completato questi passaggi, è possibile continuare ad aggiornare il codice dell'app e quindi eseguire il debug del progetto aggiornato nel computer di sviluppo senza inviare nuovi pacchetti di app allo Store. Devi solo scaricare la versione dello Store della tua app nel computer di sviluppo una sola volta per ottenere la licenza locale che verrà usata per i test. Devi inviare nuovi pacchetti di app allo Store solo dopo aver completato il test e vuoi rendere disponibili ai tuoi clienti le funzionalità correlate all'acquisto in-app o alla versione di valutazione nella tua app.

Se l'app usa lo spazio dei nomi Windows.ApplicationModel.Store, puoi usare la classe CurrentAppSimulator nell'app per simulare le informazioni sulla licenza durante i test prima di inviare l'app allo Store. Per altre informazioni, vedere Introduzione alle classi CurrentApp e CurrentAppSimulator.

Annotazioni

Lo spazio dei nomi Windows.Services.Store non fornisce una classe che è possibile usare per simulare le informazioni sulla licenza durante i test. Se usi lo spazio dei nomi Windows.Services.Store per implementare acquisti o prove in-app, devi pubblicare l'app nello Store e scaricare l'app sul dispositivo di sviluppo per usare la licenza per i test come descritto sopra.

Ricevute per gli acquisti in-app

Lo spazio dei nomi Windows.Services.Store non fornisce un'API che puoi usare per ottenere una ricevuta di transazione per gli acquisti riusciti nel codice dell'app. Si tratta di un'esperienza diversa rispetto alle app che usano lo spazio dei nomi Windows.ApplicationModel.Store, che può usare un'API lato client per recuperare una ricevuta di transazione.

Se implementi acquisti in-app usando lo spazio dei nomi Windows.Services.Store e vuoi convalidare se un determinato cliente ha acquistato un'app o un componente aggiuntivo, puoi usare la query per il metodo di prodotti nell'API REST della raccolta di Microsoft Store . I dati restituiti per questo metodo confermano se il cliente specificato ha diritto a un determinato prodotto e fornisce i dati per la transazione in cui l'utente ha acquisito il prodotto. L'API di raccolta di Microsoft Store usa l'autenticazione di Azure AD per recuperare queste informazioni.

Uso della classe StoreContext con Desktop Bridge

Le applicazioni desktop che usano il Desktop Bridge possono usare la classe StoreContext per implementare acquisti in-app e prove. Tuttavia, se si dispone di un'applicazione desktop Win32 o di un'applicazione desktop con un handle di finestra (HWND) associato al framework di rendering (ad esempio un'applicazione WPF o Windows App SDK), l'applicazione deve configurare l'oggetto StoreContext per specificare quale finestra dell'applicazione è la finestra proprietario per le finestre di dialogo modali visualizzate dall'oggetto.

Molti StoreContext membri (e membri di altri tipi correlati a cui si accede tramite l'oggetto StoreContext) visualizzano una finestra di dialogo modale all'utente per operazioni correlate allo Store, ad esempio l'acquisto di un prodotto. Se un'applicazione desktop non configura l'oggetto StoreContext per specificare la finestra di proprietario per le finestre di dialogo modali, questo oggetto restituirà dati o errori non accurati.

Per configurare un oggetto StoreContext in un'applicazione desktop che usa Desktop Bridge, seguire questa procedura.

Per .NET 6 o versione successiva

Se l'applicazione è scritta in C# con .NET 6 o versione successiva, seguire questa procedura.

  1. Assicurarsi che la proprietà nel file di progetto sia impostata su una versione specifica di Windows SDK per accedere alle API di Windows Runtime, che fornisce l'accesso allo spazio dei nomi WinRT.Interop . Per esempio:

    <PropertyGroup>
      <!-- You can also target other versions of the Windows SDK and .NET, e.g. "net6.0-windows10.0.19041.0" -->
      <TargetFramework>net6.0-windows10.0.22000.0</TargetFramework>
    </PropertyGroup>
    
  2. Ottenere un oggetto StoreContext usando il metodo GetDefault (o GetForUser se l'app è un'app multiutente ) come descritto in precedenza in questo articolo. Per inizializzare la finestra di dialogo con l'handle di finestra specificato, utilizzare i metodi WinRT.Interop.WindowNative.GetWindowHandle e WinRT.Interop.InitializeWithWindow.Initialize (vedere Recuperare un handle di finestra (HWND) e Visualizzare gli oggetti dell'interfaccia utente WinRT che dipendono da CoreWindow).

    StoreContext context = StoreContext.GetDefault();
    // Obtain window handle by passing in pointer to the window object
    var hwnd = WinRT.Interop.WindowNative.GetWindowHandle(windowObject);
    // Initialize the dialog using wrapper function for IInitializeWithWindow
    WinRT.Interop.InitializeWithWindow.Initialize(context, hwnd); 
    

Per le versioni precedenti di .NET o C++

Se l'applicazione viene scritta con una versione precedente di .NET o in C++, seguire questa procedura.

  1. Eseguire una delle operazioni seguenti per consentire all'app di accedere all'interfaccia IInitializeWithWindow:

    • Se l'applicazione viene scritta in un linguaggio gestito, ad esempio C# o Visual Basic (prima di .NET 6), dichiarare l'interfaccia IInitializeWithWindow nel codice dell'app con l'attributo ComImport come illustrato nell'esempio C# seguente. In questo esempio si presuppone che il file di codice abbia un usando istruzione per lo spazio dei nomi System.Runtime.InteropServices .

      [ComImport]
      [Guid("3E68D4BD-7135-4D10-8018-9FB6D9F33FA1")]
      [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
      public interface IInitializeWithWindow
      {
          void Initialize(IntPtr hwnd);
      }
      
    • Se l'applicazione è scritta in C++, aggiungere un riferimento al file di intestazione shobjidl.h nel codice. Questo file di intestazione contiene la dichiarazione dell'interfaccia IInitializeWithWindow.

  2. Ottenere un oggetto StoreContext usando il metodo GetDefault (o GetForUser se l'applicazione è un'applicazione multiutente ) come descritto in precedenza in questo articolo, e convertire questo oggetto in un oggetto IInitializeWithWindow. Chiamare quindi il metodo IInitializeWithWindow.Initialize e passare l'handle della finestra che si desidera diventi il proprietario per qualsiasi finestra modale visualizzata dai metodi di StoreContext. L'esempio C# seguente mostra come passare l'handle della finestra principale della tua app al metodo. Vedi anche Recupera un handle di finestra (HWND) e Visualizzare oggetti dell'interfaccia utente WinRT che dipendono da CoreWindow.

    StoreContext context = StoreContext.GetDefault();
    IInitializeWithWindow initWindow = (IInitializeWithWindow)(object)context;
    initWindow.Initialize(System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle);
    

Prodotti, SKU e disponibilità

Ogni prodotto nello Store ha almeno uno SKU , e ogni SKU ha almeno una disponibilità . Questi concetti non sono visibili alla maggior parte degli sviluppatori nel Centro per i Partner, e la maggior parte degli sviluppatori non si troveranno mai a dover definire SKU o disponibilità per le loro app o componenti aggiuntivi. Tuttavia, poiché il modello a oggetti per i prodotti Store nello spazio dei nomi Windows.Services.Store include SKU e disponibilità, una conoscenza di base di questi concetti può essere utile per alcuni scenari.

Oggetto Descrizione
Prodotto Un prodotto si riferisce a qualsiasi tipo di prodotto disponibile nello Store, incluso un’app o un componente aggiuntivo.

Ogni prodotto nello Store ha un oggetto StoreProduct corrispondente. Questa classe fornisce proprietà che è possibile usare per accedere ai dati, ad esempio l'ID dello Store del prodotto, le immagini e i video per la presentazione nello Store e le informazioni sui prezzi. Fornisce anche metodi che è possibile utilizzare per acquistare il prodotto.
Codice articolo (SKU) Uno SKU è una versione specifica di un prodotto con una descrizione, un prezzo e altri dettagli di prodotto univoci. Ogni app o componente aggiuntivo ha uno SKU predefinito. L'unica volta che la maggior parte degli sviluppatori avrà più SKU per un'app è se pubblica una versione completa dell'app e una versione di valutazione (nel catalogo dello Store, ognuna di queste versioni è uno SKU diverso della stessa app).

Alcuni editori hanno la possibilità di definire i propri SKU. Ad esempio, un grande editore di giochi potrebbe rilasciare un gioco con uno SKU che mostra sangue verde nei mercati che non consentono il sangue rosso e uno SKU diverso che mostra il sangue rosso in tutti gli altri mercati. In alternativa, un editore che vende contenuto video digitale potrebbe pubblicare due SKU per un video, uno SKU per la versione ad alta definizione e uno SKU diverso per la versione di definizione standard.

Ogni SKU nello Store ha un corrispondente oggetto StoreSku. Ogni StoreProduct ha una proprietà Skus che puoi usare per accedere agli SKU del prodotto.
Disponibilità Una disponibilità è una versione specifica di uno SKU con informazioni sui prezzi proprie. Ogni SKU ha una disponibilità predefinita. Alcuni editori hanno la possibilità di definire le proprie disponibilità per introdurre diverse opzioni di prezzo per uno SKU specifico.

Ogni disponibilità nello Store ha un oggetto StoreAvailability corrispondente. Ogni StoreSku dispone di una proprietà disponibilità che puoi usare per accedere alle disponibilità per lo SKU. Per la maggior parte degli sviluppatori, ogni SKU ha una singola disponibilità predefinita.

Identificativi del negozio

Ogni app, componente aggiuntivo o altro prodotto nello Store ha associato un ID dello Store (detto anche ID dello Store ). Molte API richiedono l'ID dello Store per eseguire un'operazione su un'app o su un componente aggiuntivo.

L'ID dello Store di qualsiasi prodotto nello Store è una stringa alfanumerico di 12 caratteri, ad esempio 9NBLGGH4R315. Esistono diversi modi per ottenere l'ID dello Store per un prodotto nello Store:

  • Per un'app, puoi ottenere l'ID dello Store nella pagina identità dell'app nel Centro per i partner.
  • Per un componente aggiuntivo, puoi ottenere l'ID dello Store nella pagina di panoramica del componente aggiuntivo nel Centro per i partner.
  • Per qualsiasi prodotto, puoi anche ottenere l'ID dello Store a livello di codice usando la proprietà StoreId dell'oggetto StoreProduct che rappresenta il prodotto.

Per i prodotti con SKU e disponibilità, gli SKU e le disponibilità hanno i propri ID del negozio, anch'essi con formati diversi.

Oggetto Formato ID del negozio
Codice articolo (SKU) L'ID dello Store per uno SKU ha il formato <product Store ID>/xxxx, dove xxxx è una stringa alfanumerica di 4 caratteri che identifica uno SKU del prodotto. Ad esempio: 9NBLGGH4R315/000N. Questo ID viene restituito dalla proprietà StoreId di un oggetto StoreSku, ed è talvolta denominato ID dello SKU Store .
Disponibilità L'ID dello Store per una disponibilità ha il formato <product Store ID>/xxxx/yyyyyyyyyyyy, dove xxxx è una stringa alfanumerico a 4 caratteri che identifica uno SKU per il prodotto e yyyyyyyyyyyy è una stringa alfanumerico di 12 caratteri che identifica una disponibilità per lo SKU. Ad esempio: 9NBLGGH4R315/000N/4KW6QZD2VN6X. Questo ID viene restituito dalla proprietà StoreId di un oggetto StoreAvailability e talvolta viene chiamato ID di disponibilità dello Store .

Come usare gli ID prodotto per i componenti aggiuntivi nel codice

Se vuoi rendere disponibile un componente aggiuntivo ai tuoi clienti nel contesto della tua app, devi immettere un ID prodotto univoco per il componente aggiuntivo quando crei la pubblicazione del componente aggiuntivo nel Centro per Partner. Puoi utilizzare questo ID prodotto per fare riferimento al componente aggiuntivo nel tuo codice. Tuttavia, gli scenari specifici in cui l'ID prodotto può essere utilizzato dipendono dallo spazio dei nomi impiegato per gli acquisti in-app nella tua applicazione.

Annotazioni

L'ID prodotto che inserisci nel Centro per i partner per un componente aggiuntivo è diverso dall'ID dello Store del componente aggiuntivo . L'ID dello Store viene generato dal Centro per i partner.

App che usano lo spazio dei nomi Windows.Services.Store

Se l'app usa lo spazio dei nomi Windows.Services.Store, puoi usare l'ID prodotto per identificare facilmente il StoreProduct che rappresenta il componente aggiuntivo o il StoreLicense che rappresenta la licenza del componente aggiuntivo. Le proprietà StoreProduct.InAppOfferToken e StoreLicense.InAppOfferToken rendono disponibili l'ID prodotto.

Annotazioni

Sebbene l'ID prodotto sia un modo utile per identificare un componente aggiuntivo nel codice, la maggior parte delle operazioni nello spazio dei nomi Windows.Services.Store usa l'ID dello Store di un componente aggiuntivo anziché l'ID prodotto. Ad esempio, per recuperare uno o più componenti aggiuntivi noti a livello di codice per un'app, passare gli ID dello Store (anziché gli ID prodotto) dei componenti aggiuntivi al metodo GetStoreProductsAsync. Analogamente, per segnalare un componente aggiuntivo di consumo come evaso, passare l'ID dello Store del componente aggiuntivo (anziché l'ID prodotto) al metodo ReportConsumableFulfillmentAsync.

App che usano lo spazio dei nomi Windows.ApplicationModel.Store

Se l'app usa lo spazio dei nomi Windows.ApplicationModel.Store, dovrai usare l'ID prodotto assegnato a un componente aggiuntivo nel Centro per i partner per la maggior parte delle operazioni. Per esempio: