Uygulama içi ürün satın almalarını etkinleştirme
Uygulamanız ücretsiz olsun veya olmasın, doğrudan uygulamanın içinden içerik, diğer uygulamalar veya yeni uygulama işlevselliği (bir oyunun bir sonraki düzeyinin kilidini açmak gibi) satabilirsiniz. Burada, uygulamanızda bu ürünlerin nasıl etkinleştirileceği gösterilmektedir.
Önemli
Bu makalede, uygulama içi ürün satın almalarını etkinleştirmek için Windows.ApplicationModel.Store ad alanının üyelerinin nasıl kullanılacağı gösterilmektedir. Bu ad alanı artık yeni özelliklerle güncelleştirilmedi ve bunun yerine Windows.Services.Store ad alanını kullanmanızı öneririz. Windows.Services.Store ad alanı, Mağaza tarafından yönetilen tüketilebilir eklentiler ve abonelikler gibi en son eklenti türlerini destekler ve İş Ortağı Merkezi ve Mağaza tarafından desteklenen gelecekteki ürün ve özellik türleriyle uyumlu olacak şekilde tasarlanmıştır. Windows.Services.Store ad alanı Windows 10, sürüm 1607'de kullanıma sunulmuştur ve yalnızca Windows 10 Yıldönümü Sürümü (10.0; Derleme 14393) veya Visual Studio'da daha sonraki bir sürüm. Windows.Services.Store ad alanını kullanarak uygulama içi ürün satın almalarını etkinleştirme hakkında daha fazla bilgi için bu makaleyebakın.
Not
Uygulama içi ürünler, bir uygulamanın deneme sürümünden sunulamaz. Uygulamanızın deneme sürümünü kullanan müşteriler yalnızca uygulamanızın tam sürümünü satın aldıkları takdirde uygulama içi bir ürün satın alabilir.
Önkoşullar
- Müşterilerin satın alabileceği özelliklerin ekleneceği bir Windows uygulaması.
- Yeni uygulama içi ürünleri ilk kez kodlayıp test ederken, CurrentApp nesnesi yerine CurrentAppSimulator nesnesini kullanmanız gerekir. Bu şekilde, canlı sunucuyu çağırmak yerine lisans sunucusuna yapılan sanal çağrıları kullanarak lisans mantığınızı doğrulayabilirsiniz. Bunu yapmak için \LocalState\Microsoft\Windows Store\ApiData>%userprofile%\AppData\local\packages\<paket adında WindowsStoreProxy.xml adlı dosyayı özelleştirmeniz gerekir. Microsoft Visual Studio simülatörü, uygulamanızı ilk kez çalıştırdığınızda bu dosyayı oluşturur veya çalışma zamanında özel bir dosya da yükleyebilirsiniz. Daha fazla bilgi için bkz. CurrentAppSimulatorile WindowsStoreProxy.xml dosyasını kullanma.
- Bu konu, Mağaza örnek'de sağlanan kod örneklerine de başvurur. Bu örnek, Evrensel Windows Platformu (UWP) uygulamaları için sağlanan farklı para kazanma seçenekleriyle uygulamalı deneyim elde etmenin harika bir yoludur.
1. Adım: Uygulamanız için lisans bilgilerini başlatma
Uygulamanız başlatılırken, uygulama içi ürün satın almalarını etkinleştirmek için CurrentApp veya CurrentAppSimulator başlatarak uygulamanız için LicenseInformation nesnesini alın.
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...
}
2. Adım: Uygulama içi teklifleri uygulamanıza ekleme
Bir uygulama içi ürün aracılığıyla kullanıma sunmak istediğiniz her özellik için bir teklif oluşturun ve bunu uygulamanıza ekleyin.
Önemli
Mağaza'ya göndermeden önce müşterilerinize sunmak istediğiniz tüm uygulama içi ürünleri uygulamanıza eklemeniz gerekir. Daha sonra yeni uygulama içi ürünler eklemek istiyorsanız uygulamanızı güncelleştirmeniz ve yeni bir sürümü yeniden göndermeniz gerekir.
Uygulama içi teklif belirteci oluşturma
Uygulamanızdaki her bir uygulama içi ürünü bir belirteçle tanımlarsınız. Bu belirteç, uygulamanızda ve Mağaza'da belirli bir uygulama içi ürünü tanımlamak için tanımlayıp kullandığınız bir dizedir. Kodlama sırasında temsil ettiği doğru özelliği hızla tanımlayabilmeniz için benzersiz (uygulamanıza) ve anlamlı bir ad verin. Aşağıda bazı ad örnekleri verilmiştir:
- "SpaceMissionLevel4"
- "ContosoCloudSave"
- GökkuşağıTemaPaketi
Not
Kodunuzda kullandığınız uygulama içi teklif belirteci, İş Ortağı Merkezi'nde uygulamanız için karşılık gelen eklentiyitanımlarken belirttiğiniz ürün kimliği değeriyle eşleşmelidir.
Koşullu blok özelliği kodlayın
Bir uygulama içi ürünle ilişkilendirilmiş her özelliğin kodunu, müşterinin bu özelliği kullanma lisansına sahip olup olmadığını görmek için test eden bir koşullu bloğa yerleştirmeniz gerekir.
Aşağıda, lisansa özgü bir koşullu blokta featureName adlı bir ürün özelliğini nasıl kodlayabileceğinizi gösteren bir örnek verilmiştir. featureNamedizesi, bu ürünü uygulama içinde benzersiz olarak tanımlayan ve Mağaza'da tanımlamak için de kullanılan belirteçtir.
if (licenseInformation.ProductLicenses["featureName"].IsActive) { // the customer can access this feature } else { // the customer can' t access this feature }
Bu özellik için satın alma kullanıcı arabirimini ekleyin
Uygulamanız, müşterilerinizin uygulama içi ürün tarafından sunulan ürünü veya özelliği satın alması için de bir yol sağlamalıdır. Uygulamayı tam olarak satın aldıkları şekilde, bunları Mağaza üzerinden satın alamıyorlar.
Müşterinizin zaten bir uygulama içi ürüne sahip olup olmadığını kontrol edip, sahip değillerse satın almaları için satın alma iletişim kutusunu nasıl görüntüleyeceğiniz burada açıklanmaktadır. "Satın alma iletişim kutusunu göster" açıklamasını satın alma iletişim kutusu için özel kodunuzla değiştirin (örneğin, kolay bir "Bu uygulamayı satın al!" düğmesini içeren bir sayfa).
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. } }
3. Adım: Test kodunu son çağrılara değiştirme
Uygulamanızın kodunda CurrentAppSimulator'ı CurrentApp olarak değiştirmek, kolay bir adımdır. WindowsStoreProxy.xml dosyasını artık sağlamanız gerekmez, bu nedenle uygulamanızın dosya yolundan kaldırın (ancak sonraki adımda uygulama içi teklifi yapılandırırken referans olarak kaydetmek isteyebilirsiniz).
4. Adım: Mağaza'da uygulama içi ürün teklifini yapılandırma
İş Ortağı Merkezi'nde uygulamanıza gidin ve uygulama içi ürün teklifinizle eşleşen bir eklenti oluşturun. Eklentiniz için ürün kimliğini, türünü, fiyatını ve diğer özellikleri tanımlayın. Test sırasında WindowsStoreProxy.xml'de ayarladığınız yapılandırmayla aynı şekilde yapılandırdığınızdan emin olun.
Not
Kodunuzda kullandığınız uygulama içi teklif belirteci, İş Ortağı Merkezi'ndeki ilgili eklenti için belirttiğiniz ürün kimliği değeriyle eşleşmelidir.
Açıklamalar
Müşterilerinize tüketilebilir uygulama içi ürün seçenekleri (isteniyorsa satın alınabilen, kullanılıp sonra yeniden satın alınabilen ürünler) sağlamak istiyorsanız, Kullanılabilir uygulama içi ürün satın almalarını etkinleştirme konu başlığına geçin.
Kullanıcının uygulama içi satın alma işlemi yaptığını doğrulamak için makbuzları kullanmanız gerekiyorsa, ürün satın almalarını doğrulamak için makbuzları kullanmabölümünü gözden geçirdiğinizden emin olun.