1

Je développais une application pour Windows 8. Après un moment, j'ai mis à jour le projet vers Windows 8.1 et j'ai reçu un avertissement, que la méthode CurrentAppSimulator.RequestProductPurchaseAsync (String, Boolean) à partir du CurrentAppSimulator class est obsolète. J'ai donc commencé à utiliser la version CurrentAppSimulator.RequestProductPurchaseAsync (String), et pour une raison quelconque, la boîte de dialogue de simulation d'achat n'apparaît pas du tout. Here is a dialog I was getting using deprecated version of the method.Le dialogue de simulation d'achat n'apparaît pas (CurrentAppSimulator.RequestProductPurchaseAsync)

Je ne le besoin WindowsStoreProxy.xml avant, mais juste au cas où je l'ai vérifié et mis le IsTrial propriété false - cependant, la boîte de dialogue ne se présente pas, et la réponse du nouveau method CurrentAppSimulator.RequestProductPurchaseAsync (String) renvoie toujours ProductPurchaseStatus :: NotPurchased. Peut-être que quelqu'un sait où est le problème?

+0

Je serai sacrément si je peux voir pourquoi cela est étiqueté 'simulation'. Quel aspect de ceci est lié ou spécifique à la simulation? – pjs

+0

Il s'agit d'une classe que Microsoft fournit pour simuler des achats de produits dans l'application ([CurrentAppSimulator] (https://msdn.microsoft.com/fr-fr/bibliothèque/windows/apps/windows.applicationmodel.store.currentappsimulator.aspx)). Et oui, peut-être que le tag n'est pas tellement lié à ce que je demande, je vais le changer :) – serpaulius

Répondre

0

Le NotPurchased est retourné, car le fichier WindowsStoreProxy.xml qui est utilisé par CurrentAppSimulator ne contient pas le produit demandé. Vous devez remplir WindowsStoreProxy.xml avec tous les produits que vous fournissez à l'utilisateur de l'application. Here are some examples, written by Microsoft.

WindowsStoreProxy.xml est créé sur le premier lancement de l'application à cet endroit:

C:\Users\<username>\AppData\Local\Packages\<app package folder>\LocalState\Microsoft\Windows Store\ApiData\WindowsStoreProxy.xml 

De plus, après chaque CurrentAppSimulator.RequestProductPurchaseAsync (String) appel, quand le résultat est ProductPurchaseStatus.Succeeded vous besoin de faire deux choses:

  1. utilisateur de subvention du produit (par exemple acheté)
  2. Informer Store, que l'exécution du produit est terminée avec succès - en utilisant la méthode CurrentApp.ReportConsumableFulfillmentAsync (String, Guid). Assurez-vous que le FulfillmentResult qui est retourné par la suite est-FulfillmentResult :: Réussi

Après ces étapes, votre article doit être acheté et rempli avec succès.

Consultez l'explication détaillée: Enable consumable in-app product purchases.

Et si vous avez besoin plus de précisions de ce que chaque FulfillmentResult signifie pour l'achat, vous pouvez rechercher une explication vraiment bon dans le livre « Apps Universal Windows avec XAML et C# Unleashed » par Adam Nathan, que j'ai trouvé tout en google ces choses.