2013-05-18 6 views
5

Ich habe XNA verwendet, um Spiele für die Xbox und Windows Phone 7 zu machen. Jetzt möchte ich eine Metro Windows 8 Store App mit MonoGame erstellen.Funktioniert Guide.IsTrialMode in MonoGame für eine Windows 8 Store App?

Ich bin erfolgreich durch alle Reifen gesprungen und habe es funktioniert, aber habe ein Problem mit Guide.IsTrialMode.

Ich habe separate Logik je nachdem, ob das Spiel im Testmodus ist oder nicht, die auf den anderen Plattformen funktioniert, aber wenn ich meine App entweder auf dem lokalen Rechner oder im Simulator teste es immer, dass ich nicht habe kaufte das Spiel. Meine Sorge ist, dass, wenn es im App Store ist und die Leute es tatsächlich kaufen, sich die Logik nicht ändert.

TL; DR: Funktioniert Guide.IsTrialMode in MonoGame für eine Windows 8 Store App und wie kann ich es testen?

+0

Das könnte helfen https://monogame.codeplex.com/discussions/318106 – craftworkgames

+0

Ich habe mir das angesehen, aber es ist über ein Jahr alt (WP7 'IsTrialMode' funktioniert jetzt). Ich fange an zu denken, dass ich einen separaten Codepfad für Windows Apps benötige. –

Antwort

3

EDIT: In DEBUG können Sie einfach Guide.SimulateTrialMode setzen, um auf die eine oder andere Weise zu testen, so scheint es.


So, hier ist die Information über den Testmodus in Windows 8 Store Apps:

Create a trial version of your app

LicenseInformation class

Im Grunde ist es nutzt eine bool Flag licenseInformation.IsTrial. Wenn Sie dann in die MonoGame source code on GitHub graben, können wir sehen, wie sie die Kontrolle implementieren:

#if WINDOWS_STOREAPP 
    var licenseInformation = CurrentApp.LicenseInformation; 
    ... 
    isTrialMode = !licenseInformation.IsActive || licenseInformation.IsTrial; 
#endif 

So scheint es, dass Ihr licenseInformation entweder nicht aktiv gesetzt, oder wird vor Gericht festgelegt, wenn Sie Fragen Prüfung mit. Der erste Link enthält Informationen zum Testen, aber ich bin mir nicht sicher, wie Sie das auf MonoGame erweitern können:

Jetzt testen Sie Ihre App mit simulierten Aufrufen an den Lizenzserver. Ersetzen Sie in JavaScript, C#, Visual Basic oder Visual C++ Verweise auf CurrentApp durch CurrentAppSimulator im Initialisierungscode der Anwendung. CurrentAppSimulator ruft testspezifische Lizenzinformationen aus einer XML-Datei namens "WindowsStoreProxy.xml" ab, die sich in \ Microsoft \ Windows Store \ ApiData befindet. Wenn dieser Pfad und diese Datei nicht vorhanden sind, müssen Sie sie entweder während der Installation oder zur Laufzeit erstellen. Wenn Sie versuchen, auf die CurrentAppSimulator.LicenseInformation-Eigenschaft ohne WindowsStoreProxy.xml zuzugreifen, die an diesem bestimmten Speicherort vorhanden ist, erhalten Sie eine Fehlermeldung.

ich im schlimmsten Fall erraten, können Sie sich monogame, bauen CurrentApp-CurrentAppSimulator ändern.