Google Play Store Uygulama Yayınlama ve Başvuru Rehberi (Sıfırdan Yayına)
Bu rehber; modern bir Android uygulamasının (özellikle .NET MAUI, MonoGame veya hibrit C# projeleri) Google Play Console üzerinde sıfırdan oluşturulması, paketlenmesi, imzalanması, karşılaşılan kritik hataların çözülmesi ve mağaza başvuru adımlarının (Uygulama Oluşturma, Gizlilik Politikası, Giriş İzinleri, Reklamlar, IARC Yaş Derecelendirmesi, Veri Güvenliği, Kapalı Test ve Açık Yayın) tamamlanması süreçlerini adım adım açıklamaktadır.
İçindekiler
- Giriş ve Mimari Hazırlık
- Play Console'da Sıfırdan Yeni Uygulama / Oyun Oluşturma (Create App)
- Keystore Oluşturma ve Build/Sign Otomasyonu
- Play Console İlk Bundle Yüklemesi ve Kritik Hatalar
- Gizlilik Politikası (Privacy Policy) Hazırlığı
- Uygulama Erişimi / Giriş Detayları (App Access / Sign-in Details)
- Reklam Beyanı (Ads Declaration)
- İçerik Derecelendirmesi (IARC Content Rating Questionnaire)
- Hedef Kitle ve Yaş Grubu Seçimi (Target Audience)
- Uygulama İçeriği Kontrol Paneli (App Content Dashboard)
- Veri Güvenliği Formu (Data Safety Form)
- Yasal ve Regülasyon Beyanları (Devlet, Finans, Sağlık)
- Mağaza Ayarları ve İletişim Bilgileri (Store Settings)
- Ana Mağaza Girişi ve Görsel Varlıklar (Main Store Listing)
- Kapalı Test (Closed Testing) Kurulumu ve İnceleme
- Reklam Kimliği Beyanı (Advertising ID Declaration)
- İncelemeye Gönderme (Final Submission)
- Nihai Zafer: Production Access (Açık Yayın) Onayı
- Yayın Öncesi Kontrol Listesi (Tamamlandı)
1. Giriş ve Mimari Hazırlık
Google Play Store'da yeni bir uygulama yayınlarken Google'ın güncel güvenlik ve teknik politikalarına uyulması gerekmektedir:
- Paket Formatı: Yalnızca
.aab(Android App Bundle) formatı kabul edilir. APK dosyaları mağaza yayını için geçerli değildir (ancak test amaçlı yan yüklemeler için üretilebilir). - Minimum Target SDK: Google Play artık yeni yayınlanan veya güncellenen uygulamalarda en az Android API Level 36 (Android 16) hedeflemesini zorunlu kılmaktadır.
- Güvenli İmzalama: Uygulama v2/v3 şema uyumlu 2048-bit RSA anahtarı ile imzalanmalıdır.
2. Play Console'da Sıfırdan Yeni Uygulama / Oyun Oluşturma (Create App)
Google Play Console paneline (play.google.com/console) giriş yapıldıktan sonra tüm uygulamalar listesinin bulunduğu ana ekranda sağ üstteki mavi "Create app" (Uygulama oluştur) butonuna tıklanarak yayın süreci başlatılır. Bu form, uygulamanın konsol üzerindeki dijital kimliğini, paket adını ve temel mağaza sınıflandırmasını belirler.
A. Uygulama Ayrıntıları (App Details)
- App Name (Uygulama Adı):
- Mağazada kullanıcılara görünecek ilk resmi isimdir.
- Maksimum 30 karakter ile sınırlıdır (Örn:
YourAppName). - Tavsiye: Başlıkta gereksiz anahtar kelime yığmaktan (keyword stuffing) veya yanıltıcı/promosyonel kelimelerden ("En İyi", "Ücretsiz", "#1") kaçınılmalıdır; aksi halde Google Play incelemesinden ret alabilir.
- Package Name (Paket Adı):
- Android ekosisteminde uygulamanızı dünya çapında benzersiz şekilde tanımlayan Java/Android paket tanımlayıcısıdır (Ters alan adı kuralı, örn:
com.yourcompany.appname). - Maksimum 150 karakter olabilir.
- ⚠️ Kritik Kural: Uygulama bu ekranda oluşturulduktan ve ilk bundle yüklendikten sonra paket adı bir daha asla değiştirilemez! Kod tarafındaki
AndroidManifest.xmlve.csprojdosyasındakiApplicationId(<ApplicationId>com.yourcompany.appname</ApplicationId>) bu değerle harfi harfine aynı olmalıdır. Check availability(Kullanılabilirlik Kontrolü): Butona basılarak belirlediğiniz paket adının Google Play ekosisteminde daha önce başka bir geliştirici tarafından tescil edilip edilmediği anında sorgulanır.
- Android ekosisteminde uygulamanızı dünya çapında benzersiz şekilde tanımlayan Java/Android paket tanımlayıcısıdır (Ters alan adı kuralı, örn:
- Default Language (Varsayılan Dil):
- Uygulamanın birincil mağaza listeleme dilidir (Örn:
English (United States) – en-US). - Özel bir yerelleştirme (çeviri) tanımlanmamış tüm ülkelerdeki kullanıcılara mağaza bilgileri bu varsayılan dilde sunulur.
- Uygulamanın birincil mağaza listeleme dilidir (Örn:
B. Uygulama Türü, Fiyatlandırma ve Beyanlar
- App or Game (Uygulama veya Oyun):
- Ürünün temel türü belirlenir (
AppveyaGame). - Kritik Not: Bu seçim mağazanın ilgili ana kategorisini (Uygulamalar sekmesi veya Oyunlar sekmesi) belirler ve sonradan değiştirilemez.
- Ürünün temel türü belirlenir (
- Free or Paid (Ücretsiz veya Ücretli):
- Uygulamanın mağazada ücretsiz mi yoksa ücretli bir satın alma olarak mı yer alacağı seçilir.
- ⚠️ Kritik Geri Dönüşsüz Kural: Google Play politikalarına göre, bir kez "Free" (Ücretsiz) olarak yayınlanan bir uygulama ileride asla "Paid" (Ücretli) yapılamaz! Eğer ürününüzü doğrudan mağazada satmak istiyorsanız başlangıçta
Paidseçmelisiniz. Ücretsiz yayınlayıp gelir elde etmek için ise In-App Purchase (Uygulama İçi Satın Alma) veya AdMob reklamları tercih edilmelidir.
- Automatic Protection (Otomatik Play Protect Bütünlük Koruması):
- Google Play, uygulamanızın APK/AAB koduna otomatik yükleyici denetimi (installer check) ekler. Kullanıcılar uygulamanızı Google Play harici yetkisiz kaynaklardan yan yükleme (sideload) yoluyla edinirse, orijinal sürümü Google Play'den indirmeleri yönünde uyarılırlar.
- Declarations (Yasal Beyanlar ve Politikalar):
- Developer Program Policies (Geliştirici Program Politikaları): Uygulamanın Google Play geliştirici ve içerik politikalarına tamamen uyduğu teyit edilir.
- US Export Laws (ABD İhracat Yasaları): Yazılımın ABD ihracat yasalarına ve ambargo düzenlemelerine uygun olduğu kabul edilir.
- Create App (Uygulama Oluştur):
- Form onaylandıktan sonra sağ alttaki mavi "Create app" butonuna basılır. Konsol uygulamayı sisteme işler ve geliştiriciyi uygulamanın ana yönetim paneline (Dashboard) aktarır.
3. Keystore Oluşturma ve Build/Sign Otomasyonu
Dağıtım sürecini hatasız ve tekrar edilebilir kılmak için proje kökünde bir Deploy/ klasörü ve otomasyon scriptleri oluşturulmalıdır.
A. Keystore Üretimi (1_CreateKeystore.bat)
JDK içindeki keytool kullanılarak 25 yıl (10.000 gün) geçerli bir anahtar üretilir:
keytool -genkeypair -v ^
-keystore "%KEYSTORE_PATH%" ^
-alias %ALIAS% ^
-keyalg RSA ^
-keysize 2048 ^
-validity 10000 ^
-storepass "%PASS%" ^
-keypass "%PASS%" ^
-dname "CN=SirketAdi, OU=Apps, O=SirketAdi, C=TR"
İpucu: Windows batch dosyalarında
set /pile kullanıcıdan şifre alırken parantezliif (...)blokları kullanmak sözdizimi hatalarına (: was unexpected at this time) yol açabilir. Akışıgotoetiketleriyle yönetmek ve şifre parametrelerini"%PASS%"şeklinde tırnak içine almak stabilite sağlar.
B. Otomatik Versiyonlama ve İmzalı AAB Derleme (2_BuildAndSign_AAB.bat)
Google Play her güncellemede strictly increasing (kesin artan) bir versionCode bekler. Bunu otomatik yönetmek için tarih ve saate dayalı bir formül kullanılır:
# Yılın son hanesi + Ay + Gün + Saat + Dakika (Örn: 2026-10-06 02:42 -> 610060242)
$vc = (Get-Date).ToString('yy').Substring(1) + (Get-Date).ToString('MMddHHmm')
Derleme ve imzalama komutları:
dotnet build "Proje.Android.csproj" -c Release -f net9.0-android /p:AndroidPackageFormat=aab /p:ApplicationVersion=%VERSION_CODE% /p:ApplicationDisplayVersion=%VERSION_NAME%
jarsigner -sigalg SHA256withRSA -digestalg SHA-256 ^
-keystore "%KEYSTORE%" ^
-storepass "%PASS%" ^
-keypass "%PASS%" ^
-signedjar "%SIGNED_FILE%" ^
"%AAB_INPUT%" ^
%ALIAS%
İşlem bittiğinde start "" "%OUTPUT%" komutu ile derlenen dosyanın bulunduğu klasör doğrudan Windows Gezgini'nde açılır.
4. Play Console İlk Bundle Yüklemesi ve Kritik Hatalar
İmzalı .aab dosyası Google Play Console'da Internal testing (Dahili test) veya Production kanalına yüklendiğinde aşağıdaki ekran ile karşılaşılabilir:
Hata 1: Target API Level 36 (Android 16) Zorunluluğu
Hata Mesajı:
"Your app currently targets API level 35 and must target at least API level 36 to ensure it is built on the latest APIs optimized for security and performance."
Çözüm:
Bu hata bloklayıcıdır ve çözülmeden sürüm oluşturulamaz.
Platforms/Android/AndroidManifest.xmldosyasında<uses-sdk>etiketini açıkça tanımlayın:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.yourcompany.appname">
<uses-sdk android:minSdkVersion="24" android:targetSdkVersion="36" />
...
</manifest>
- Proje
.csprojdosyasındaki<PropertyGroup>içerisine ekleyin:
<AndroidTargetSdkVersion>36</AndroidTargetSdkVersion>
Hata 2: Version Code Significantly Higher Uyarısı
Uyarı Mesajı:
"This release's version code is significantly higher than your previous version code. Over time, this will result in your app reaching the maximum limit for version codes... Learn more"
Çözüm:
- Projenin önceki sürüm kodu küçük bir sayı (örn: 1 veya 8) iken dinamik tarih formatına geçildiğinde (örn: 610 milyon) Google Play bu uyarıyı verir.
- Bu engelleyici bir hata değildir. Uyarının hemen altındaki mavi
Proceed anyway(Yine de devam et) butonuna tıklayarak geçilebilir. - Sonraki yüklemelerde bu numara baz alınacağı için büyük sıçrama uyarısı tekrar çıkmayacaktır.
5. Gizlilik Politikası (Privacy Policy) Hazırlığı
Google Play politikalarına göre uygulamanız hassas veri toplamasa dahi herkesin erişebileceği, aktif bir SSL'e sahip, standart bir web sayfası (PDF değil) formatında Gizlilik Politikası bağlantısı zorunludur.
GitHub Üzerinde Ücretsiz Barındırma
GitHub deposundaki bir markdown dosyası (blob/main/...) Google tarafından doğrudan geçerli bir web sayfası olarak kabul edilir.
Politikada Yer Alması Gereken Temel Başlıklar
- Reklamlar (Google AdMob): Banner, geçiş ve ödüllü reklamlar; Android Reklam Kimliği (
AD_ID), teknik cihaz verileri ve yaklaşık IP konumu kullanımı. - Uygulama İçi Satın Alma & Abonelikler (Google Play Billing): Ödemelerin tamamen Google altyapısında gerçekleştiği, geliştiricinin kart veya fatura bilgilerine asla erişmediği.
- Analitik & Telemetri (Firebase Analytics & Crashlytics): Anonim kullanım olayları ve çökme raporları.
- Onay Yönetimi (Google UMP): GDPR ve KVKK uyumlu onay pencereleri ve kullanıcının ayarlar üzerinden tercihini değiştirebilme hakkı.
- Yasal İstisnalar & Özel Beyanlar (Örn. Şans Oyunları / Tahmin Araçları):
- Uygulamanın kesinlikle bir bahis/şans oyunu oynatma mecrası olmadığı.
- Sadece matematiksel kupon optimizasyonu ve istatistik desteği sunduğu.
- Resmi bayilere yönlendirme yapıldığında resmi sitelerin kullanıcı adı ve şifrelerinin asla tutulmadığı, 2FA/SMS doğrulamalarının doğrudan resmi kurum arayüzünde yapıldığı.
- Güvenlik Notu: Gizlilik politikası metninde geliştiricinin kişisel GitHub profili gibi teknik bağlantılar verilmemeli; yalnızca kurumsal e-posta ve resmi web sitesi yer almalıdır.
6. Uygulama Erişimi / Giriş Detayları (App Access / Sign-in Details)
Google denetçilerinin uygulamayı inceleyebilmesi için uygulamanın kısıtlı bir alan içerip içermediğini belirtmeniz gerekir:
- Seçim:
No(Uygulamanın hiçbir bölümü kısıtlı değildir). - Açıklama: Uygulamada üyelik, kullanıcı girişi, e-posta/şifre veya kilitli bir ekran bulunmuyorsa kesinlikle
Noseçilmelidir. EğerYesseçilirse Google sizden test kullanıcısı adı ve şifresi ister.
7. Reklam Beyanı (Ads Declaration)
Uygulamanızda reklam gösterilip gösterilmediğini beyan ettiğiniz adımdır:
- Seçim:
Yes, my app contains ads(Evet, uygulamam reklam içerir). - Açıklama: Uygulamada AdMob kütüphanesi bulunuyorsa veya ileride reklam açılacaksa mutlaka
Yesseçilmelidir. Bu seçim Google Play sayfasında "Reklam içerir" etiketini aktif eder ve politikalara tam uyum sağlar.
8. İçerik Derecelendirmesi (IARC Content Rating Questionnaire)
Uygulamanın yaş sınırını belirlemek için IARC (International Age Rating Coalition) anketini doldurmanız gerekir.
A. Kategori Seçimi ve E-posta Girişi
- Kategori:
All Other App Types(Oyun, bahis oyunu veya sosyal medya olmayan tüm diğer uygulamalar: Araçlar, yardımcı programlar, hesaplayıcılar). - E-posta: İletişim e-postası girilir ve IARC şartları onaylanır.
B. Anket Soruları (Questionnaire)
Bölüm 1: Şiddet ve Kullanıcı İletişimi
- Downloaded App (Şiddet, Cinsellik, Kaba Dil):
No - User Content Sharing (Kullanıcılar arası ses, mesaj, medya paylaşımı):
No
Bölüm 2: İçerik ve Yaş Kısıtlı Ürünler
- Online Content (Müzik/Video akışı veya e-ticaret kataloğu):
No - Promotion of Age-Restricted Products (Tütün, Alkol, Kumar Oynatma):
No(Uygulama bahis oynatmadığı için kesinlikle No) - Miscellaneous (Hassas GPS konumu paylaşımı):
No
Bölüm 3: Dijital Ürünler ve Çeşitli Özellikler
- Digital Goods (Dijital ürün satışı):
No(Aktif mağaza içi faturalandırma bağlı değilse No; aktifse Yes seçilip Digital Purchases rozeti alınır) - Cash Rewards (Nakit ödül, hediye kartı):
No - Web Browser (İnternet tarayıcısı / arama motoru):
No - News / Educational (Haber veya eğitim ürünü):
No
Tüm bu sorular No olarak yanıtlandığında uygulama tüm dünyada en geniş kitleye uygun (PEGI 3, ESRB Everyone) yaş derecelendirmesini alır.
9. Hedef Kitle ve Yaş Grubu Seçimi (Target Audience)
Uygulamanızın hedef kitlesini belirlerken çocuklara yönelik olup olmadığını doğru beyan etmek Google'ın Designed for Families (Aile Politikası) ve COPPA regülasyonları açısından hayatidir.
Doğru Seçim: Yalnızca 18 and over (18 Yaş ve Üzeri)
- Neden Yalnızca 18+?
- Yasal Uyum: Spor Toto istatistik, oran ve kupon analizi araçları şans oyunları bültenlerine dayandığı için reşit kitleye yöneliktir.
- Aile Politikası Kısıtlamalarından Korunma: Eğer 13 yaş altı veya 13-17 yaş seçilirse Google, uygulamanın reklam SDK'larının çocuklara uygun sertifikalı olmasını şart koşar, telemetriyi kısıtlar ve çok daha ağır bir inceleme süreci başlatır.
- Gizlilik Politikasıyla Tutarlılık: Gizlilik Politikamızda yer alan "The App is intended for audiences aged 18 and older" maddesi ile %100 örtüşür.
- İkinci Adım (Could your app unintentionally appeal to children?):
- Bu soruya da
No(Hayır) denmelidir. Uygulama arayüzünde çizgi film karakterleri, oyuncak temaları veya çocuk animasyonları bulunmadığından çocukların yanlışlıkla ilgisini çekecek bir ürün değildir.
- Bu soruya da
10. Uygulama İçeriği Kontrol Paneli (App Content Dashboard)
Google Play Console, uygulamanızın yasal ve içeriksel hazır bulunuşluğunu sol menüdeki Policy and programs -> App content sekmesi altında adım adım bir kontrol listesiyle takip eder.
Gizlilik politikası, giriş izinleri, reklamlar ve içerik derecelendirmesi tamamlandıkça yeşil onay ikonları (✓) belirecektir. Listenin kalan bölümleri (Veri Güvenliği, Devlet Kurumları, Finansal Özellikler, Sağlık) sırasıyla tamamlanmalıdır.
11. Veri Güvenliği Formu (Data Safety Form)
Google Play'in en katı denetlenen alanlarından biridir. Uygulamanın ve içindeki kütüphanelerin hangi verileri topladığını veya üçüncü taraflarla paylaştığını beyan etmeniz gerekir.
Soru: Does your app collect or share any of the required user data types?
- İlk Sürüm İçin Seçim:
No(Hayır). - Teknik Neden: İlk yüklenen
.aabpaketinde henüz AdMob SDK veya Firebase SDK doğrudan entegre edilmediği ve kullanıcı kimliği / hassas veri toplanmadığı içinNoseçilerek form temiz bir şekilde tamamlanır. - İlerisi İçin Not: AdMob veya Firebase SDK'ları aktif kodlandığında bu forma dönülerek "Approximate Location", "App performance" ve "Device or other identifiers (AD_ID)" maddeleri
Yesolarak güncellenmelidir.
Önizleme kontrol edildikten sonra kaydedilir.
12. Yasal ve Regülasyon Beyanları
A. Devlet Kurumu Uygulamaları (Government Apps)
- Seçim:
No(Uygulama resmi bir devlet kurumunu temsil etmemektedir).
B. Finansal Özellikler (Financial Features)
- Seçim: En alttaki
My app doesn't provide any financial features(Uygulamam herhangi bir finansal özellik sağlamaz). - Onay: Açılan pop-up pencerede herhangi bir finansal lisans veya doküman sunulmasına gerek olmadığı onaylanır:
C. Sağlık Uygulamaları (Health Apps)
- Seçim: En alttaki
My app does not have any health features(Uygulamam sağlık özelliği içermez). - Onay: Açılan pencerede bölgesel sağlık dokümantasyonu gerekmediği onaylanır:
13. Mağaza Ayarları ve İletişim Bilgileri (Store Settings)
Mağazadaki kategori ve kullanıcıların geliştiriciye ulaşacağı iletişim kanalları yapılandırılır:
- App Category (Kategori):
Sports(Spor) veyaUtilities / Tools(Araçlar). - Tags (Etiketler): İlgili anahtar kelimeler seçilebilir (Örn: Sports, Utilities).
- Store Listing Contact Details:
- Email Address:
destek@sirketadi.com(Kurumsal destek e-postası zorunludur). - Website:
https://sirketadi.com
- Email Address:
- External Marketing: Google Play dışındaki platformlarda Google'ın uygulamanızı tanıtmasına izin vermek için işaretli bırakılır:
14. Ana Mağaza Girişi ve Görsel Varlıklar (Main Store Listing)
Mağaza vitrini, kullanıcıların indirme kararını doğrudan etkileyen en önemli alandır:
A. Metinler
- App Name (Uygulama Adı): Maksimum 30 karakter (Örn:
15te15 - Spor Toto Asistanı). - Short Description (Kısa Açıklama): Maksimum 80 karakter (Örn:
Formül optimizasyonu, olasılık hesaplama ve akıllı Spor Toto kupon asistanı.). - Full Description (Tam Açıklama): Özellikler, algoritmik avantajlar ve yasal uyarıların yer aldığı detaylı açıklama.
B. Görsel Boyut Standartları
- App Icon (Uygulama Simgesi): Tam olarak
512 x 512 px, 32-bit PNG, maksimum 1 MB. - Feature Graphic (Öne Çıkan Görsel): Tam olarak
1024 x 500 px, JPG veya 24-bit PNG, maksimum 15 MB. - Telefon Ekran Görüntüleri (Phone Screenshots):
- En az 2, en fazla 8 ekran görüntüsü.
- Minimum boyut: 1080 px (Örn:
1080 x 2340 px). - En boy oranı: 16:9 veya 9:16.
C. Üretken Yapay Zeka İçerik Beyanı (AI Content Declaration)
- Mağaza görselleri oluşturulurken AI destekli araçlar kullanılmış olsa dahi, kullanıcıyı yanıltıcı fotogerçekçi insan/kamu yüzü üretilmediği sürece
Don't label assets(Varlıkları etiketleme) seçilir.
15. Kapalı Test (Closed Testing) Kurulumu ve İnceleme
Google Play Console'da yeni oluşturulan kişisel geliştirici hesapları için doğrudan üretime (Production) geçmeden önce Kapalı Test (Closed Testing) sürecinin tamamlanması zorunlu kılınmıştır.
A. Değişiklikleri İncelemeye Gönderme (Publishing Overview)
Tüm mağaza ayarları ve formlar tamamlandığında yayınlama genel bakışında bekleyen değişiklikler listelenir:
Ancak sağ üstteki "Send changes for review" butonunun aktifleşmesi için uygulamanın en az bir test kanalında (Closed Testing) sürümünün yapılandırılması gerekir.
B. Kapalı Test Adımları
Kapalı testin tamamlanması için 3 zorunlu adım bulunur:
- Ülkeler ve Bölgeler (Select countries and regions):
- Uygulamanın test edileceği ülkeler seçilir (Varsayılan olarak tüm dünya veya Türkiye seçilebilir) ve sağ alttan Save (Kaydet) yapılır.
- Test Edenler (Select testers):
- Testers sekmesinde bir e-posta listesi (Email List) seçilir veya yeni liste oluşturulur.
- Kişisel Google Play hesaplarında üretim (Production) izni alabilmek için Google, en az 20 test kullanıcısının 14 gün boyunca teste dahil olmasını şart koşmaktadır. Bu nedenle test listesinde yeterli sayıda kullanıcının ekli olması önemlidir.
- Liste seçildikten sonra sağ alttan Save changes (Değişiklikleri kaydet) yapılır.
- Yeni Bir Sürüm Oluşturma (Create a new release):
- Ülkeler ve Test edenler tamamlandığında yukarıdaki gibi "2 of 4 complete" görünür.
- Sağ üstteki mavi
Create new releasebutonuna tıklanarak sürüm oluşturma aşamasına geçilir.
- İmzalı
.aabpaketi yüklenir. Yükleme tamamlandığında Google paketi analiz eder:
- Görselde görüldüğü üzere
Target SDK: 36başarıyla algılanır,Version: 610060410ve mimariler doğrulanır. Nexttıklandığında sürüm kodu sıçramasından ötürü bir uyarı ekranı gelir:
- Çözüm: "This release's version code is significantly higher than your previous version code" uyarısının hemen altındaki mavi
Proceed anywaybağlantısına tıklanır. - Hata onayı kalktıktan sonra sağ alttaki mavi
Savebutonuna tıklanarak sürüm başarıyla kaydedilir.
Bu adımlar tamamlandığında Publishing overview ekranına dönülerek Send changes for review (Değişiklikleri incelemeye gönder) butonu ile Google onay süreci başlatılır.
C. Sık Karşılaşılan Durum: Test Bağlantısında "App not available" Uyarısı
Geliştiricilerin kapalı test opt-in bağlantısını (play.google.com/apps/testing/com...) açtığında en sık karşılaştığı ekran şudur:
"App not available - A testing version of this app hasn't been published yet or isn't available for this account."
Bu Uyarının Nedenleri ve Çözümü:
- İnceleme Devam Ediyor (In Review): Kapalı test sürümü oluşturulup incelemeye gönderilse dahi, Google inceleme ekibi paketi onaylayana kadar bu link aktifleşmez. Durum Play Console'da "Available to testers" olduğunda link açılır hale gelecektir.
- Google Hesabı Uyuşmazlığı: Tarayıcıda aktif olan Google oturumu, Play Console'da Testers listesine eklenen e-posta adresiyle birebir aynı olmalıdır. Farklı veya anonim bir Google hesabı bu bağlantıya erişemez.
- Sunucu Yayılma Süresi (Propagation): Google incelemeyi onaylasa bile, kapalı test linkinin mağaza sunucularına dünya genelinde dağılması genellikle 1-2 saat sürebilir.
D. Test Programına Katılma (Become a Tester - Opt-in)
İnceleme onaylanıp bağlantı aktifleştiğinde aşağıdaki resmi davet ekranı açılır:
- Sayfada uygulamanın simgesi, geliştirici adı ve test sürümüne davet metni yer alır.
- Mavi renkli
Become a tester(Test kullanıcısı ol) butonuna tıklandığında hesap teste dahil edilir. - Bir sonraki ekranda yer alan "Download it on Google Play" bağlantısına tıklanarak uygulama doğrudan Android cihazdaki Google Play Store uygulamasından indirilebilir.
16. Reklam Kimliği Beyanı (Advertising ID Declaration)
Android 13 (API 33) ve üzerini hedefleyen tüm uygulamalar için Google Play, Reklam Kimliği (AD_ID) kullanımının açıkça beyan edilmesini zorunlu kılar.
Soru: Does your app use advertising ID?
Google'ın bu sayfadaki kritik kuralı şudur:
"If you say that your app uses advertising ID, we will block releases that don't include the com.google.android.gms.permission.AD_ID permission in the manifest file when targeting Android 13."
- Seçenek 1 (Tavsiye Edilen):
No(Hayır).- Şu an yüklediğimiz kapalı test paketinde henüz AdMob SDK veya çapraz tanıtım kütüphaneleri fiilen derlenmemiştir ve
AndroidManifest.xmldosyasındaAD_IDizni yer almamaktadır. DolayısıylaNoseçilip kaydedildiğinde hiçbir manifest çakışması yaşanmaz.
- Şu an yüklediğimiz kapalı test paketinde henüz AdMob SDK veya çapraz tanıtım kütüphaneleri fiilen derlenmemiştir ve
- Seçenek 2 (Yes Seçilirse):
- Eğer
Yesseçilirse, kullanım amacı olarak[x] Advertising or marketingseçilmeli ve manifestte izin henüz ekli olmadığı için sayfanın en altındaki "Turn off release errors" kutucuğu (I understand the ramifications of not including the com.google.android.gms.permission.AD_ID permission...) mutlaka işaretlenmelidir.
Her iki durumda da seçim yapıldıktan sonra sağ alttan Save (Kaydet) yapılır.
17. İncelemeye Gönderme (Final Submission)
Tüm mağaza listelemesi, gizlilik politikası, güvenlik formları, yasal beyanlar, hedef kitle ve kapalı test sürümü tamamlandığında Publishing overview ekranına dönülür:
- Submit 14 changes for review: Google Play tüm beyanları ve test sürümünü toplayarak tek bir inceleme paketi haline getirir (Görselde görüldüğü üzere 14 adet onay bekleyen değişiklik).
- Mavi renkli
Submit 14 changes for review(14 değişikliği incelemeye gönder) butonuna tıklanarak resmi Google onay süreci başlatılır. - Arka planda Google'ın otomatik kalite kontrolleri (Quick checks) çalışır ve ardından uygulama Google inceleme ekibinin (Google Play Review Team) değerlendirme kuyruğuna alınır. İnceleme genellikle kişisel hesaplarda 24-72 saat içerisinde sonuçlanır.
18. Kapalı Test Sonrası Üretim İzni Başvurusu (Apply for Access to Production)
Google'ın kişisel geliştirici hesapları için zorunlu kıldığı kapalı test süreci (en az 14 gün boyunca kesintisiz test) tamamlandığında, Play Console ana kontrol panelinde "Apply for production" (Üretime başvur) butonu aktifleşir. Bu butona tıklandığında Google, uygulamanın gerçekten test edilip edilmediğini ve canlıya hazır olup olmadığını denetlemek için 3 adımlı kapsamlı bir başvuru formu sunar:
Form Adımları:
- About your closed test (Kapalı Testiniz Hakkında): Test kullanıcılarını nasıl bulduğunuz, geri bildirimleri nasıl topladığınız ve aldığınız geri bildirimlere göre uygulamada ne gibi iyileştirmeler yaptığınız sorgulanır.
- About your app (Uygulamanız Hakkında): Uygulamanın hedef kitlesi ve kullanıcılara sağladığı temel fayda anlatılır.
- Your production readiness (Üretim Hazırlığınız): Canlı yayına çıktığında hataları nasıl izleyeceğiniz ve kullanıcı yorumlarını nasıl yöneteceğiniz beyan edilir.
Kritik Sorular ve Örnek Başvuru Yanıtları (İngilizce & Türkçe)
1. "How did you recruit users for your closed test? For example, did you ask friends and family, or use a paid testing provider?"
Kapalı test için kullanıcıları nasıl buldunuz? (Örn: Aile ve arkadaşlar mı, yoksa ücretli test sağlayıcısı mı?)
Önemli Kural: Google bot veya para karşılığı tutulan yapay test çiftliklerini sevmez. Test edenlerin gerçek organik kullanıcılar, yakın çevre ve ilgili sosyal medya toplulukları olduğunu belirtmek en güvenilir yoldur.
I recruited testers organically through friends, family, and colleagues interested in sports analysis. Additionally, I invited active football prediction fans from targeted social media groups (Reddit & sports communities). No paid services were used; all were real, active users.
2. "How easy was it to recruit testers for your app?"
Uygulamanız için test kullanıcısı bulmak ne kadar kolaydı?
- Tavsiye Edilen Seçim:
Neither difficult or easy(Ne zor ne kolay) veyaEasy. Bu seçenek sürecin organik ve dengeli yürütüldüğünü, yapay bot ağlarına başvurulmadığını gösterir.
3. "Describe the engagement you received from testers during your closed test"
Kapalı test süresince test kullanıcılarından aldığınız etkileşimi (engagement) açıklayın:
(Google'ın ipucu: Kullanıcıların tüm özellikleri kullanıp kullanmadığını ve kullanımın gerçek bir kullanıcının davranışı ile tutarlı olup olmadığını belirtin)
Testers actively used all core features: match fixtures, filters, and coupon generation. Their engagement matched real user behavior, logging in regularly around weekly match days to create coupons and review predictions. All tester activity closely mirrored real-world football fan usage.
4. "Provide a summary of the feedback that you received from testers. Include how you collected the feedback."
Test edenlerden aldığınız geri bildirimlerin özetini sunun. Geri bildirimi nasıl topladığınızı da dahil edin:
Feedback was collected via Google Play internal feedback, emails, and tester messaging groups. Testers appreciated the fast coupon generator but suggested improving font readability on small screens, adding clearer filter descriptions, and optimizing fixture loading on slow mobile networks.
Adım 2: About your app (Uygulamanız Hakkında)
Bu adımda uygulamanın hedef kitlesi, sunduğu katma değer ve ilk yıl için beklenen indirme sayısı sorulur:
1. "Who is the intended audience of your app?"
Uygulamanızın hedef kitlesi kimdir?
The intended audience includes adult football fans, sports enthusiasts, and Toto players seeking analytical tools to plan predictions. It is designed for users aged 18+ who want structured match fixture insights, mathematical coupon filtering, and systematic statistical analysis.
2. "Describe how your app provides value to users"
Uygulamanızın kullanıcılara nasıl değer kattığını açıklayın:
The app provides value by automating complex coupon filtering and Toto calculations, saving users substantial time. It offers clean weekly fixture overviews, probability statistics, and intuitive mathematical tools that help sports fans make well-structured, data-informed prediction plans.
3. "How many installs do you expect your app to have in your first year?"
İlk yılınızda uygulamanızın kaç indirmeye ulaşmasını bekliyorsunuz?
- Tavsiye Edilen Seçim:
0 - 10K(Organik ve gerçekçi bir bağımsız geliştirici hedefi).
Adım 3: Your production readiness (Üretim Hazırlığınız)
Başvurunun bu son aşamasında, kapalı test boyunca öğrenilenlere göre yapılan iyileştirmeler ve uygulamanın canlı üretime hazır olduğuna nasıl kanaat getirildiği sorulur:
1. "What changes did you make to your app based on what you learned during your closed test?"
Kapalı testte öğrendiklerinize dayanarak uygulamanızda ne gibi değişiklikler yaptınız?
Tavsiye: Önceki adımlarda belirttiğiniz geri bildirimlerle (küçük ekran uyumu, yazı tipi boyutu, filtre etiketleri ve veri önbellekleme) tam tutarlı yanıt verilmelidir.
Based on tester feedback, we adjusted font scaling and spacing for smaller screens, added descriptive labels to filter options, and optimized fixture caching for slower network connections. We also streamlined the coupon generation interface to make navigation smoother and more intuitive.
2. "How did you decide that your app is ready for production?"
Uygulamanızın canlı üretime hazır olduğuna nasıl karar verdiniz?
Tavsiye: Google vitals metrikleri (sıfır çökme, sıfır ANR), 14 günlük test süresi ve farklı Android sürümlerindeki kararlılık vurgulanmalıdır.
We confirmed production readiness through 14 days of closed testing with zero crashes and zero ANRs in Android Vitals. All core workflows (fixture browsing, filtering, and coupon generation) executed smoothly across diverse devices, and testers confirmed high stability and complete features.
Tüm alanlar doldurulduktan sonra sağ alttaki mavi Apply (Başvur) butonuna tıklanarak resmi üretim izni başvurusu tamamlanır.
Başvuru Gönderildi Ekranı (İnceleme Süreci)
Apply butonuna basıldığında Play Console ana kontrol paneline dönülür ve Production (Üretim) sayfasında aşağıdaki resmi inceleme kartı görüntülenir:
"We have your application for production access"
"We're reviewing your application form. We'll email the account owner with an update. This usually takes 7 days or less, but may occasionally take longer."
Bu Aşama Hakkında Bilinmesi Gerekenler:
- İnceleme Süresi: Google ekranda resmi olarak "7 gün veya daha az" olduğunu belirtse de, tutarlı form cevapları ve sıfır çökme oranına sahip uygulamalar için bu onay genellikle 24 ila 72 saat içerisinde sonuçlanmaktadır.
- Sonuç Bildirimi: Değerlendirme tamamlandığında hesap sahibinin e-posta adresine resmi kabul bildirimi gönderilir (Bkz. Bölüm 19).
- Bekleme Sürecinde Yapılması Gerekenler: Herhangi bir ek işlem yapmaya gerek yoktur; kapalı test kanalı aktif kalabilir, Play Console inceleme ekibinin kararını beklemek yeterlidir.
19. Nihai Zafer: Production Access (Açık Yayın) Onayı
Google Play Console'un yeni kişisel geliştirici hesapları için getirdiği en zorlu aşama olan Kapalı Test (En az 20 test kullanıcısı ile 14 gün aktif test) süreci başarıyla tamamlanıp açık mağaza başvurusu yapıldığında, Google Play Console ekibinden aşağıdaki resmi kabul e-postası alınır:
"Congratulations! Your app has been granted Google Play production access"
"You applied for Google Play production access for your app, and this has now been granted. Production is where you make your app available to billions of users on Google Play."
Bu E-posta Ne Anlama Gelir?
- Genel Yayına Açılma Hakkı: Uygulamanız artık yalnızca davet edilen kapalı test kullanıcılarına değil, tüm dünyadaki milyarlarca Android kullanıcısına açılmaya hak kazanmıştır.
- Kişisel Hesap Barajının Aşılması: Google'ın 20 tester / 14 gün test şartı resmen tatmin edilmiş, geliştirici hesabı güvenilir statüye geçmiştir.
- Tek Tıkla Yayına Alma: Play Console panelinde Production (Üretim) kanalına gidilerek, kapalı testteki kanıtlanmış paket doğrudan veya yeni bir sürümle mağaza vitrinine canlıya alınabilir.
20. Yayın Öncesi Kontrol Listesi (Tamamlandı)
Başvuru aşamasındaki tüm kontrol maddeleri:
- Play Console'da uygulama kimliği ve benzersiz paket adı oluşturuldu mu?
- İmzalı
.aabpaketitargetSdkVersion 36ile derlendi mi? - Sürüm kodu (versionCode) önceki sürümlerden büyük mü? (Uyarıda Proceed anyway tıklandı mı?)
- Gizlilik Politikası URL'i aktif ve HTTPS ile açılıyor mu?
- App Access (Uygulama Erişimi)
Noolarak kaydedildi mi? - Reklam beyanı
Yesolarak işaretlendi mi? - IARC Yaş Derecelendirmesi tamamlanıp sertifikalandı mı?
- Hedef Kitle (Target Audience)
18 and overolarak seçildi mi? - Veri Güvenliği (Data Safety) formu dolduruldu mu?
- Devlet, Finans ve Sağlık beyanları
Noolarak kaydedildi mi? - Mağaza Varlıkları (512x512 İkon, 1024x500 Feature Graphic, Ekran Görüntüleri) yüklendi mi?
- Kapalı Test: Ülkeler/bölgeler seçilip kaydedildi mi?
- Kapalı Test: Test edenler listesi seçildi ve kaydedildi mi?
- Kapalı Test: İmzalı
.aabpaketi yüklenip sürüm oluşturuldu mu? - Reklam Kimliği (Advertising ID): İlk sürüm için
Noolarak kaydedildi mi? - Publishing Overview: Değişiklikler Google incelemesine gönderildi mi?
- Kapalı Test Süreci & Üretim Onayı (Production Access) alındı mı?
21. Arar Games ve Oyunlarımız
Bağımsız stüdyomuz bünyesinde geliştirdiğimiz tüm oyunları, oyun mekaniklerini ve güncellemeleri canlı olarak deneyimlemek için mağaza sayfalarımızı ziyaret edebilirsiniz:
🎮 Oyunlarımız:
- 🛡️ Blocked: Pixel Panzer:
Retro piksel tank aksiyonu, ColorWheel element mermileri, dinamik hava durumu, Boss savaşları, küresel liderlik tablosu ve Google Play başarımları!
👉 Google Play'de İndir (Android & PC) | Microsoft Store (Windows PC) - 🎨 Paint Trek:
Renkli piksel ve uzay atmosferinde refleks odaklı arcade deneyimi.
👉 Google Play | Microsoft Store (PC & Xbox) - 🚀 Space Dodger:
Uzayın derinliklerinde yüksek tempolu retro arcade engellerden kaçış.
👉 Google Play'de İndir
📢 Sosyal Medya ve İletişim:
Yeni teknik rehberlerimizi, devlog'larımızı ve oyun güncellemelerimizi takip etmek için:
- 🎵 TikTok: @arargamesstudio
- 📸 Instagram: @arargamesstudio
- 🐦 X (Twitter): @arargamesstudio
- 📺 YouTube: @koreaaria
- 🧵 Threads: @arargamesstudio
- 📘 Facebook: arargamesstudio
Hazırlayan: Arar Games Geliştirici Dokümantasyon Arşivi
Hiç yorum yok:
Yorum Gönder