Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Niezależnie od tego, czy aplikacja jest bezpłatna, czy nie, możesz sprzedawać zawartość, inne aplikacje lub nowe funkcje aplikacji (takie jak odblokowywanie następnego poziomu gry) bezpośrednio w aplikacji. W tym miejscu pokażemy, jak włączyć te produkty w aplikacji.
Ważny
W tym artykule pokazano, jak używać elementów członkowskich przestrzeni nazw Windows.ApplicationModel.Store do włączania zakupów produktów w aplikacji. Ta przestrzeń nazw nie jest już aktualizowana przy użyciu nowych funkcji i zalecamy użycie Windows.Services.Store przestrzeni nazw. Przestrzeń nazw Windows.Services.Store obsługuje najnowsze typy dodatków, takie jak konsumowane dodatki zarządzane przez Sklep i subskrypcje, i jest zaprojektowana w taki sposób, aby były zgodne z przyszłymi typami produktów, i funkcji obsługiwane przez Centrum partnerskie i Sklep. Przestrzeń nazw Windows.Services.Store została wprowadzona w systemie Windows 10 w wersji 1607 i może być używana tylko w projektach przeznaczonych dla systemu Windows 10 Anniversary Edition (10.0; Kompilacja 14393) lub nowsza wersja w programie Visual Studio. Aby uzyskać więcej informacji dotyczących zakupów w aplikacji przy użyciu przestrzeni nazw Windows.Services.Store, zobacz ten artykuł.
Notatka
Produkty w aplikacji nie mogą być oferowane w wersji próbnej aplikacji. Klienci korzystający z wersji próbnej aplikacji mogą kupić produkt w aplikacji tylko wtedy, gdy zakupią pełną wersję aplikacji.
Warunki wstępne
- Aplikacja systemu Windows, w której można dodawać funkcje dla klientów do zakupu.
- Podczas kodowania i testowania nowych produktów w aplikacji po raz pierwszy należy użyć obiektu CurrentAppSimulator zamiast obiektu CurrentApp. W ten sposób można zweryfikować logikę licencji przy użyciu symulowanych wywołań do serwera licencji zamiast wywoływania serwera na żywo. W tym celu należy dostosować plik o nazwie WindowsStoreProxy.xml w %userprofile%\AppData\local\packages\<nazwa pakietu>\LocalState\Microsoft\Windows Store\ApiData. Symulator Microsoft Visual Studio tworzy ten plik podczas pierwszego uruchomienia aplikacji, lub można załadować niestandardowy plik w czasie działania. Aby uzyskać więcej informacji, zobacz Using the WindowsStoreProxy.xml file with CurrentAppSimulator.
- W tym temacie referuje się również do przykładów kodu podanych w przykładzie Store. Ten przykład to doskonały sposób na praktyczne korzystanie z różnych opcji zarabiania dostępnych dla aplikacji platformy uniwersalnej systemu Windows (UWP).
Krok 1. Inicjowanie informacji o licencji dla aplikacji
Podczas inicjowania aplikacji zainicjuj CurrentApp lub CurrentAppSimulator, aby pobrać obiekt LicenseInformation dla aplikacji i umożliwić zakupy produktu w aplikacji.
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: Dodaj oferty w aplikacji do swojej aplikacji
Dla każdej funkcji, którą chcesz udostępnić za pośrednictwem produktu w aplikacji, utwórz ofertę i dodaj ją do aplikacji.
Ważny
Przed przesłaniem ich do Sklepu musisz dodać wszystkie produkty w aplikacji, które chcesz przedstawić swoim klientom. Jeśli chcesz później dodać nowe produkty w aplikacji, musisz zaktualizować aplikację i ponownie przesłać nową wersję.
Tworzenie tokenu oferty w aplikacji
Każdy produkt w aplikacji można zidentyfikować za pomocą tokenu. Ten token jest ciągiem zdefiniowanym i używanym w aplikacji oraz w Sklepie w celu zidentyfikowania określonego produktu w aplikacji. Nadaj jej unikalną nazwę zrozumiałą dla twojej aplikacji, abyś mógł szybko zidentyfikować właściwą funkcję, którą reprezentuje podczas kodowania. Oto kilka przykładów nazw:
- "SpaceMissionLevel4"
- "ContosoCloudSave"
- RainbowThemePack
Notatka
Token oferty w aplikacji używany w kodzie musi być zgodny z wartością identyfikatora produktu określaną podczas definiowania odpowiedniego dodatku dla aplikacji w Centrum partnerskim.
Kod funkcji w bloku warunkowym
Należy umieścić kod dla każdej funkcji skojarzonej z produktem w aplikacji w bloku warunkowym, który sprawdza, czy klient ma licencję na korzystanie z tej funkcji.
Oto przykład pokazujący, jak można kodować funkcję produktu o nazwie featureName w bloku warunkowym specyficznym dla licencji. Ciąg, featureName, jest tokenem, który jednoznacznie identyfikuje ten produkt w aplikacji i jest również używany do identyfikowania go w Sklepie.
if (licenseInformation.ProductLicenses["featureName"].IsActive) { // the customer can access this feature } else { // the customer can' t access this feature }
Dodaj interfejs użytkownika zakupów dla tej funkcji
Aplikacja musi również zapewnić klientom możliwość zakupu produktu lub funkcji oferowanej przez produkt w aplikacji. Nie mogą kupić ich za pośrednictwem Sklepu w taki sam sposób, w jaki zakupili pełną aplikację.
Poniżej przedstawiono sposób testowania, czy klient jest już właścicielem produktu w aplikacji, a jeśli nie, wyświetla okno dialogowe zakupu, aby mógł go kupić. Zastąp komentarz "pokaż okno dialogowe zakupu" swoim niestandardowym kodem dla okna dialogowego zakupu (na przykład stroną z przyciskiem "Kup tę aplikację!").
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. Zmiana kodu testowego na końcowe wywołania
Jest to prosty krok: zmień każde odwołanie do CurrentAppSimulator na CurrentApp w kodzie aplikacji. Nie musisz już podawać pliku WindowsStoreProxy.xml, więc usuń go ze ścieżki aplikacji (chociaż możesz zapisać go do celów referencyjnych podczas konfigurowania oferty w aplikacji w następnym kroku).
Krok 4: Skonfiguruj ofertę produktu w aplikacji w sklepie
W Centrum Partnerów przejdź do swojej aplikacji i utwórz dodatek pasujący do oferty produktu w aplikacji. Zdefiniuj identyfikator produktu, typ, cenę i inne właściwości dodatku. Upewnij się, że konfiguracja jest identyczna z konfiguracją ustawioną w WindowsStoreProxy.xml podczas testowania.
Notatka
Token oferty w aplikacji, którego używasz w kodzie, musi pasować do identyfikatora produktu oraz wartości określonych dla odpowiedniego dodatku w Centrum partnerskim.
Uwagi
Jeśli interesuje Cię udostępnianie klientom opcji produktu eksploatacyjnego w aplikacji (elementy, które można kupić, wykorzystać, a następnie zakupić ponownie w razie potrzeby), przejdź do tematu Włącz zakupy produktów w aplikacji.
Jeśli musisz użyć paragonów, aby sprawdzić, czy użytkownik dokonał zakupu w aplikacji, zapoznaj się z Użyj paragonów, aby zweryfikować zakupy produktów.