Mobil Oyun etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Mobil Oyun etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

7 Kasım 2026 Cumartesi

Google Play Console'da Uygulama İçi Satın Alma (IAP) ve Abonelik (Subscription) Nasıl Oluşturulur? Kapsamlı Geliştirici Rehberi

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.

One-Time Products Menüsü
Google Play Console sol menüsünde One-time products sekmesi.

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 ID kaydedildikten sonra asla değiştirilemez ve silinse dahi aynı isimle yeniden kullanılamaz.
  • Kod tarafında (BillingClient.queryProductDetailsAsync veya servis sınıfınızda) tanımlı metin ile buradaki ID harfiyen eşleşmelidir.

Product ID Tanımlama
Remove Ads ürünü için benzersiz iap_remove_ads kimliğinin belirlenmesi.


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:

  1. 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
  2. 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.

Ürün Açıklaması ve 50 Karakter Sınırı
50 karakter minimum açıklama kuralına uygun ürün tanıtım metni.


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.

Ürün İkonu Yükleme
512x512 piksel şeffaf NO ADS ikonunun Console'a yüklenmesi.


Adım 5: Vergi, Uyumluluk ve Yaş Derecelendirmesi

Sayfanın altındaki Tax, compliance, and programs alanında:

  1. Product tax category: Dijital ürünler için varsayıaran "Digital app sales" (Dijital uygulama satışları) seçili bırakılır.
  2. 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.
  3. Payment location restriction: Herhangi bir ülke kısıtlaması yoksa "No country / region restricted" kalır.

Vergi ve Yaş Derecelendirmesi
Vergi kategorisi ve yaş derecelendirmesi ayarları.

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:

  1. Purchase option ID: İç sistem kimliğidir (default yazılabilir).
  2. Purchase type: "Buy" (Satın Al) seçilmelidir.

Purchase Option ID
Satın alma seçeneği ve Buy türü.

  1. 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.
  2. Digital content or service: "Digital content" seçilir.

Gelişmiş Seçenekler
Dijital içerik sınıflandırması.

  1. 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.

Set Prices Menüsü
Bölgesel fiyatlandırma tablosu.

Fiyat Güncelleme Modalı
TRY bazında fiyatın girilmesi ve küresel kurların hesaplanması.

  1. Etkinleştirme (Activate):
    Fiyat uygulandıktan sonra sağ alttaki "Activate" (Etkinleştir) butonuna basılır. Ürün anında Active duruma geçer!

Ürün Özeti ve Aktif Durum
Tüm alanları eksiksiz doldurulan ürünün genel görünümü.

Aktif Ürünler Tablosu
Active purchase options: 1 olarak yayına alınan One-time product.


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.

Abonelik Karşılama Ekranı
Google Play Console Subscriptions yönetim sayfası.

Açılan pencerede abonelik kimliğini ve görünen adını girin:

  • Product ID: iap_premium_weekly
  • Name: Weekly Premium Pass

Abonelik Kimliği Tanımlama
Haftalık abonelik için ID ve isim girişi.


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:

  1. 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
  2. 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.

Abonelik Detayları ve 40 Karakter Kuralı
Abonelik avantaj maddelerinin 40 karakter sınırına uygun yazımı.

İkonu yükleyip vergi kategorisini "Digital app sales" ➔ "Service" ve yaş derecesini "All ages" seçtikten sonra Save butonuna basarak kaydedin.

Abonelik İkonu ve Önizleme
512x512 abonelik rozet ikonu önizlemesi.


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.

  1. Base plan ID: weekly-base (Aylık için monthly-base).
  2. Type: Auto-renewing (Otomatik yenilenen) seçilir.
  3. Billing period: Açılır listeden Weekly (Aylık için Monthly) seçilir.
  4. Grace period: Kullanıcının kartında bakiye olmaması durumunda Google'ın tanıdığı ek süredir (Varsayılan 7 days önerilir).

Base Plan Türü
Auto-renewing temel plan türünün seçilmesi.

Faturalandırma Dönemi Ayarları
Billing period: Weekly ve 7 günlük Grace period yapılandırması.


Adım 4: Bölgesel Fiyatlandırma ve Etkinleştirme

  1. Price and availability tablosundan "Set prices" seçilir.
  2. Para birimi TRY seçilerek haftalık paket için 49.90, aylık VIP paket için 179.90 girilir.
  3. Google Play tüm dünya para birimlerine döviz kurlarını ve vergileri yansıtır.
  4. Sağ alttaki Save butonuna basılır.
  5. Plan kaydedildikten sonra "Activate" butonuna basılarak temel plan aktif hale getirilir.

Fiyatlandırma Tablosu
Ülke ve bölge bazında fiyat tablosu.

Abonelik Fiyat Girişi
TRY bazında 49.90 TL haftalık fiyatın uygulanması.

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!

Aktif Abonelikler Tablosu
Google Play Console üzerinde aktifleşen Monthly VIP Pass ve Weekly Premium Pass abonelikleri.


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:


Etiketler & Konular

#GooglePlayConsole #InAppPurchase #IAP #Subscriptions #OneTimeProducts #AndroidDev #DotNet9 #CSharp #BillingClient #IndieDev #GameMonetization #BlockedPixelPanzer #PaintTrek #ArarGames