Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Oavsett om din app är kostnadsfri eller inte kan du sälja innehåll, andra appar eller nya appfunktioner (till exempel att låsa upp nästa nivå av ett spel) direkt i appen. Här visar vi hur du aktiverar dessa produkter i din app.
Viktig
Den här artikeln visar hur du använder medlemmar i Windows.ApplicationModel.Store namnrymd för att aktivera produktinköp i appen. Det här namnområdet uppdateras inte längre med nya funktioner, och vi rekommenderar att du använder Windows.Services.Store namnområdet i stället. Windows.Services.Store-namnområdet stöder de senaste tilläggstyperna, till exempel butikshanterade förbrukningsbara tillägg och prenumerationer, och är utformat för att vara kompatibelt med framtida typer av produkter och funktioner som stöds av Partnercenter och Store. Det Windows.Services.Store namnområdet introducerades i Windows 10 version 1607 och kan endast användas i projekt som är avsedda för Windows 10 Anniversary Edition (10.0; Build 14393) eller en senare version i Visual Studio. Mer information om hur du aktiverar produktinköp i appen med hjälp av Windows.Services.Store-namnområdet finns i den här artikeln.
Not
Produkter i appen kan inte erbjudas från en utvärderingsversion av en app. Kunder som använder en utvärderingsversion av din app kan bara köpa en produkt i appen om de köper en fullständig version av din app.
Förutsättningar
- En Windows-app där du kan lägga till funktioner som kunderna kan köpa.
- När du kodar och testar nya produkter i appen för första gången måste du använda objektet CurrentAppSimulator i stället för objektet CurrentApp. På så sätt kan du verifiera din licenslogik med hjälp av simulerade anrop till licensservern i stället för att anropa liveservern. För att göra detta måste du anpassa filen med namnet WindowsStoreProxy.xml i %userprofile%\AppData\local\packages\<paketnamn>\LocalState\Microsoft\Windows Store\ApiData. Microsoft Visual Studio-simulatorn skapar den här filen när du kör din app för första gången, eller så kan du även läsa in en anpassad fil vid programkörning. Mer information finns i om hur du använder filen WindowsStoreProxy.xml med CurrentAppSimulator.
- Det här avsnittet refererar också till kodexempel i Store-exempel. Det här exemplet är ett bra sätt att få praktisk erfarenhet av de olika alternativen för intäktsgenerering som tillhandahålls för UWP-appar (Universal Windows Platform).
Steg 1: Initiera licensinformationen för din app
När appen initieras hämtar du objektet LicenseInformation för din app genom att initiera CurrentApp- eller CurrentAppSimulator- för att aktivera inköp av en produkt i appen.
void InitializeApp()
{
// Some app initialization code...
// Initialize the license info for use in the app that is uploaded to the Store.
// Uncomment the following line in the release version of your app.
// licenseInformation = CurrentApp.LicenseInformation;
// Initialize the license info for testing.
// Comment the following line in the release version of your app.
licenseInformation = CurrentAppSimulator.LicenseInformation;
// Other app initialization code...
}
Steg 2: Lägg till erbjudandena i appen
För varje funktion som du vill göra tillgänglig via en produkt i appen skapar du ett erbjudande och lägger till det i din app.
Viktig
Du måste lägga till alla produkter i appen som du vill presentera för dina kunder i din app innan du skickar den till Store. Om du vill lägga till nya produkter i appen senare måste du uppdatera appen och skicka en ny version igen.
Skapa en erbjudandetoken i appen
Du identifierar varje produkt i appen i din app med en token. Den här token är en sträng som du definierar och använder i din app och i Store för att identifiera en specifik produkt i appen. Ge den ett unikt (för din app) och ett meningsfullt namn så att du snabbt kan identifiera rätt funktion som den representerar medan du kodar. Här är några exempel på namn:
- "SpaceMissionLevel4"
- "ContosoCloudSave"
- RegnbågstemaPaket
Not
Erbjudandetoken i appen som du använder i koden måste matcha det produkt-ID--värde som du anger när du definierar motsvarande tillägg för din app i Partner Center.
Koda funktionen i ett villkorligt block
Du måste placera koden för varje funktion som är associerad med en produkt i appen i ett villkorsblock som testar om kunden har en licens för att använda den funktionen.
Här är ett exempel som visar hur du kan koda en produktfunktion med namnet featureName i ett licensspecifikt villkorsblock. Strängen, featureName, är den token som unikt identifierar den här produkten i appen och som även används för att identifiera den i Store.
if (licenseInformation.ProductLicenses["featureName"].IsActive) { // the customer can access this feature } else { // the customer can' t access this feature }
Lägg till inköpsgränssnittet för den här funktionen
Din app måste också tillhandahålla ett sätt för dina kunder att köpa den produkt eller funktion som erbjuds av produkten i appen. De kan inte köpa dem via Store på samma sätt som de köpte hela appen.
Så här testar du om kunden redan äger en produkt i appen och, om de inte gör det, visar köpdialogrutan så att de kan köpa den. Ersätt kommentaren "visa köpdialogrutan" med din anpassade kod för köpdialogrutan (till exempel en sida med en vänlig "Köp den här appen!"-knappen).
async void BuyFeature() { if (!licenseInformation.ProductLicenses["featureName"].IsActive) { try { // The customer doesn't own this feature, so // show the purchase dialog. await CurrentAppSimulator.RequestProductPurchaseAsync("featureName", false); //Check the license state to determine if the in-app purchase was successful. } catch (Exception) { // The in-app purchase was not completed because // an error occurred. } } else { // The customer already owns this feature. } }
Steg 3: Ändra testkoden till de sista anropen
Det här är ett enkelt steg: ändra varje referens till CurrentAppSimulator till CurrentApp- i appens kod. Du behöver inte längre ange WindowsStoreProxy.xml-filen, så ta bort den från appens sökväg (även om du kanske vill spara den som referens när du konfigurerar erbjudandet i appen i nästa steg).
Steg 4: Konfigurera produkterbjudandet i appen i Store
Gå till din app i Partnercenter och skapa ett tillägg som matchar ditt produkterbjudande i appen. Definiera produkt-ID, typ, pris och andra egenskaper för ditt tillägg. Se till att du konfigurerar den identiskt med den konfiguration som du angav i WindowsStoreProxy.xml vid testning.
Not
Den erbjudandetoken i appen som du använder i koden måste matcha det produkt-ID värde som du anger för motsvarande tillägg i Partnercenter.
Anmärkningar
Om du är intresserad av att förse förbrukningsbara produktalternativ i appen till dina kunder (artiklar som kan köpas, förbrukas och sedan köpas igen vid behov), ska du gå vidare till avsnittet Aktivera förbrukningsbara produktinköp i appen.
Om du behöver använda kvitton för att verifiera att användaren har gjort ett köp i appen bör du granska Använd kvitton för att verifiera produktinköp.