Sdílet prostřednictvím


Povolení nákupů produktů v aplikaci

Bez ohledu na to, jestli je vaše aplikace bezplatná, nebo ne, můžete prodávat obsah, jiné aplikace nebo nové funkce aplikace (například odemknout další úroveň hry) přímo v aplikaci. Tady vám ukážeme, jak tyto produkty povolit ve vaší aplikaci.

Důležitý

Tento článek ukazuje, jak pomocí členů oboru názvů Windows.ApplicationModel.Store povolit nákupy produktů v aplikaci. Tento obor názvů se už neaktualizuje novými funkcemi a doporučujeme místo toho použít obor názvů Windows.Services.Store. Obor názvů Windows.Services.Store podporuje nejnovější typy doplňků, jako jsou doplňky spravované storem a předplatná, a je navržená tak, aby byla kompatibilní s budoucími typy produktů a funkcí podporovaných v Partnerském centru a Storu. Obor názvů Windows.Services.Store byl zaveden ve Windows 10 verze 1607 a dá se použít jenom v projektech, které cílí na Windows 10 Anniversary Edition (10.0; Build 14393) nebo novější verzi v sadě Visual Studio. Další informace o povolení nákupů v aplikaci pomocí oboru názvů Windows.Services.Store najdete v tomto článku .

Poznámka

Produkty v aplikaci nelze nabízet ze zkušební verze aplikace. Zákazníci, kteří používají zkušební verzi vaší aplikace, si můžou koupit jenom produkt v aplikaci, pokud si koupí plnou verzi vaší aplikace.

Požadavky

  • Aplikace pro Windows, ve které se mají přidat funkce, které si zákazníci mohou koupit.
  • Když poprvé kódujete a testujete nové produkty v rámci aplikace, musíte místo objektu CurrentApp použít objekt CurrentAppSimulator. Tímto způsobem můžete ověřit logiku licence pomocí simulovaných volání licenčního serveru místo volání živého serveru. K tomu je potřeba upravit soubor s názvem WindowsStoreProxy.xml v %userprofile%\AppData\local\packages\<název balíčku>\LocalState\Microsoft\Windows Store\ApiData. Simulátor sady Microsoft Visual Studio vytvoří tento soubor při prvním spuštění aplikace – nebo můžete také načíst vlastní soubor za běhu. Další informace najdete v o použití souboru WindowsStoreProxy.xml s CurrentAppSimulator.
  • Toto téma také odkazuje na příklady kódu uvedené v ukázkovém Store. Tato ukázka představuje skvělý způsob, jak získat praktické zkušenosti s různými možnostmi monetizace, které jsou k dispozici pro aplikace pro Univerzální platformu Windows (UPW).

Krok 1: Inicializace informací o licenci pro vaši aplikaci

Při inicializaci aplikace získejte objekt LicenseInformation pro vaši aplikaci inicializací CurrentApp nebo CurrentAppSimulator, abyste umožnili nákupy produktu v aplikaci.

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...
}

Krok 2: Přidání nabídek v aplikaci do aplikace

Pro každou funkci, kterou chcete zpřístupnit prostřednictvím produktu v aplikaci, vytvořte nabídku a přidejte ji do aplikace.

Důležitý

Před odesláním do Storu musíte do aplikace přidat všechny produkty v aplikaci, které chcete prezentovat svým zákazníkům. Pokud chcete nové produkty v aplikaci přidat později, musíte aplikaci aktualizovat a znovu odeslat novou verzi.

  1. Vytvořte token nabídky v rámci aplikace

    Jednotlivé produkty v aplikaci identifikujete tokenem. Tento token je řetězec, který definujete a používáte v aplikaci a ve Storu k identifikaci konkrétního produktu v aplikaci. Dejte mu jedinečný název (pro vaši aplikaci) a smysluplný název, abyste mohli rychle identifikovat správnou funkci, kterou představuje při psaní kódu. Tady je několik příkladů názvů:

    • "SpaceMissionLevel4"
    • ContosoCloudSave
    • RainbowThemePack

Poznámka

Token nabídky v aplikaci, který používáte v kódu, musí odpovídat hodnotě ID produktu, kterou zadáte, když definujete odpovídající doplněk pro vaši aplikaci v Partnerském centru.

  1. kód funkce v podmíněném bloku

    Kód pro každou funkci, která je přidružená k produktu v aplikaci, musíte vložit do podmíněného bloku, který testuje, aby se zjistilo, jestli má zákazník licenci k použití této funkce.

    Tady je příklad, který ukazuje, jak můžete kódovat funkci produktu s názvem featureName v podmíněném bloku specifickém pro licenci. Řetězec, featureName, je token, který jednoznačně identifikuje tento produkt v aplikaci a slouží také k jeho identifikaci v obchodě.

    if (licenseInformation.ProductLicenses["featureName"].IsActive)
    {
        // the customer can access this feature
    }
    else
    {
        // the customer can' t access this feature
    }
    
  2. přidání uživatelského rozhraní nákupu pro tuto funkci

    Vaše aplikace musí také poskytovat způsob, jak si zákazníci koupit produkt nebo funkci nabízenou produktem v aplikaci. Nemůžou si je koupit prostřednictvím Storu stejným způsobem, jakým si koupili celou aplikaci.

    Tady je postup, jak otestovat, jestli váš zákazník už vlastní produkt v aplikaci, a pokud ne, zobrazí dialogové okno nákupu, aby si ho mohl koupit. Nahraďte komentář "zobrazit dialogové okno nákupu" vlastním kódem dialogového okna nákupu (například stránka s popisným tlačítkem Koupit tuto aplikaci).)

    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.
        }
    }
    

Krok 3: Změna testovacího kódu na konečná volání

Jedná se o jednoduchý krok: Změňte všechny odkazy na CurrentAppSimulator na CurrentApp v kódu aplikace. Soubor WindowsStoreProxy.xml už nemusíte zadávat, proto ho odeberte z cesty aplikace (i když ho možná budete chtít uložit pro referenci při konfiguraci nabídky v aplikaci v dalším kroku).

Krok 4: Konfigurace nabídky produktu v aplikaci ve Storu

V Partnerském centru přejděte do aplikace a vytvořte doplněk, který odpovídá vaší nabídce produktu v aplikaci. Definujte ID produktu, typ, cenu a další vlastnosti doplňku. Při testování se ujistěte, že jste ho nakonfigurovali stejně jako konfiguraci, kterou jste nastavili v WindowsStoreProxy.xml.

Poznámka

Token nabídky v aplikaci, který používáte v kódu, musí odpovídat hodnotě ID produktu, kterou zadáte pro odpovídající doplněk v Partnerském centru.

Poznámky

Pokud máte zájem poskytnout svým zákazníkům možnosti spotřebních produktů v aplikaci (položky, které lze zakoupit, spotřebovat a v případě potřeby znovu zakoupit), přejděte na téma Povolit spotřební nákupy produktů v aplikaci.

Pokud potřebujete použít doklady k ověření, že uživatel provedl nákup v aplikaci, nezapomeňte zkontrolovat Použití dokladů pro ověření nákupu produktů.