Genel Bakış — Yola Çıkmadan Önce
Bu rehberin tamamını okumadan önce bilmen gereken 10 gerçek. Bunlar zamanının %80'ini kurtarır.
Sıfırdan yayına giden yol — kuş bakışı
Karar: Play Store mu, PWA mı?
Yanlış başlangıç en pahalı hatadır. Uygulaman kameraya, bildirime, offline çalışmaya ihtiyaç duymuyorsa PWA ile 1 günde yayında olabilirsin. Abonelik satacaksan Play Store gerekli. Sekme 7'de karar tablosu var.
Hesap açma + kimlik doğrulama
25 $ öde, kimlik yükle, selfie çek. Onay birkaç saat – 2 iş günü. Bu sırada uygulamayı geliştirmeye devam et.
Uygulamayı "yayına uygun" hale getirme
Sadece kod değil: gizlilik politikası, hesap silme linki, ikon, ekran görüntüleri, imza anahtarı yedeği. Sekme 3.
Play Console'da uygulama kaydı + form doldurma
Data Safety formu, içerik derecelendirme, hedef kitle, reklam beyanı. Yanlış doldurulan Data Safety formu en sık ret sebebi.
Kapalı test: 12 tester × 14 gün Zorunlu
13 Kasım 2023 sonrası açılan bireysel hesaplar için mecburi. Bu adım atlanamaz. Sekme 4.
Production erişimi başvurusu
Google sana testte ne öğrendiğini sorar. Baştan savma cevap = ret. Örnek metin Sekme 4'te.
İnceleme → Yayın → Para ayarları
Ödeme profili, vergi bilgileri, Türkiye'de istisna belgesi + özel banka hesabı. Sekme 6.
Bilmen gereken 10 gerçek
1. Adresin herkese açık olacak
Ücretli uygulama veya uygulama içi satın alma yapıyorsan, Play sayfanda fiziksel adres göstermek zorundasın. Ev adresini yazmak istemiyorsan sanal ofis / işyeri adresi ayarla. Bunu hesap açmadan önce düşün.
2. İlk uygulama en zor olanıdır
12 tester kuralı hesap başına bir kezdir. İlk uygulamanı production'a çıkardıktan sonra sonraki uygulamalar doğrudan yayınlanabilir.
3. Keystore'unu kaybedersen uygulaman ölür
Play App Signing kullan (varsayılan olarak aktif) ve upload key'ini 3 ayrı yere yedekle. Yedeklemeyen geliştiriciler uygulamalarını sıfırdan yeni paket adıyla yayınlamak zorunda kalıyor.
4. Paket adı (package name) asla değişmez
com.adin.uygulamaadi — bir kez yayınlandıktan sonra değiştirilemez. Test amaçlı com.test.deneme yazma.
5. Abonelikte para hemen gelmez
Google, ödeme eşiği 100 $'a ulaştıktan sonra, ayın 15'i civarında ödeme yapar. Yani Ocak kazancı ~Şubat ortasında hesabına düşer.
6. Ücretsiz → ücretli geçişi yapılamaz
Bir uygulamayı ücretsiz yayınladıysan sonradan ücretli yapamazsın. Ücretliyi ücretsize çevirebilirsin ama geri dönüşü yok. Bu yüzden ücretsiz + abonelik modeli neredeyse her zaman daha esnek.
7. Dijital içerik satıyorsan Play Billing zorunlu
Uygulama içinde dijital bir şey (premium özellik, kredi, abonelik) satıyorsan Google'ın faturalandırma sistemini kullanmalısın. Fiziksel ürün/hizmet satışında (e-ticaret, yemek siparişi) zorunlu değil.
8. Hedef API seviyesi seni sürekli kovalar
Her yıl Ağustos'ta yükseliyor. 31 Ağustos 2026'dan itibaren yeni uygulamalar ve güncellemeler API 36 (Android 16) hedeflemek zorunda. Uygulamanı yılda en az bir kez güncellemen gerekecek.
9. Hesap kapatılması geri dönüşsüzdür
Politika ihlalinden hesabın kapatılırsa, aynı kimlikle yeni hesap açman da engellenir. "Bir deneyeyim ne olacak" tarzı gri alan denemeleri yapma.
10. Türkiye'de vergi avantajın var
GVK Mükerrer Md. 20/B kapsamında, belirli limit altındaki uygulama gelirleri için şirket kurmadan, tek bir banka hesabı ve stopajla işi bitirebilirsin. Sekme 6. (Mutlaka bir mali müşavirle teyit et.)
Hesap Açma ve Kimlik Doğrulama
Bu sekme sadece bir kez lazım olacak — ama yanlış yapılırsa 25 $ ve haftalar kaybedilir.
Bireysel mi, Kuruluş hesabı mı?
| Kriter | Bireysel (Personal) | Kuruluş (Organization) |
|---|---|---|
| Gereken belge | Kimlik / pasaport + selfie | D-U-N-S numarası + şirket belgeleri |
| Hazırlık süresi | Aynı gün | D-U-N-S için 1–4 hafta |
| 12 tester zorunluluğu | Var | Yok |
| Play'de görünen isim | Seçtiğin geliştirici adı (gerçek adın zorunlu değil) | Şirket adı |
| Herkese açık adres | Gerekli (satış yapıyorsan) | Gerekli |
| Kime uygun | Tek kişi, hobi/yan gelir, hızlı başlangıç | Şirketi olan, ekip, uzun vade |
Adım adım kayıt
- Ayrı bir Google hesabı aç. Kişisel Gmail'ini kullanma.
uygulamaadi.dev@gmail.comgibi ayrı bir hesap; ileride devretmek, ekip eklemek veya kurumsallaşmak istersen hayat kurtarır. Bu hesaba mutlaka 2 adımlı doğrulama kur. - play.google.com/console adresinden "Kendim" (Personal) seçeneğiyle başla.
- Yasal ad alanına kimliğindeki adı birebir yaz (Türkçe karakterler dahil, kimlikte nasılsa öyle).
- 25 $ ödemesini, adı yasal adınla aynı olan bir kartla yap. Eşleşmeyen kart = doğrulama reddi = para gitti.
- Kimlik doğrulama: kimlik/pasaport fotoğrafı + istenirse selfie. Fotoğraf net, tüm köşeler görünür, flaş yansıması olmasın.
- Adres doğrulama: girdiğin adres, ileride Play sayfanda görünecek adres. Bazı durumlarda fatura/ikametgah belgesi istenebilir.
- Onay genelde birkaç saat – 2 iş günü. E-postanı takip et; ek belge istenirse geç cevap vermek süreci uzatır.
- Kimlikteki ad ile kart sahibi adının farklı olması (aile büyüğünün kartıyla ödeme).
- 18 yaşından küçük olmak — hesap açılamaz.
- VPN ile başka ülkeden kayıt olup Türkiye kimliği yüklemek. Ülke bilgisi sonradan değiştirilemez.
- Yasal ad alanına takma ad / marka adı yazmak. Marka adı ayrı alandaki "geliştirici adı"dır.
- Ödeme profilini (Google Payments) hiç kurmadan yayına hazırlanmak; para almanın önkoşulu bu profil.
Geliştirici doğrulaması hakkında (2026 yeniliği)
Google, Play dışında dağıtılan (sideload) uygulamalar için de geliştirici doğrulaması getiriyor; ilk aşama 30 Eylül 2026'da Brezilya, Endonezya, Singapur ve Tayland'da başlıyor. Play Console hesabın varsa doğrulaman zaten yapılmış sayılır. Yani APK'yı sitenden dağıtmayı planlıyorsan bile Play Console hesabı açmak ileride işine yarar.
Hesap açtıktan hemen sonra yapılacaklar
- 2 adımlı doğrulama + yedek kodları güvenli yere kaydet
- Ödeme profilini (Payments profile) oluştur ve banka hesabını ekle
- Vergi bilgileri bölümünü doldur (ABD vergi formu / W-8BEN benzeri beyan)
- Geliştirici adını ve iletişim e-postasını belirle (halka açık görünür)
- Herkese açık adresi ayarla — ev adresi vermek istemiyorsan alternatif adres bul
Yayın Öncesi Hazırlık — Teknik ve İçerik
Kodun bitti sanıyorsun ama Play'in istediği şeylerin yarısı kodla ilgili değil. İşte tam liste.
Teknik zorunluluklar
| Konu | Ne yapman gerekiyor |
|---|---|
| Dosya formatı | APK değil .aab (Android App Bundle) yükleyeceksin. Yeni uygulamalarda APK kabul edilmiyor. |
| Hedef API seviyesi | 31 Ağustos 2026'dan itibaren yeni uygulama ve güncellemeler API 36 (Android 16) hedeflemeli. Mevcut uygulamalar en az API 35. Uzatma talebi 1 Kasım 2026'ya kadar mümkün. |
| 64-bit desteği | Zorunlu. Flutter/React Native/Kotlin ile modern derlersen otomatik gelir. |
| İmzalama | Play App Signing'i aç. Upload key'ini (.jks/.keystore) + şifresini 3 farklı yere yedekle: bulut, harici disk, şifre yöneticisi. |
| Sürüm kodu | Her yüklemede versionCode artmalı (1, 2, 3...). Aynı kod ikinci kez kabul edilmez. |
| İzinler | Kullanmadığın hiçbir izni isteme. Özellikle QUERY_ALL_PACKAGES, konum, SMS, arama kaydı gibi hassas izinler ayrı gerekçe formu ister ve çoğu zaman reddedilir. |
| Boyut | AAB için indirilebilir boyut sınırlarına dikkat; gereksiz görselleri WebP'ye çevir. |
Kodla ilgisi olmayan ama zorunlu olanlar
Gizlilik politikası (Privacy Policy)
Herkese açık, çalışan bir URL'de barındırılmalı. PDF veya Google Docs linki yerine gerçek bir web sayfası olsun. İçermesi gerekenler: hangi verileri topluyorsun, neden, kimlerle paylaşıyorsun, ne kadar saklıyorsun, kullanıcı nasıl silme talep eder, iletişim e-postası. Uygulaman hiç veri toplamıyorsa bile bunu yazan bir politika gerekir.
Pratik çözüm: ücretsiz gizlilik politikası üreticileri (Termly, TermsFeed, Freeprivacypolicy) + GitHub Pages veya Netlify'da ücretsiz yayınlama. Toplam maliyet 0 TL, süre 20 dakika.
Hesap silme (Account Deletion) — çok atlanıyor
Uygulamanda hesap sistemi yoksa bu madde seni ilgilendirmez — ama Data Safety formunda bunu doğru beyan et.
Data Safety (Veri Güvenliği) formu
14 veri kategorisi için tek tek beyan verirsin: topluyor musun, paylaşıyor musun, neden, şifreli mi, kullanıcı silebiliyor mu. Formdaki beyanın ile uygulamanın gerçek davranışı uyuşmak zorunda. Google otomatik tarama yapıyor; uyumsuzluk yayından kaldırma sebebidir.
İçerik derecelendirme ve beyanlar
- İçerik derecelendirme anketi — dürüst doldur; yanlış beyan uygulamayı yaş gruplarından gizler.
- Hedef kitle ve içerik — 13 yaş altını hedefliyorsan Families politikası devreye girer, kuralları çok daha ağırdır. Hedeflemiyorsan net şekilde belirt.
- Reklam beyanı — uygulamanda reklam var mı?
- Devlet uygulaması mı / finansal uygulama mı — evet ise ek belge ister. Kredi, borsa, sağlık gibi alanlar bireysel geliştirici için yüksek risklidir.
Mağaza sayfası (Store Listing) varlıkları
| Varlık | Şart | İpucu |
|---|---|---|
| Uygulama adı | En fazla 30 karakter | İsim + kısa fayda. "Not Defteri – Sesli Kayıt" |
| Kısa açıklama | 80 karakter | Aramada en çok görünen kısım; anahtar kelimeni buraya koy |
| Uzun açıklama | 4000 karakter | İlk 3 satır kritik. Anahtar kelime doldurmak (spam) ret sebebi |
| Uygulama ikonu | 512×512 PNG | Küçükken okunabilir olmalı; içine metin yazma |
| Öne çıkan görsel | 1024×500 | Zorunlu |
| Telefon ekran görüntüsü | En az 2, ideali 6–8 | Üzerine kısa açıklama metni ekle; dönüşümü ciddi artırır |
| Tablet görselleri | Opsiyonel ama önerilir | Yoksa tablet kullanıcılarına daha az önerilirsin |
| Tanıtım videosu | Opsiyonel (YouTube) | 30 sn altı tutulursa faydalı |
Kapalı Test (12 Tester × 14 Gün) ve Yayınlama
Bireysel geliştiricilerin en çok takıldığı, en çok zaman kaybettiği adım. Doğru kurulursa 14 günde biter, yanlış kurulursa aylarca döner durursun.
Kuralın tam tanımı
- En az 12 benzersiz Google hesabı testere katılmış olmalı.
- Bu 12 kişi 14 gün boyunca kesintisiz opt-in durumunda kalmalı.
- Testerlar resmi opt-in linkinden katılmalı ve uygulamayı gerçek bir cihaza kurmalı.
- Sadece Console'a 12 e-posta eklemek saymaz. Kişi linke tıklayıp katılmalı.
- Sayı 14 gün içinde 12'nin altına düşerse sayaç sıfırlanabilir.
Adım adım kurulum
Test grubunu oluştur
Play Console → Test → Kapalı test → yeni sürüm oluştur. Testerlar bölümünde E-posta listesi oluştur ve 12+ Gmail adresi ekle. Güvenlik payı için 15–18 kişi ekle; birileri düşecektir.
AAB'yi yükle ve sürümü yayınla
Sürüm notlarını yaz, incelemeye gönder. Kapalı test sürümleri de Google incelemesinden geçer (genelde birkaç saat – 2 gün).
Opt-in linkini dağıt
Testerlar sekmesindeki "Web'de katılım URL'si"ni kopyala. Her testera bu linki gönder. Kişi linke girip "Become a tester" demeli, sonra Play Store'dan uygulamayı kurmalı.
14 gün boyunca canlı tut
Bu süre içinde 1–3 güncelleme yayınla (gerçek iyileştirmeler). Testerlarla iletişim kur, geri bildirim iste, notlarını sakla — başvuruda lazım olacak.
Production erişimi başvurusu
14 gün dolunca Console'da başvuru butonu açılır. Sorulara somut cevap ver. Ardından inceleme birkaç gün – 1 hafta sürebilir.
12 testerı nereden bulacaksın?
Ücretsiz ve güvenli yollar
- Aile + arkadaşlar (her birinin Gmail'i ayrı olmalı)
- r/androiddev, r/AndroidClosedTesting gibi karşılıklı test toplulukları
- Telegram/Discord "closed testing exchange" grupları
- İş arkadaşları, üniversite grupları, hobi toplulukları
- Aynı durumdaki başka geliştiricilerle karşılıklı test anlaşması
Dikkat edilecekler
- Ücretli "12 tester satan" siteler var; işe yarayabilir ama sahte/bot hesap kullanan servisler hesabını riske atar
- Aynı cihazda 12 hesap açıp kurmak tespit edilebilir — yapma
- Testerlara "sadece katıl, kurma" deme; kurulum ve kullanım bekleniyor
- Emülatör ağırlıklı test şüphe çeker
Production başvurusunda ne yazmalı?
Google'ın en sık ret sebebi: muğlak, kopyala-yapıştır cevaplar. Şu yapıyı kullan:
Soru: Testten ne öğrendiniz?
"14 gün boyunca 14 aktif tester uygulamayı kullandı. Üç somut sorun tespit edildi: (1) Android 13 cihazlarda bildirim izni istenmediği için hatırlatmalar çalışmıyordu — v1.0.3'te izin akışı eklendi. (2) Kullanıcıların 5'i kayıt ekranındaki 'devam' butonunu göremediğini bildirdi, buton konumu ve kontrastı değiştirildi. (3) Offline modda veri kaybı yaşandığı raporlandı, yerel önbellek yazma sırası düzeltildi. Geri bildirimleri e-posta ve bir Google Form üzerinden topladım; çökme oranı %2,1'den %0,3'e düştü."
Yayın kanalları — hangisi ne işe yarar?
| Kanal | Kimler görür | İnceleme | Ne zaman kullanılır |
|---|---|---|---|
| Dahili test (Internal) | En fazla 100 kişi, liste ile | Yok/çok hızlı | Kendi hızlı denemelerin. 12 tester kuralına saymaz. |
| Kapalı test (Closed) | E-posta listesi / Google Grubu | Var | Zorunlu 12×14 süreci burada işler |
| Açık test (Open) | Herkes katılabilir | Var | Beta kullanıcı toplamak, production öncesi son kontrol |
| Üretim (Production) | Tüm Play kullanıcıları | Var (en sıkı) | Gerçek yayın |
Yayınlama sonrası ilk 48 saat
- Kademeli yayın (staged rollout) ile %20'den başla, sorun yoksa artır
- Android Vitals'ta çökme ve ANR oranını izle (çökme < %1,09, ANR < %0,47 hedefi)
- İlk yorumlara 24 saat içinde cevap ver — algoritma ve kullanıcı algısı için önemli
- Play Console'da "Uygulama içi güncelleme" ve "Uygulama içi yorum" API'lerini planla
- Analitik: en az bir kurulum-açılış-kayıt hunisi kur
Uygulama İçi Satın Alma ve Abonelik
Bireysel geliştirici için en sürdürülebilir model: ücretsiz uygulama + abonelik. Bu sekmede kurulum, fiyatlama ve kaçınılması gereken tuzaklar.
Hangi modeli seçmeli?
| Model | Artı | Eksi | Kime uygun |
|---|---|---|---|
| Ücretli uygulama | Basit, tek seferlik | İndirme oranı çok düşer; iade riski; sonradan ücretsize dönüş tek yönlü | Niş, net değeri olan araçlar |
| Ücretsiz + tek seferlik satın alma | Deneyip almak mümkün; iyi dönüşüm | Tekrarlayan gelir yok | Yardımcı araçlar, oyunlar |
| Ücretsiz + abonelik Önerilen | Tekrarlayan gelir, düşük komisyon (%10), tahmin edilebilirlik | Sürekli değer üretmen gerekir; iptal yönetimi | İçerik, üretkenlik, yapay zeka, takip uygulamaları |
| Ücretsiz + reklam | Sıfır sürtünme | Anlamlı gelir için çok yüksek kullanıcı gerekir; kullanıcı deneyimi düşer | Yüksek hacimli, günlük kullanımlı uygulamalar |
Abonelik kurulumu — Play Console'da yapı
Play'de abonelik üç katmanlıdır. Bu yapıyı anlamak sonradan yaşanacak karışıklığı önler:
- Abonelik (Subscription)
- Ürünün kendisi. Örn. "Premium". Kimlik:
premium - Temel plan (Base plan)
- Faturalama periyodu ve fiyat. Örn. aylık 99 TL, yıllık 799 TL. Bir abonelik altında birden çok temel plan olabilir.
- Teklif (Offer)
- Kampanya. Örn. "7 gün ücretsiz deneme", "ilk 3 ay %50". Temel plana bağlanır.
Pratik kurulum sırası
- Play Console → Para kazanma → Abonelikler → abonelik oluştur.
- Aylık ve yıllık iki temel plan ekle. Yıllığı aylığın ~8–10 katı fiyatla ver (yani ~%20–30 indirim hissi).
- Yeni kullanıcılar için 7 gün ücretsiz deneme teklifi ekle. Deneme, dönüşümü genelde ciddi artırır.
- Ülke fiyatlarını kontrol et. Google otomatik dönüşüm önerir ama Türkiye gibi pazarlarda otomatik fiyat çoğu zaman çok yüksek kalır — elle düzelt.
- Uygulamada Play Billing Library'i entegre et; satın alma doğrulamasını mutlaka sunucu tarafında yap (yoksa kırma uygulamalar bedava premium açar).
- Lisans testi hesapları ekleyerek gerçek para harcamadan satın alma akışını test et.
Komisyon oranları — 2026 durumu
2026, Play'in ücret yapısının değiştiği bir yıl. Epic davası sonrası Google, hizmet ücreti ile faturalandırma ücretini ayırmaya başladı (30 Haziran 2026'dan itibaren önce ABD, AEA ve Birleşik Krallık'ta).
| Durum | Oran |
|---|---|
| Yıllık ilk 1.000.000 $ kazanç (çoğu bireysel geliştirici burada) | %10 hizmet ücreti |
| Otomatik yenilenen abonelikler | %10 hizmet ücreti |
| 1.000.000 $ üzeri standart işlemler | %15'ten başlayan kademeli oranlar |
| Google Play Billing kullanımı (ABD/AEA/BK, 30 Haz 2026 sonrası) | +%5 faturalandırma ücreti |
Fiyatlama — bireysel geliştirici için pratik kurallar
- Türkiye fiyatını ayrı düşün. 4,99 $'ın otomatik TL karşılığı Türkiye'de satmaz. Yerel fiyatı elle, satın alma gücüne göre belirle.
- Yıllık planı öne çıkar. Aylık abonelerin ilk 3 ayda kayıp oranı yüksektir; yıllık plan nakit akışını ve toplam geliri iyileştirir.
- Deneme süresini kısa tut. 3–7 gün genelde 30 günden daha iyi dönüşür; kullanıcı unutmadan karar verir.
- Fiyatı sonradan artırmak zordur. Mevcut abonelerin fiyatını artırmak için Google'ın bildirim ve onay akışını izlemen gerekir; bazı durumlarda abone onay vermezse abonelik iptal olur.
- Paywall'ı erken gösterme. Kullanıcı değeri görmeden çıkan ödeme ekranı silme sebebidir. Önce bir "aha" anı yaşat.
Abonelik yönetiminde bilinmesi gerekenler
- İade (refund): Kullanıcı 48 saat içinde Play üzerinden otomatik iade alabilir. Sonrasında talep sana veya Google'a gelir. İade politikanı store listing'de net yaz.
- Ödeme hatası (grace period / account hold): Kartı geçmeyen aboneyi hemen kesme. Play'in "ödeme sorunu süresi" (grace period) ve "hesap beklemede" ayarlarını aç; gelirinin gözle görülür bir kısmını kurtarır.
- İptal anketi: Play, iptal sebeplerini Console'da gösterir. Ayda bir bak.
- Vergi: Google birçok ülkede KDV/satış vergisini kendisi toplar ve öder. Türkiye'de satılan uygulamalar için KDV genelde Google tarafından yönetilir — ama vergi ayarlarındaki beyanları doğru doldurman şart.
- Ödeme eşiği: Kazancın 100 $'ı geçtiği ayı takip eden ayın ~15'inde ödeme yapılır.
Para Nasıl Geliyor ve Türkiye'de Vergisi
Bu bölüm bilgilendirme amaçlıdır, mali müşavir tavsiyesi değildir. Rakamlar ve limitler her yıl değişir — işleme geçmeden bir mali müşavirle teyit et.
Google'dan paranın akışı
Kullanıcı öder
Ödemeyi Google alır, ülke vergisini (KDV vb.) çoğu pazarda kendisi hesaplar/öder.
Komisyon düşülür
Hizmet ücreti (+ varsa faturalandırma ücreti) kesilir.
Ay kapanır
Kazançlar ay sonunda kesinleşir; iadeler ve ters ibrazlar düşülür.
Ödeme yapılır
Bakiye 100 $ eşiğini geçtiyse, takip eden ayın ~15'inde tanımladığın banka hesabına transfer edilir (genellikle Google'ın yurt dışı tüzel kişiliği üzerinden, USD/EUR olarak).
Play Console'da doldurman gereken finansal ayarlar
- Ödeme profili (Google Payments) oluşturuldu, yasal ad ve adres doğru
- Banka hesabı eklendi ve Google'ın gönderdiği küçük tutarla doğrulandı
- Vergi bilgileri bölümünde ABD vergi beyanı (Türkiye mukimi için W-8BEN benzeri) tamamlandı
- Vergi kimlik numaran / TCKN'in ilgili alanlara girildi
- Para birimi ve ülke bazlı fiyatlar kontrol edildi
Türkiye'de vergilendirme — üç yol
| Yol | Nasıl işler | Avantaj | Dezavantaj |
|---|---|---|---|
| GVK Mük. 20/B istisnası (uygulama geliştirici istisnası) | Vergi dairesinden istisna belgesi alınır, özel bir banka hesabı açılır, gelir sadece o hesaba gelir, banka otomatik stopaj keser | Şirket kurmadan yasal; beyanname yükü çok hafif; muhasebe maliyeti minimum | Limit var (2026 için ~5,3 milyon TL seviyesinde konuşuluyor); gelir mutlaka o hesaba gelmeli; başka ticari faaliyetle karışırsa istisna bozulabilir |
| Şahıs şirketi | Normal gelir vergisi mükellefiyeti, defter, KDV beyannamesi | Limit yok; gider yazabilirsin; kurumsal işlemler kolaylaşır | Mali müşavir + BAĞ-KUR + beyanname yükü |
| Limited şirket | Kurumlar vergisi mükellefiyeti | Ölçeklenme, yatırım, ortaklık | Kuruluş ve işletme maliyeti yüksek; küçük gelirde gereksiz |
- Gelir istisna hesabı dışında bir hesaba gelirse istisna o yıl için riske girer.
- Reklam geliri (AdMob), abonelik geliri ve uygulama satış gelirinin bu kapsama girip girmediğini müşavirine ayrı ayrı sor.
- Yurt dışı kaynaklı hizmet ihracı niteliğindeki gelirlerde KDV istisnası söz konusu olabilir; bu da beyan gerektirir.
- Limitler ve oranlar her yıl yeniden belirlenir. 2026 rakamları kesin değil — resmi tebliğe ve müşavirine güven, internetteki blog yazılarına değil.
Gerçekçi kazanç tablosu
| Senaryo | Aktif kullanıcı | Model | Kaba aylık brüt |
|---|---|---|---|
| Yeni yayınlanmış, pazarlama yok | 50–500 | Abonelik | 0 – 1.000 TL |
| Niş sorunu iyi çözen, organik büyüyen | 2.000–10.000 | Abonelik %2 dönüşüm | 4.000 – 25.000 TL |
| ASO + içerik pazarlaması yapılan | 20.000–50.000 | Abonelik + reklam | 40.000 – 150.000 TL |
| Sadece reklam, düşük etkileşim | 10.000 | Banner + geçiş reklamı | 1.500 – 8.000 TL |
Bu tablo yönlendirme amaçlıdır; kategori, ülke dağılımı ve kullanım sıklığı sonucu 10 kat değiştirebilir. Ana çıkarım: reklam modeli bireysel geliştirici için çok yavaş, abonelik çok daha verimli.
PWA mı, Google Play mi?
Yanlış seçim aylar kaybettirir. Bu sekmedeki tabloyla 5 dakikada karar verebilirsin.
Hızlı karar tablosu
| Kriter | PWA (web uygulaması) | Google Play (native/hibrit) |
|---|---|---|
| Başlangıç maliyeti | 0 $ · domain hariç | 25 $ + zaman |
| Yayına çıkma süresi | Aynı gün | 4–8 hafta (12 tester dahil) |
| İnceleme / onay süreci | Yok | Var, her güncellemede |
| Güncelleme | Anında, kullanıcı hiçbir şey yapmaz | İnceleme + kullanıcının güncellemesi |
| Keşfedilebilirlik | Sadece Google araması / paylaşım linki | Play Store araması, kategoriler, öneriler |
| Kullanıcı güveni | "Sadece bir site" algısı | Mağazada olmak güven verir |
| Kurulum sürtünmesi | "Ana ekrana ekle" adımı çoğu kullanıcıya yabancı | Tek dokunuş kurulum |
| Push bildirim (Android) | Çalışır | Çalışır, daha güvenilir |
| Push bildirim (iOS) | Sınırlı, kullanıcı ana ekrana eklemeli | — |
| Donanım erişimi (Bluetooth, arka plan konum, sensörler, dosya sistemi) | Kısıtlı | Tam |
| Arka planda çalışma | Çok kısıtlı | Var |
| Ödeme / abonelik | Stripe, iyzico vb. — komisyon yok (%2–4 ödeme sistemi ücreti) | Play Billing zorunlu, %10–15 |
| Offline çalışma | Service worker ile kısmen | Tam |
| Performans (ağır grafik/oyun) | Zayıf | Güçlü |
Karar kuralları
PWA seç, eğer…
- Fikrini hızlı test etmek istiyorsun
- Uygulaman esasen içerik/form/panel gösteriyor
- Kullanıcılara zaten bir kanaldan (site, sosyal medya, e-posta) ulaşıyorsun
- Komisyon vermek istemiyorsun ve kendi ödeme sistemini kuracaksın
- Sık güncelleme yapacaksın
- Hem Android hem iOS hem masaüstünü tek kodla kapsamak istiyorsun
Play Store seç, eğer…
- Mağaza aramasından organik kullanıcı bekliyorsun
- Bildirim, kamera, konum, arka plan görevleri kritik
- Abonelik satacaksın ve kullanıcı Play güvencesi bekliyor
- Oyun veya grafik ağırlıklı bir şey yapıyorsun
- Uzun vadeli bir ürün kuruyorsun, marka istiyorsun
- Kurumsal müşteriler "mağazada var mı" diye soruyor
PWA'yı Play Store'a koymak: TWA
TWA (Trusted Web Activity), PWA'nı native kod yazmadan Play Store'da yayınlamanı sağlar. Uygulama aslında tam ekran, adres çubuğu olmayan bir Chrome penceresidir.
Nasıl yapılır (özet)
- PWA'n HTTPS'te olmalı, geçerli bir
manifest.jsonve service worker içermeli. - Lighthouse PWA skorun 80+ olmalı (Chrome DevTools → Lighthouse).
- PWABuilder.com (kod yazmadan, tarayıcıdan) veya Bubblewrap (komut satırı) ile
.aabüret. - Digital Asset Links dosyasını (
/.well-known/assetlinks.json) sitene koy — bu, adres çubuğunun kaybolması için zorunludur. Yapmazsan uygulaman içinde tarayıcı çubuğu görünür ve amatör durur. - AAB'yi Play Console'a yükle, normal süreçten geçir.
- Play politikası gereği dijital ürün satıyorsan yine Play Billing kullanmalısın (Digital Goods API ile). "TWA yaparım Stripe kullanırım" planı Play'de politika ihlalidir.
- Sadece web sitesini saran, ek değeri olmayan uygulamalar "minimum işlevsellik" politikasından reddedilebilir. Offline destek, bildirim, kısayol gibi gerçek uygulama davranışları ekle.
- Cihaz özelliklerine erişim yine web sınırlarındadır.
Üçüncü seçenek: hibrit çatılar
Flutter, React Native veya Capacitor ile tek kod tabanından gerçek native uygulama çıkarabilirsin. Teknik bilgin sınırlıysa Flutter (tek dil, iyi dokümantasyon) veya Capacitor (mevcut web uygulamanı native'e sarar, TWA'dan çok daha fazla cihaz erişimi verir) en pratik iki seçenektir.
Karşılaşacağın Sorunlar ve Çözümleri
Bireysel geliştiricilerin en sık takıldığı durumlar, sebepleri ve ne yapman gerektiği.
En sık 12 ret / askıya alma sebebi
| Sorun | Neden olur | Çözüm |
|---|---|---|
| Data Safety uyumsuzluğu | Formda "veri toplamıyorum" dedin ama AdMob/Firebase var | SDK'larının topladığı her veriyi tek tek beyan et; SDK dokümanına bak |
| Gizlilik politikası erişilemiyor | Link kırık, giriş istiyor, PDF veya boş sayfa | Herkese açık HTML sayfası; gizli pencerede test et |
| Hesap silme yolu yok | Uygulamada hesap var ama silme akışı/URL yok | Uygulama içi silme + web talep sayfası, ikisi de |
| Minimum işlevsellik | Sadece web sitesi sarmalayıcı, tek sayfalık içerik, şablon uygulama | Gerçek özellik ekle: offline, bildirim, kişiselleştirme, kaydetme |
| Yanıltıcı mağaza sayfası | Ekran görüntüleri uygulamayla uyuşmuyor, açıklamada anahtar kelime spam'i, "en iyi", "1 numara" iddiaları | Görselleri gerçek ekranlardan üret; abartılı iddia kullanma |
| Hassas izinler | SMS, arama kaydı, konumda arka plan erişimi, QUERY_ALL_PACKAGES | İzni kaldır veya izin beyan formunu çok detaylı doldur; video ile göster |
| Fikri mülkiyet ihlali | Marka logosu, telifli görsel/font/müzik, başka uygulamaya benzeyen ikon | Sadece lisansı net varlıklar kullan (Unsplash, Google Fonts, kendi tasarımın) |
| Kısıtlı içerik | Bahis, kripto ticareti, sağlık iddiası, borç/kredi, yetişkin içerik | Bu kategoriler bireysel hesap için yüksek risk; çoğu ülkede ek lisans ister |
| API seviyesi eski | Hedef API güncel değil | Yılda bir güncelleme takvimi kur |
| Reklam politikası ihlali | Tam ekran reklamı kapatılamıyor, uygulama açılışında reklam, yanıltıcı reklam butonu | Reklam yerleşimini politika dokümanına göre gözden geçir |
| Kullanıcı verisi izinsiz paylaşımı | Analitik/reklam SDK'ları izin alınmadan veri gönderiyor | Uygulama içi izin ekranı ekle (özellikle AEA kullanıcıları için) |
| Tekrarlanan/spam uygulama | Aynı şablondan çok sayıda benzer uygulama | Tek, kaliteli uygulamaya odaklan |
Ret aldın, ne yapacaksın?
- Panik yapma, hesap kapatma sinyali değildir. İlk ret çoğu zaman düzeltilebilir bir formalitedir.
- E-postadaki politika adını oku (örn. "Data Safety", "Deceptive Behavior"). Google o politikanın linkini verir; tam metnini oku.
- Düzeltmeyi yap, versionCode'u artır, yeni sürüm yükle.
- İtiraz ediyorsan (appeal): kısa, saygılı, somut yaz. "Bunu yanlış anlıyorsunuz" değil; "X politikası kapsamında Y'yi kaldırdım, Z'yi ekledim, ekran görüntüsü ektedir" tarzı.
- Aynı hatayla üst üste birden fazla itiraz gönderme; her ret hesabında iz bırakır.
- Sahte indirme, sahte yorum, bot tester kullanma.
- Aynı kişiye ait ikinci bir Play Console hesabı açma (özellikle ilki cezalıysa) — bu doğrudan kalıcı yasak sebebidir.
- Politika ihlali uyarısı geldiğinde verilen süre içinde mutlaka aksiyon al.
- Uygulamanın davranışını yayından sonra sunucu üzerinden gizlice değiştirme (gizli işlevsellik).
- Telifli içerik, indirilen video/müzik erişimi sunan uygulamalardan uzak dur.
Yayın sonrası tipik sorunlar
"Hiç indirme almıyorum"
Play Store organik trafik vermez, kazandırır. İlk 100 kullanıcıyı sen getireceksin: ilgili forumlar, Reddit, X, TikTok, niş Facebook grupları, kendi çevren. ASO (isim + kısa açıklama + ekran görüntüleri) bunun üstüne çalışır.
"Kötü yorum aldım, puanım düştü"
Her yoruma cevap ver. Sorun çözüldüğünde kullanıcıya haber ver — çoğu puanını günceller. Play'in uygulama içi yorum isteme API'sini memnuniyet anında tetikle (örn. görev tamamlandıktan sonra).
"Çökme oranım yüksek"
Android Vitals'ta eşiği aşarsan uygulaman öneri algoritmasında geriye düşer. Crashlytics kur, en sık 3 çökmeyi düzelt, kademeli yayınla.
"Kullanıcılar ilk gün siliyor"
Genelde onboarding sorunudur. İlk açılışta kayıt zorunlu tutma, izinleri hepsini birden isteme, değeri ilk 30 saniyede göster.
"Uygulamam kırıldı, premium bedava"
Sunucu tarafı doğrulama şart. RevenueCat veya kendi backend'inle Google Play Developer API doğrulaması yap.
"Google'a nasıl ulaşırım?"
Play Console → sağ üst Yardım / Destek → konuya göre e-posta veya sohbet. Cevap 1–3 iş günü. Politika ekibi ile destek ekibi farklıdır; politika kararlarını destek değiştiremez, itiraz formu gerekir.
Kontrol Listeleri
Kutucuklara tıklayabilirsin. Yayına çıkmadan önce buradaki her maddeyi işaretlemiş ol.
A · Hesap ve hukuki
- Ayrı bir Google hesabı açıldı, 2FA aktif, yedek kodlar kaydedildi
- 25 $ ödendi, kimlik doğrulaması onaylandı
- Yasal ad = kimlik = ödeme kartı adı
- Ödeme profili ve banka hesabı doğrulandı
- ABD vergi beyanı (W-8BEN benzeri) tamamlandı
- Herkese açık geliştirici adresi belirlendi (ev adresi vermek istemiyorsan alternatif hazır)
- Mali müşavirle görüşüldü, vergi yapısı (20/B / şahıs şirketi) kararlaştırıldı
B · Teknik
- Paket adı nihai ve profesyonel (
com.markam.uygulama) .aabüretiliyor, hedef API güncel (2026: API 36)- Play App Signing açık; upload keystore 3 yere yedeklendi
- Kullanılmayan tüm izinler kaldırıldı
- Crashlytics / hata takibi kurulu
- En az 3 farklı Android sürümünde gerçek cihazda test edildi
- Offline / zayıf internet durumu test edildi
- Karanlık tema ve büyük yazı tipi ile bozulma kontrolü yapıldı
- Uygulama içi satın alma sunucu tarafında doğrulanıyor
C · İçerik ve politika
- Gizlilik politikası canlı bir URL'de, gizli pencerede açılıyor
- Hesap silme: uygulama içi akış + web talep sayfası hazır
- Data Safety formu, kullanılan tüm SDK'lar dikkate alınarak dolduruldu
- İçerik derecelendirme anketi dürüst dolduruldu
- Hedef kitle / çocuklara yönelik beyanı yapıldı
- Reklam varlığı beyan edildi
- Tüm görseller, font ve müzikler lisanslı veya kendi üretimin
- Store listing'de abartılı iddia ve anahtar kelime spam'i yok
D · Mağaza sayfası
- Uygulama adı ≤ 30 karakter, anahtar kelime içeriyor
- Kısa açıklama (80 karakter) fayda odaklı yazıldı
- Uzun açıklamanın ilk 3 satırı ikna edici
- 512×512 ikon + 1024×500 öne çıkan görsel hazır
- En az 6 ekran görüntüsü, üzerinde açıklama metniyle
- Destek e-postası çalışıyor ve düzenli kontrol ediliyor
E · Test ve yayın
- Kapalı test oluşturuldu, 15+ tester davet edildi
- Testerların hepsi opt-in linkinden katıldı ve uygulamayı kurdu
- 14 gün boyunca sayı 12'nin altına düşmedi
- Test süresince en az 1 anlamlı güncelleme yayınlandı
- Geri bildirimler ve yapılan düzeltmeler not edildi
- Production başvurusu somut örneklerle dolduruldu
- Kademeli yayın (%20) ile başlandı
F · Yayın sonrası ilk ay
- Android Vitals haftada bir kontrol ediliyor
- Tüm yorumlara cevap veriliyor
- Abonelik dönüşüm oranı ve iptal sebepleri izleniyor
- İlk 100 kullanıcı için pazarlama kanalı belirlendi ve çalıştırıldı
- Ödeme eşiği (100 $) ve ilk ödeme tarihi takip ediliyor
- Bir sonraki güncelleme planlandı (ilk ay içinde en az bir güncelleme yayınla)