2013-04-26 26 views
7

Bir Windows 8 (Mağaza) uygulaması için satın alımları simüle eden kodu bir araya getirmeye çalışıyorum.Bir Windows 8 Simülasyonu Uygulamaları satın alma

kod oldukça basittir ve Windows API kullanır:

var result = await CurrentAppSimulator.RequestProductPurchaseAsync("product", true); 

// this is still false... 
var active = CurrentAppSimulator.LicenseInformation.ProductLicenses["product"].IsActive; 

ilk çağrı bana alımından dönüş kodu elde etmenizi sağlar iletişim kutusu açar.

S_OK'u seçtiğimde bile, sonraki satır, lisansın etkin olup olmadığını ve yanlış döndüğünü kontrol eder.

Burada sorun nedir?

+0

Buradan cevaba bakın: http://stackoverflow.com/questions/15999604/windows-8-store-app-how-do-i-test-in-app-purchase – mydogisbox

cevap

11

WindowsStoreProxy.xml dosyasını güncelliyor musunuz? Bunu yapmak zorundasınız, aksi takdirde satın alma hiçbir zaman aktif olmayacaktır. Sen

yerde Açık QuickWatch (SHIFT + F9) kırma hata ayıklama modunda uygulamanızı çalıştırın ve Windows.Storage.ApplicationData.current.roamingFolder.path girip ... RequestAppPurchaseAsync... sadece requestProductPurchaseAsync. bunu yapın aramaya gerek yok değeri (maden bu konuma C:\Users\jerfost\AppData\Local\Packages\{package name}\LocalState Gözat oldu kopyalayıp Microsoft \ Windows mağazası \ ApiData dizini Açık bir metin düzenleyicisinde WindowsStoreProxy.xml dosya yapmalıyız benzersiz ürün adı yanlış Değişikliği CurrentApp/ListingInformation/Product/MarketData/Name için Değişim CurrentApp/LicenseInformation/App/IsTrial açın. Umarım yardım eder

+0

IsTrial beni öldüren şeydi. Teşekkürler! şimdi çalışıyor. –

+0

Size yardımcı olmaktan memnunuz –

+0

Ürün hakkında ne düşünüyorsunuz? ProductId ürününü de benzersiz ürün adınıza değiştirmeniz gerekiyor, değil mi? –

3

Her seferinde XML'yi manuel olarak düzenlemek zorunda kalmazsınız, CurrentAppSimulator otomatik olarak yapar.

Sadece WindowsStoreProxy.xml daki ayarı kontrol ve 'IsTrial' 'kurulmasını sağlamak

<LicenseInformation> 
    <App> 
     <IsActive>true</IsActive> 
     <IsTrial>false</IsTrial> 
    </App> 
    <Product ProductId="1"> 
     <IsActive>false</IsActive> 
    </Product> 
</LicenseInformation> 

false'- Hatırla - Uygulama içi satın alma uygulamasının Deneme sürümünde çalışmaz.

İlgili konular