Google Play Console'da Uygulama İçi Satın Alma (IAP) ve Abonelik (Subscription) Nasıl Oluşturulur? Kapsamlı Geliştirici Rehberi
Mobil oyun ve uygulama geliştirirken en heyecan verici aşamalardan biri, projenizi nihayet gelir getiren sürdürülebilir bir ürüne dönüştürmektir. Google Play ekosisteminde kullanıcılarınıza doğrudan özellik, dijital içerik veya abonelik satmanın resmi yolu Google Play In-App Billing (Uygulama İçi Satın Alma) altyapısıdır.
Google Play Console, son dönemdeki arayüz güncellemeleriyle birlikte geleneksel "In-app products" başlığını "One-time products" (Tek Seferlik Ürünler) olarak yeniden adlandırdı ve abonelik yönetimini Base Plan (Temel Plan) ve Offers (Teklifler) mimarisine taşıdı.
Bu teknik rehberde, Arar Games olarak geliştirdiğimiz 15te15 Spor Toto Analiz & Sistem Kuponu ve oyun projelerimizde bizzat uyguladığımız adımlarla; sıfırdan Remove Ads (Reklamları Kaldır), Bağış/Destek Ürünleri ve Haftalık/Aylık VIP Abonelikler oluşturma sürecini, ekran görüntüleriyle, Google'ın katı metin sınırı kurallarıyla ve C# .NET 9 kod entegrasyonuyla paylaşıyoruz.
1. Temel Kavramlar: Ürün Türlerini Doğru Seçmek
Google Play Console'da ürün oluşturmadan önce monetization (para kazanma) modelinizi üç ana kategoriye ayırmalısınız:
| Ürün Türü | Google Play Tanımı | Kullanım Alanı | Sepet / Tekrar Alım | Geri Yükleme (Restore) |
|---|---|---|---|---|
| Tüketilemez (Non-Consumable) | One-time product (Buy) |
Reklam Kaldırma, Kalıcı Lisans | Tek bir kez alınır | Google hesabıyla otomatik geri gelir |
| Tüketilebilir (Consumable) | One-time product (Buy) |
Oyun İçi Altın, Can, Geliştiriciye Kahve Ismarla | Sınırsız kez tekrar alınabilir | Tüketildikten sonra geri yüklenmez |
| Abonelik (Subscription) | Subscriptions + Base Plan | Haftalık VIP Pass, Aylık Premium Üyelik | Dönemsel (Otomatik yenilenen / Ön ödemeli) | Aktif abonelik süresince geçerlidir |
2. BÖLÜM I: Tek Seferlik Ürün (One-Time Product) Oluşturma
İlk örneğimizde, kullanıcıların uygulamanızdaki tüm reklamları süresiz olarak kapatmasını sağlayan iap_remove_ads ürününü adım adım oluşturalım.
Adım 1: Menüye Erişim
Google Play Console'da uygulamanızı seçin. Sol taraftaki menü ağacından:
👉 Monetize with Play (Play ile Para Kazanma) ➔ Products (Ürünler) ➔ One-time products (Tek seferlik ürünler) sekmesine tıklayın.
Listenin sağ üst köşesindeki mavi "Create product" (Ürün oluştur) butonuna basın.
Adım 2: Product ID (Ürün Kimliği) Tanımlama
Karşınıza ilk gelen form alanı Product ID'dir:
- Format: Yalnızca küçük harfler, rakamlar, alt çizgi (
_) ve nokta (.) içerebilir (Örn:iap_remove_ads). - ⚠️ Kritik Kural: Google Play Console'da bir
Product IDkaydedildikten sonra asla değiştirilemez ve silinse dahi aynı isimle yeniden kullanılamaz. - Kod tarafında (
BillingClient.queryProductDetailsAsyncveya servis sınıfınızda) tanımlı metin ile buradaki ID harfiyen eşleşmelidir.
Adım 3: Ürün Adı ve Açıklaması (50 Karakter Kuralı!)
Sayfayı aşağı kaydırdığınızda Product description alanı yer alır:
- Name (Ürün Adı):
Kullanıcının satın alma sepetinde ve banka onay penceresinde göreceği isimdir (maksimum 55 karakter).
Örnek:Remove Ads - Description (Açıklama):
Google Play Console, tek seferlik ürün açıklamalarında en az 50 karakter uzunluk şartı koşar (0 / 200). 50 karakterin altında bir metin girilirse form bir sonraki adıma geçişe izin vermez.
Örnek İngilizce Açıklama (92 Karakter):
Permanently removes all banner and interstitial ads for an uninterrupted, smooth experience.
Adım 4: Ürün İkonu Yükleme
Google Play faturalandırma alt penceresinde sergilenmek üzere her IAP ürünü için özel bir ikon yüklenmelidir:
- Format: 32-bit PNG (Alfa şeffaflık kanalı destekli).
- Çözünürlük: 1:1 kare oranında, her kenarı 512 px ile 1080 px arasında (Örn: 512x512 px).
- Maksimum Dosya Boyutu: 8 MB.
Adım 5: Vergi, Uyumluluk ve Yaş Derecelendirmesi
Sayfanın altındaki Tax, compliance, and programs alanında:
- Product tax category: Dijital ürünler için varsayıaran "Digital app sales" (Dijital uygulama satışları) seçili bırakılır.
- Age rating (ABD eyaletleri için): Açılır menüden "All ages" (Tüm yaşlar / 3+) veya uygulamanızın mevcut derecelendirmesi seçilir.
- Payment location restriction: Herhangi bir ülke kısıtlaması yoksa "No country / region restricted" kalır.
Formu tamamladıktan sonra sağ alttaki Next (İleri) butonuna tıklayın.
Adım 6: Satın Alma Seçeneği ve Fiyatlandırma (Pricing)
İkinci aşamada ürünün satış tipi ve fiyatı belirlenir:
- Purchase option ID: İç sistem kimliğidir (
defaultyazılabilir). - Purchase type: "Buy" (Satın Al) seçilmelidir.
- Advanced options: Remove Ads tek seferlik bir tüketilemez ürün olduğu için "Allow users to purchase more than one" kutucuğu işaretlenmez.
- Digital content or service: "Digital content" seçilir.
- Fiyat Belirleme:
"Set prices" ➔ "Bulk edit pricing" tıklanır. Para birimi TRY seçilerek hedef fiyat (Örn:29.99) yazılır ve "Apply" butonuna basılır. Google Play diğer tüm dünya para birimlerini otomatik olarak dönüştürür.
- Etkinleştirme (Activate):
Fiyat uygulandıktan sonra sağ alttaki "Activate" (Etkinleştir) butonuna basılır. Ürün anında Active duruma geçer!
3. BÖLÜM II: Abonelik (Subscription) ve Base Plan Mimarisi
Abonelikler, kullanıcılara haftalık veya aylık periyotlarla sürekli güncellenen analiz, VIP araçlar ve ikramiye simülasyonları sunmanın en etkili yoludur.
Adım 1: Abonelik Oluşturma
Sol menüden 👉 Monetize with Play ➔ Products ➔ Subscriptions sekmesine girip "Create subscription" butonuna tıklayın.
Açılan pencerede abonelik kimliğini ve görünen adını girin:
- Product ID:
iap_premium_weekly - Name:
Weekly Premium Pass
Adım 2: Abonelik Detayları ve Katı Metin Kuralları
Oluşturulan abonelik sayfasında sağdaki "Edit subscription details" linkine tıklayın. Burada Google iki çok katı kural uygular:
- Benefits (Avantajlar - En Fazla 40 Karakter!):
Kullanıcının abonelik ekranında göreceği maddelerdir. Her bir madde en fazla 40 karakter olabilir! 41 karakter dahi girerseniz form hata verir.- Madde 1 (39 Karakter):
Full access to 12-15 guarantee engines - Madde 2 (36 Karakter):
Live 15-match scores & prize tracker - Madde 3 (37 Karakter):
VIP priority queue & ROI simulations
- Madde 1 (39 Karakter):
- Description (Açıklama - En Az 50 Karakter!):
Örnek (122 Karakter):
Full 4-week VIP access to all 12-15 guarantee calculation engines, live tracking, ad-free experience, and ROI analysis.
İkonu yükleyip vergi kategorisini "Digital app sales" ➔ "Service" ve yaş derecesini "All ages" seçtikten sonra Save butonuna basarak kaydedin.
Adım 3: Base Plan (Temel Plan) Tanımlama
Bir abonelik oluşturulduktan sonra tek başına satılamaz; mutlaka en az bir Base Plan (Temel Plan) tanımlanmalıdır.
- Base plan ID:
weekly-base(Aylık içinmonthly-base). - Type:
Auto-renewing(Otomatik yenilenen) seçilir. - Billing period: Açılır listeden
Weekly(Aylık içinMonthly) seçilir. - Grace period: Kullanıcının kartında bakiye olmaması durumunda Google'ın tanıdığı ek süredir (Varsayılan
7 daysönerilir).
Adım 4: Bölgesel Fiyatlandırma ve Etkinleştirme
- Price and availability tablosundan "Set prices" seçilir.
- Para birimi TRY seçilerek haftalık paket için
49.90, aylık VIP paket için179.90girilir. - Google Play tüm dünya para birimlerine döviz kurlarını ve vergileri yansıtır.
- Sağ alttaki Save butonuna basılır.
- Plan kaydedildikten sonra "Activate" butonuna basılarak temel plan aktif hale getirilir.
Tüm adımlar tamamlandığında Subscriptions listenizde hem haftalık hem aylık paketleriniz Active base plans: 1 ibaresiyle kullanıma hazır hale gelecektir!
4. Proje İçi IAP & Abonelik Matrisi
Geliştirdiğimiz projede Google Play Console ile kod tarafını birebir eşitlediğimiz mağaza kataloğumuz:
| Product ID | Ürün Adı | Tür | Fiyat | Base Plan / Purchase Option | Açıklama Özeti |
|---|---|---|---|---|---|
iap_remove_ads |
Remove Ads | One-Time (Non-Consumable) | 29.99 ₺ | default |
Tüm reklamları kalıcı olarak kaldırır. |
iap_buy_coffee |
Buy Developer a Coffee | One-Time (Consumable) | 39.99 ₺ | default |
Geliştiriciye kahve ikramı & destek rozeti. |
iap_full_support |
Full Support | One-Time (Consumable) | 99.99 ₺ | default |
Ekosistem Ar-Ge fonu & Altın Destekçi. |
iap_premium_weekly |
Weekly Premium Pass | Subscription (Auto-renewing) | 49.90 ₺ / Hafta | weekly-base |
15 maçlık bültende sınırsız garantili kupon motorları. |
iap_premium_monthly |
Monthly VIP Pass | Subscription (Auto-renewing) | 179.90 ₺ / Ay | monthly-base |
4 hafta tam yetki, VIP hesaplama kuyruğu & ROI simülasyonu. |
5. Kod Tarafında Doğrulama (.NET 9 / Android BillingClient v8.1.0)
Modern Android projelerinde (MAUI, Blazor Hybrid veya Xamarin) Google Play'in 2026 şartı olan Google Play Billing Library v8+ (Xamarin.Android.Google.BillingClient 8.1.0) kullanılır.
C# tarafındaki servis katmanımız satın alma sonuçlarını dinleyerek durumu anında yerel duruma yansıtır:
// StoreModels.cs - Satın alma sonrası durum güncellemesi
switch (productId)
{
case "iap_premium_weekly":
_state.ActiveSubscriptionId = "iap_premium_weekly";
_state.SubscriptionExpiresAt = DateTime.UtcNow.AddDays(7);
break;
case "iap_premium_monthly":
_state.ActiveSubscriptionId = "iap_premium_monthly";
_state.SubscriptionExpiresAt = DateTime.UtcNow.AddDays(30);
break;
case "iap_remove_ads":
_state.IsAdsRemoved = true;
break;
case "iap_buy_coffee":
_state.CoffeeCount++;
break;
case "iap_full_support":
_state.FullSupportCount++;
break;
}
OnStateChanged?.Invoke();
6. Sonuç ve Oyunlarımız
Google Play faturalandırma sistemi, doğru Product ID kurgusu, katı metin sınırlarına uyum ve güvenilir bir istemci mimarisiyle birleştiğinde bağımsız stüdyolar için düzenli ve sağlıklı bir gelir akışı sağlar.
Bu yazıda paylaştığımız altyapıyı, oyun içi mağaza deneyimlerimizi ve retro piksel dinamiklerimizi canlı olarak deneyimlemek için geliştirdiğimiz ürünlerimize göz atabilirsiniz:
🎮 Oyunlarımız ve Uygulamalarımız:
- ⚽ 15te15 Spor Toto Analiz & Sistem Kuponu:
15 maçlık Spor Toto bültenleri için matematiksel covering algoritmaları, 12-15 garantili sistem kuponu optimizasyonu ve anlık ikramiye simülatörü.
👉 Google Play'de İncele (Android) - 🛡️ Blocked: Pixel Panzer:
Retro piksel tank aksiyonu, ColorWheel element mermileri, dinamik hava koşulları, Boss savaşları, küresel liderlik tablosu ve 79 Google Play başarımı!
👉 Google Play'de İndir (Android & PC) | Microsoft Store (Windows PC) - 🎨 Paint Trek:
Canlı retro uzay atmosferinde refleks, renk eşleme ve strateji odaklı arcade shooter.
👉 Google Play | Microsoft Store (PC & Xbox) - 🚀 Space Dodger:
Uzayın derinliklerinde yüksek tempolu retro arcade engellerden kaçış ve refleks mücadelesi.
👉 Google Play'de İndir
📢 Sosyal Medya ve Geliştirici Günlüklerimiz:
Yeni teknik rehberlerimizi, stüdyo günlüklerimizi ve bağımsız oyun güncellemelerimizi takip etmek için bize katılın:
- 🎵 TikTok: @arargamesstudio
- 📸 Instagram: @arargamesstudio
- 🐦 X (Twitter): @arargamesstudio
- 📺 YouTube: @koreaaria
- 🧵 Threads: @arargamesstudio
- 📘 Facebook: arargamesstudio
Etiketler & Konular
#GooglePlayConsole #InAppPurchase #IAP #Subscriptions #OneTimeProducts #AndroidDev #DotNet9 #CSharp #BillingClient #IndieDev #GameMonetization #BlockedPixelPanzer #PaintTrek #ArarGames