KoderKoder.ai
FiyatlandırmaKurumsalEğitimYatırımcılar için
Giriş YapBaşla

Ürün

FiyatlandırmaKurumsalYatırımcılar için

Kaynaklar

Bize UlaşınDestekEğitimBlog

Yasal

Gizlilik PolitikasıKullanım KoşullarıGüvenlikKabul Edilebilir Kullanım PolitikasıKötüye Kullanımı Bildir

Sosyal

LinkedInTwitter
Koder.ai
Dil

© 2026 Koder.ai. Tüm hakları saklıdır.

Ana Sayfa›Blog›Sorunsuz İlk Gönderim İçin Flutter Yayına Hazırlık Kontrol Listesi
10 Kas 2025·6 dk

Sorunsuz İlk Gönderim İçin Flutter Yayına Hazırlık Kontrol Listesi

Bu Flutter yayın hazırlık kontrol listesini imzalama, build flavor’ları, çökme raporlama, izin metinleri ve mağaza varlıklarını hazırlamak için kullanın; böylece ilk gönderiminiz sakin ve eksiksiz olur.

“Yayın hazır” gerçekte ne demek

“Yayın hazır” demek “uygulama telefonumda çalışıyor” demek değildir. Bu, üretim yapısı oluşturup temiz bir cihaza yükleyebildiğiniz ve mağazaya son dakika sürprizleri olmadan gönderebildiğiniz anlamına gelir.

İlk gönderimden hemen önce bozulan şeyler genellikle sıkıcı ama can sıkıcıdır: eksik imzalama anahtarları, kazara yüklenen debug yapı, yararlı kayıt olmayan çökme raporları, kuşkulu görünen izin istemleri veya uygulamayla uyuşmayan mağaza varlıkları (yanlış simgeler, eski ekran görüntüleri, eksik gizlilik metni).

İlk Flutter gönderimi için “yayın hazır” dört sonuca indirgenir:

  • Tekrarlanabilir bir üretim yapısı oluşturabilir ve göndereceğiniz artefaktı güvenle belirleyebilirsiniz.
  • İmzalama kimlik bilgileri sahiplenilmiş, yedeklenmiş ve tek bir kişinin dizüstü bilgisayarına sıkışmamış.
  • Uygulama sahada çökerse, onu hızla görebilir ve düzeltmek için yeterli ayrıntı elde edersiniz.
  • Mağaza ilanınız tamamdır: metin, simgeler, ekran görüntüleri ve gerekli beyanlar.

Bu rehber ilk gönderim için gerekli temel konulara odaklanır: imzalama, flavor’lar, çökme raporlaması, izin metinleri ve zamanlaması, ve mağaza varlıkları. Tam bir QA planı, performans denetimi veya hukuki inceleme değildir.

En az birkaç odaklanmış oturumu planlayın. Tek geliştirici bu işleri genellikle 1–2 günde halledebilir. Ekipte, net sahipler atayın (imzalama/derlemeler, çökme raporlaması, mağaza listelemesi ve metin) ki hiçbir şey son saate kalmasın.

Derlemeden önce kesinleştirmeniz gereken kararlar

Çoğu “son dakika” yayın problemi, erken aşamada vermediğiniz kararların sonucudur. Birkaç temel noktayı şimdi kilitleyin, gerisi daha basit olur.

Önce kimlikten başlayın: kullanıcıların göreceği tam uygulama adı ve mağazaların kullandığı iç kimlikler (Android’de package name, iOS’ta bundle identifier). Bunları sonradan değiştirmek güncelleştirmeleri, derin bağlantıları ve analitik geçmişini bozabilir. Ayrıca sürümleme stratejinizi de kararlaştırın ki her yapının net bir numarası olsun ve neyin yayında olduğunu tahmin etmek zorunda kalmayın.

Sonra platform sınırlarını belirleyin: ilk günde Android, iOS veya her ikisi mi olacak, ve destekleyeceğiniz minimum işletim sistemi sürümleri hangileri. Minimum sürümü sonradan yükseltmek tasarım değişiklikleri gerektirebilir veya desteklediğinizi düşündüğünüz cihazları dışlayabilir.

Bu kararları ekibinizin ulaşabileceği bir yerde yazılı tutun:

  • Uygulama adı, package/bundle ID ve basit bir sürümleme kuralı
  • Desteklenen platformlar ve minimum OS sürümleri
  • Ortamlar (dev, staging, production) ve aralarındaki farklar
  • Nihai “gönder” veya “beklet” kararının sahibi
  • Mağaza hesap erişimi: giriş bilgileri, roller ve 2FA kurtarma yöntemleri

Son olarak, mağaza hesaplarınızın var olduğunu ve yayımlama yapabildiğinizi doğrulayın. Hesap onayı beklemek, eksik vergi formları veya yükleme izni olmayan bir hesap lansmanı durdurur. Bir araçla (ör. Koder.ai) uygulamayı üretiyor olsanız da, elle kodluyor olsanız da bu kararlar geçerlidir.

Uygulama imzalama: anahtarlar, sahiplik ve güvenli saklama

Uygulama imzalama, bir güncellemenin gerçekten sizden geldiğinin kanıtıdır. İmzalama yanlış yapılandırılmışsa mağaza yüzeyi reddedebilir veya gelecekte güncellemeleri gönderemeyebilirsiniz.

Android’de imzalama genellikle bir keystore dosyasında saklanan upload anahtarı (ve parolalar) anlamına gelir. iOS’ta ise Apple Developer hesabına bağlı sertifikalar ve provisioning profilleri vardır. Koder.ai ile derleyip kaynak dışa aktarsanız bile, ilk gönderimden önce mağaza hesaplarının ve imzalama varlıklarının sahipliği net olmalıdır.

Sahipliği ve erişimi belirleyin

Her platform için bir kayıt-sistemi sahibi seçin; ideal olan şirket hesabıdır, kişisel değil. Erişim kuralları belirleyin ki tek bir dizüstü bilgisayara veya tek bir kişiye bağlı kalmayın.

Kısa bir kayıt tutun ve şu sorulara cevap verin:

  • Hangi hesaplar imzalama anahtarlarına sahip (Google Play, Apple Developer)?
  • Keystore ve iOS imzalama dosyaları nerede saklanıyor (vault, şifreli depolama)?
  • Kim sürüm çıkarabilir ve kim kimlik bilgilerini döndürebilir?
  • Erişim nasıl geri alınır/kurtarılır (2FA kurtarma kodları, admin rolleri)?

Yedekler ve “anahtar kaybolursa” planı

Kaybolan bir Android anahtarı aynı paket adına gelecekteki güncellemeleri engelleyebilir. Şifrelenmiş bir yedek ayrı bir yerde tutun ve geri yüklemeyi test edin. iOS’ta erişimi kaybetmek genellikle hesap kurtarma zorluğuna dönüşür; bu yüzden birden fazla güvenilir admin tutun ve kim olduklarını belgeleyin.

İmzalamayı temiz bir makinada doğrulayın (yeni checkout, yeni CI runner veya bir ekip arkadaşının dizüstü bilgisayarı). Eğer sadece tek bir bilgisayarda çalışıyorsa, hazır sayılmaz.

Build flavor’ları: dev ve production’u ayırın

Flavor’lar, “telefonumda çalışıyor” durumunun “test sunucusunu gönderdik”e dönüşmesini engeller. Basitçe söylemek gerekirse, bir flavor aynı konfigürasyonu farklı ayarlarla isimlendirmenizi sağlar, böylece her yayın öncesi dosyaları elle değiştirmezsiniz.

Çoğu ekip iki flavor ile başlamalı: dev (test için) ve prod (göndereceğiniz yapı). Ekip “staging” diyorsa o kelimeyi kullanın. Karışık isimler yanlış yapının paylaşılmasına veya yüklenmesine yol açar.

Flavor’lar arasında neyin farklı olduğunu kilitleyin. En yaygın farklar uygulama kimliği (ad ve bundle ID), simgeler, API endpoint’leri, özellik bayrakları, analytics/çökme ayarları ve loglama seviyesidir.

Gizli değerleri repoya koymayın: environment dosyaları, CI secret’ları veya build-zamanı değişkenleri kullanın ki anahtarlar commitle sonradan karışmasın.

Tamam dediğinizde, kullanmayı planladığınız her flavor’ı, dahil üretim release yapısını da inşa edin. Eksik konfigürasyonlar burada görünür, yayın gününde değil.

Çökme raporlama ve release loglama

Temiz bir yapı gönderip gerçek dünya sorunlarını kaçırabilirsiniz: tuhaf cihazlar, zayıf ağlar ve kenar durum akışları. Çökme raporlaması bu sürprizleri düzeltilebilir bir listeye çevirir.

Bir çökme raporlama aracı seçin ve bunu erken bağlayın. Marka/tedarikçi daha az önemlidir; önemli olan her sürümden yararlı raporlar gelmesidir.

Semboller ve mapping’i yayın sürecine dahil edin

“Tekrar edilemiyor” durumların çoğu eksik sembollerden gelir. Yayın adımı olarak şunları yüklemeyi zorunlu hale getirin:

  • iOS için dSYM dosyaları (yığın izlerinin okunması için)
  • Android için obfuscation kullanıyorsanız mapping dosyası
  • Yüklemeye bağlanan tam build numarası ve git commit (veya build tag)

Eğer bu manuelse, yoğun bir haftada atlanacaktır.

Sorunları düzeltmeye yardımcı olacak şekilde loglayın

İlk günde ihtiyacınız olan bilgileri belirleyin: uygulama versiyonu/build, cihaz modeli, OS sürümü, locale ve son ekran veya eylem. Hesaplarınız varsa, stabil anonim kullanıcı ID’si ve “oturum açık/kapalı” bayrağı ekleyin. Kişisel verilerden kaçının.

Ayrıca fatal olmayan hataları da yakalayın. Flutter’da birçok sorun aplikasyonu çökertmeyen istisnalar şeklinde görünür (parse hataları, zaman aşımı, beklenmeyen null’lar). Bunları kısa bir mesaj ve birkaç anahtar-değer alanıyla non-fatal olay olarak gönderin.

Bunu yayından önce test edin: bir staging yapı oluşturun, gizli bir menü veya jestle kasıtlı çökme tetikleyin ve doğru versiyon ve bağlamla okunabilir bir yığın izinin geldiğini doğrulayın.

İzinler: kullanıcı dostu metin ve doğru zamanlama

Yayınları ekip alışkanlığı haline getirin
İmzalama ve gönderim sahipliğinin net olması için ekibinizi erken dahil edin.
Takımı Davet Et

İzinler, ilk açılışta güveni kaybetmenin hızlı bir yoludur. Yayından önce uygulamanızın isteyebileceği her izni, bu iznin hangi özellik için gerektiğini ve kullanıcının ne kazanacağını listeleyin. Bir cümleyle açıklayamıyorsanız, muhtemelen istememelisiniz.

Metni sade ve spesifik tutun. “Fotoğraflarınıza erişmemiz gerekiyor” yerine “Makbuz eklemek için fotoğraflara izin verin” daha güçlüdür. “Depolama” gibi teknik kelimelerden kaçının ya da o an ne anlama geldiğini açıklayın.

Sadece kullanıcı ilgili eylemi tetiklediğinde sorun. Uygulama açılışında Fotoğraflar izni istemeyin. Kullanıcı “Fotoğraf ekle”ye dokunduktan sonra kısa bir ön-izin ekranı gösterin ve ardından sistem iznini isteyin.

Kullanıcı hayır derse, uygulama yine de kullanılabilir olmalı. Çekirdeği önceden planlayın: özelliği görünür tutun, neyin kısıtlandığını açıklayın, mümkünse alternatif sunun ve kullanıcı çalışmasını kaybetmesin. “Bir daha sorma” seçeneği seçildiyse, Ayarlar’a nasıl gidileceğini yönlendirici şekilde gösterin ama rahatsız etmeyin.

Platforma özgü metinleri iki kez kontrol edin. iOS Info.plist’te kullanım açıklamaları gereklidir. Android manifest girişleri doğru olmalı ve bazen kısa bir uygulama içi açıklama gerekir. Eksik veya belirsiz metin inceleme gecikmelerine veya kullanıcı kaybına neden olabilir.

Pratik bir yayın test geçişi (tam bir test planı değil)

Bu, gerçek bir release yapıda ortaya çıkan sorunları yakalamaya yönelik hafif bir geçiştir. Bir saatin altında çalıştırabileceğiniz şekilde tutun.

Geliştirici araçları olmasa bile herkesin izleyebileceği basit bir betik yazın. Kural: kullanıcıların yaptığı işleri test edin, geliştiricilerin inceleyebileceklerini değil.

Hızlı bir yayın QA betiği

En az bir küçük telefon ve bir daha büyük cihazda (mümkünse bir daha eski OS sürümünde) çalıştırın:

  • Release yapısını yükleyin (debug değil) ve mağaza uygulaması gibi davrandığını doğrulayın (debug bandrolü yok, dev menüleri yok).
  • Onboarding ve oturumu sıfırdan tamamlayın (parola sıfırlama veya sihirli bağlantı varsa onu da dahil edin).
  • En önemli “para” akışınızı tetikleyin (abonelik, uygulama içi satın alma, ödeme veya paywall) gerçek test hesaplarıyla.
  • Bildirimleri uçtan uca kontrol edin: izin istemi, bildirimi almak ve doğru ekrana götürmesi.
  • Çevrimdışı ve zayıf ağ durumlarını test edin: uygulamayı uçak modunda açın, sonra bağlantı geri geldiğinde toparlanmayı gözlemleyin.

Çalıştırmadan sonra uygulamayı zorla kapatıp yeniden başlatın; uygulama temiz başlamalı ve sıcak duruma bağımlı olmamalı.

Bir şey başarısız olursa, tam ekranı, son eylemi ve yalnızca bir cihaz boyutunda olup olmadığını not edin. Bu genellikle hızlı bir düzeltme için yeterlidir.

Mağaza listeleme varlıkları: ihtiyacınız olana önceden hazırlanın

Birçok lansman stresi koddan değil mağaza sayfalarından gelir. Listelemeyi yayın işinin bir parçası gibi ele alın; böylece son dakika tasarım talepleri, eksik gizlilik cevapları ve ekran görüntüsü karmaşası yaşamazsınız.

Neredeyse kesinlikle ihtiyacınız olacakları toplayın: uygulama ikonu, ekran görüntüleri, kısa bir alt başlık, uzun açıklama ve platforma özel gereken grafikler. Tanıtım videosu opsiyoneldir ve ancak güncel tutabiliyorsanız değerlidir.

Ekran görüntüleri için cihaz boyutlarını erken seçin ve ona bağlı kalın. Tutarlı bir sıra kullanın (onboarding, ana ekran, ana özellik, ayarlar, yükseltme) ki güncellemeler telaş olmasın.

Açıklamayı insan dilinde yazın: uygulamanın ne yaptığını bir cümlede açıklayın, ardından birkaç kısa fayda satırı ve varsa abonelikler veya hesap gereksinimleri hakkında net bir not. Söyleyemeyeceğiniz şeyleri vaat etmeyin.

Gizlilik ve veri kullanım cevaplarını da şimdi toplayın. Takip, toplanan veri türleri ve izinler hakkında sorulacaktır. Uygulama konum, kişiler veya fotoğraflar istiyorsa nedenini basitçe açıklayın.

Varlıkları düzenli tutarsanız, güncellemeler rutin olur. Basit bir yapı yeterlidir (ikon, cihaz türüne göre ekran görüntüleri, metin, gizlilik notları ve sürüm notları).

Kuru çalışma gönderimi yapın ki sürpriz olmasın

Kurulum zahmetini atlayın
Her şeyi manuel kurmak yerine sohbet yoluyla web, sunucu ve mobil uygulamalar üretin.
Uygulama Oluştur

Kuru çalışma, mağaza gönderim akışını yayınlayacakmış gibi baştan sona geçmektir ama Publish tuşuna basmadan durmaktır. Tahminleri gerçek cevaplara çevirir.

Göndermeye hazır olacağınız bir yapıyı seçin (gerçekten yayımlamayabilirsiniz). Yapıyı yükleyin, formları doldurun ve her şeyi taslak olarak kaydedin. Eksik bilgileri zaman varken bulmak istersiniz.

Doğrulayın:

  • Versiyon ve build numarası beklediğinizle eşleşiyor ve sürüm notları hazır.
  • Uyumluluk soruları tutarlı şekilde cevaplanmış (veri toplama, reklamlar, şifreleme, oturum gereksinimleri, hassas izinler).
  • Desteklenen ülkeler, fiyatlandırma (varsa) ve yaş değerlendirmesi doğru.
  • İletişim detayları hazır: destek e-posta adresi, gizlilik politikası metni konumu ve herhangi bir inceleme notu.
  • İnceleme bilgileri tamam: demo hesap (gerekliyse) ve temel özelliklere ulaşmak için net adımlar.

İlk sürüm kötü olursa ne yapacağınızı planlayın. Geri alma (önceki imzalı artefaktı saklama), sıcak düzeltme gönderme ve dağıtımı durdurma tetikleyicilerini belirleyin (çökme artışı, oturum açma hataları).

Ayrıca ilk 48 saatte erken geribildirim toplama yöntemini belirleyin. Küçük bir grup kanalı, gerçekten izlediğiniz bir destek gelen kutusu ve uygulama içi “Geribildirim Gönder” seçeneği bariz sorunları yıldızlı olumsuz değerlendirmelere dönüşmeden yakalayabilir.

Lansmandan hemen önce zaman kaybettiren yaygın tuzaklar

Çoğu gecikme, test ettiğiniz yapının gönderdiğiniz yapıyla aynı olmamasından kaynaklanır. Bir debug veya profile yapısı mükemmel görünebilir, sonra release yapı gerçek cihazda küçültme, farklı konfigürasyon değerleri veya eksik runtime izinleri yüzünden başarısız olabilir.

Başka bir zaman kaybı, geliştirme ve üretim ayarlarını karıştırmaktır: staging API URL’sini, yanlış analytics anahtarını veya test ödeme ayarlarını göndermek. Üretimi ayrı bir ortam gibi ele alın ve tam olarak yükleyeceğiniz artefakt üzerinde doğrulayın.

Bu tuzaklar ekipleri tekrar tekrar yoruyor:

  • Test etmeyi “yayına yakın” yapmak yerine tam olarak yükleyeceğiniz imzalı artefaktı test etmemek.
  • Konfigürasyonlar net ayrılmadığı için yanlış endpoint’ler veya feature flag’lerin gönderilmesi.
  • İzin istemlerinin belirsiz veya eksik olması nedeniyle inceleme reddi.
  • Semboller/mapping yüklenmediği için işe yarayan çökme raporları alınamaması.
  • İmzalama anahtarlarının tek bir kişinin laptop’unda kalması.

Cuma uploadunu hayal edin: bir inceleyici uygulamayı açar, erişim isteyen bir özelliğe dokunur ve metin belirsizdir. Metni düzeltirsiniz ama imzalama anahtarı çevrimdışı olan bir çalışma arkadaşınızın makinesindedir. İşte iki önlenebilir gün kaybı.

Hızlı yayın hazır olma kontrol listesi (yazdırılabilir)

Önce yayın temellerini kilitleyin
Yayın çalışmaları tahmin edilebilir kalsın diye uygulama adınızı, kimliklerinizi ve ortamlarınızı erkenden belirleyin.
Proje Oluştur

Bunu ilk mağaza yapısını kesmeden önceki gün kullanın. Kısa tutuldu; eğer herhangi bir madde “belki” ise, mağaza formlarına zaman harcamadan önce düzeltin.

  • İmzalama temiz bir makinada çalışıyor. Yeni checkout ile imzalanmış release derlenebiliyor. Anahtar/sertifikalar yedeklendi, erişim sınırlı ve sahiplik net.
  • Tüm build flavor’ları başarılı. Dev, staging (kullanılıyorsa) ve production manuel düzenleme olmadan derleniyor. Production konfigürasyonu doğrulandı (bundle id/applicationId, uygulama adı, simgeler, API endpoint’leri, analytics anahtarları).
  • Çökme raporlaması release yapıda çalışıyor. Release yapıdaki test çökmesi veya olay, semboller/mapping ile okunabilir yığın izleri gönderiyor.
  • İzinler gerekçelendirildi ve okunaklı. Her iznin insan dilinde kısa bir açıklaması var ve kullanıcı reddedince uygulama sınırlı da olsa çalışmaya devam ediyor. Zamanlama bağlama uygun.
  • Mağaza varlıkları tamam. İkonlar, ekran görüntüleri, gereken grafikler, kısa/uzun açıklamalar, destek e-postası, gizlilik etiketleri ve yaş değerlendirmesi taslak ve gözden geçirilmiş.

Eğer Koder.ai gibi kaynağı dışa aktarabilen bir platformla inşa ediyorsanız, bir kontrol daha ekleyin: dışa aktarılan proje, yükleyeceğinizle aynı imzalı release yapıyı üretiyor mu doğrulayın.

Örnek: panik olmadan ilk gönderim haftası

Üç kişilik küçük bir ekip ilk Flutter uygulamalarını mağazalara sokuyor: bir geliştirici, bir tasarımcı ve yarı zamanlı bir PM. İlk gönderimi bir prova gibi ele alırlar.

Pazartesi geliştirici release yapıyı üretir ve imzalama anahtarının silinmek üzere olan bir dizüstü bilgisayarda olduğunu fark eder. Aynı gün bunu düzeltirler: anahtarı paylaşılan, erişim kontrollü bir vault’a taşırlar, sahipliği belgeleyip CI makinesinin imzalayabildiğini doğrularlar.

Salı PM tüm izin istemlerini yüksek sesle okur. Bir tanesi öne çıkar: fotoğraf izni “gerekli” diyor ama uygulama sadece isteğe bağlı profil fotoğrafları için kullanıyor. Metni yeniden yazarlar ve isteği kullanıcı “Fotoğraf ekle”ye dokunduğunda gösterirler.

Perşembe final ekran görüntüleri ve production yapıyla tam bir dry-run yaparlar. Mağaza açıklaması ile uygulama içi abonelik etiketleri arasında bir uyumsuzluk tespit edilir. Dry-run olduğu için bunu düzeltir ve yayın gününden önce yeniden gönderirler.

Ertesi sefer için basit bir zaman çizelgesi tutarlar:

  • Pzt: Özellikleri dondur, imzalamayı ve production yapıyı doğrula
  • Salı: İzinleri ve uygulama içi metinleri gözden geçir
  • Çar: Gerçek cihazlarda hızlı test, analytics ve çökme raporlamayı doğrula
  • Perş: Mağaza dry-run
  • Cum: İnceleme için gönder ve düzeltmeler için tampon bıraktıklarını unutma

Sonraki adımlar: bir sonraki sürümü ilkinden daha kolay hale getirin

İlk yayın size “hazır” olmanın ne demek olduğunu öğretir. Öğrendiklerinizi taze iken kayıt altına alın.

Net sahipler atayın. Küçük bir ekipte bile “herkes” genellikle “hiç kimse” demektir ve kritik görevler atlabilir:

  • İmzalama ve anahtar saklama
  • Son cihaz kontrolleri ve git/kal kararı
  • Mağaza varlıkları ve metin
  • Gönderim adımları ve inceleyici takibi

Yaptıklarınızı tekrarlanabilir bir kontrol listesine ve sürüm notu şablonuna dönüştürün: çalıştırdığınız komutlar, aldığınız onaylar ve yüklediğiniz dosyalar. Hangi flavor’ın production olduğu ve hangi izin metninin inceleme sorunu yarattığı gibi tuzakları da ekleyin.

Yayın sonrası bir hafta içinde 20 dakikalık bir değerlendirme planlayın. Odak nokta düzeltmeler olsun, suçlama değil:

  • Gönderim veya inceleme sırasında bizi ne şaşırttı?
  • Beklenenden uzun süren neydi ve neden?
  • Bir dahaki sefere neyi daha erken hazırlayabiliriz (varlıklar, metin, destek gelen kutusu)?

Koder.ai ile inşa ediyorsanız, Planning Mode yayın görevlerini tek yerde takip etmenize ve snapshots ile son dakika değişikliklerinden önce bilinen iyi bir duruma dönmenize yardımcı olabilir.

SSS

İlk Flutter uygulama gönderimi için “release-ready” ne demek?

Release-ready, üretime yönelik imzalanmış bir release yapısını oluşturup temiz bir cihaza yükleyebildiğiniz ve son dakika düzeltmeleri olmadan mağazaya gönderebileceğiniz anlamına gelir.

Pratik bir temel şu öğeleri içerir:

  • Yükleyeceğiniz tam artefaktı güvenilir şekilde üretebiliyorsunuz.
  • İmzalama anahtarları/sertifikaları sahipliğe, yedeklemeye ve kurtarmaya uygun.
  • Çökme raporlama, o yapıya ait okunabilir yığın izleri sağlıyor.
  • Mağaza liste bilgileri ve gerekli beyanlar tamamlanmış.
Gerçekten göndereceğimle aynı yapıyı test ettiğimi nasıl doğrularım?

Bir release build oluşturun ve uygulamayı daha önce hiç yüklenmemiş bir cihaza kurun.

Kontrol edin:

  • Debug bandrolü veya geliştirici menüleri yok.
  • Uygulama force-close sonrası temiz başlıyor.
  • Gerçek ağ koşullarında ana akış çalışıyor.

Sadece debug/profile test ettiyseniz, gönderdiğiniz şeyi gerçekten test etmiş sayılmayın.

Android imzalama anahtarlarını kaybetmemek için en güvenli yol nedir?

İmzalama varlıklarını üretim kimlik bilgileri gibi yönetin:

  • Bir sahibi atayın (tercihen bireysel değil şirket hesabı).
  • Android keystore ve parolalarını şifreli depolamada, sınırlı erişimle saklayın.
  • Ayrı bir konumda en az bir test edilmiş yedek tutun.

Anahtar sadece bir dizüstü bilgisayarda varsa, güncellemeleri kaybetmeye bir kazayla yaklaşıyorsunuz demektir.

iOS imzalama için sürüm gününde sorunsuz olmak adına ne yapmalıyız?

İmzalama Apple Developer hesabına bağlı olmalı ve yönetici erişimi net olmalıdır.

Erken yapmanız gerekenler:

  • En az iki güvenilir adminin sertifika/profil yönetebilmesini sağlayın.
  • Kimin sürüm gönderebileceğini ve 2FA kurtarma yöntemlerini belgeleyin.
  • Temiz bir makineden/CI’den imzalanmış bir release oluşturup bunun sadece bir Mac’te çalışmadığını kanıtlayın.
Gerçekten build flavor’lara ihtiyacımız var mı ve dev ile prod arasında ne farklı olmalı?

İki flavor ile başlayın: dev ve prod.

Tipik farklar:

  • Uygulama adı ve bundle/package ID
  • API endpoint’leri ve feature flag’ler
  • (İsteğe bağlı) ikonlar
  • Analytics/çökme raporlama ayarları
  • Loglama seviyesi

Amaç, yayın öncesi dosya düzenlemeleri yapmak zorunda kalmamaktır.

Gizli konfigürasyonları repoya koymadan nasıl güvenli bir şekilde inşa ederiz?

Gizli konfigürasyonları repoya koymaktan kaçının; bunun yerine secrets injection kullanın.

İyi uygulamalar:

  • API anahtarlarını repoda saklamayın.
  • Kaydedilmemiş ortam dosyaları, CI secret’ları veya build zamanı değişkenleri kullanın.
  • Bir üretim secret’ı eksikse build’in hata vermesini sağlayın (sessizce dev değerleri kullanmaktan daha iyidir).

Bu, staging endpoint’lerinin veya test ödeme ayarlarının kazara yayınlanmasını önler.

Yayın sonrası gerçekten yardımcı olacak asgari çökme raporlama kurulumu nedir?

Tek bir çökme raporlama aracı seçin ve bunu erken entegre edin.

Minimum yapı:

  • Her rapor uygulama versiyonunu/build numarasını ve cihaz/OS bilgisini içersin.
  • iOS için dSYM dosyalarını yükleyin ki yığın izleri okunabilir olsun.
  • Android için küçültme/obfuscation kullanıyorsanız mapping dosyasını yükleyin.

Bunu staging/release yapıda zorunlu bir çökme tetikleyip raporun kullanılabilir olduğundan emin olarak test edin.

İzinleri ne zaman sormalıyız ve ilk açılışta kullanıcıları korkutmamak için ne yapmalıyız?

İzni sadece kullanıcı ilgili eylemi tetiklediğinde isteyin.

İyi bir model:

  • Kısa bir ön-izin açıklaması gösterin (“Makbuz eklemek için fotoğraflara izin verin”).
  • Sistem izin istemini yalnızca kullanıcı niyet gösterdikten sonra tetikleyin (ör. “Fotoğraf ekle”ye dokunduktan sonra).
  • Reddedilirse uygulama hâlâ kullanılabilir olsun ve hangi özelliklerin kısıtlandığını açıklayın.

Belirsiz istemler ve erken izin istekleri güven kaybına ve inceleme gecikmelerine yol açar.

Bir saatin altında yapılabilecek pratik bir yayın testi geçişi nedir?

Herkesin takip edebileceği hızlı bir “release build smoke test” çalıştırın:

  • İmzalanmış release yapıyı temiz bir cihaza kurun.
  • Onboarding ve oturum açmayı sıfırdan tamamlayın.
  • Ana “para” akışını (abone olma, satın alma, ödeme) test hesaplarıyla çalıştırın.
  • Çevrimdışı/zayıf ağ koşullarını test edin ve bağlantı geri geldiğinde toparlanmayı gözlemleyin.
  • Force-close yapıp yeniden başlatın.

Not alın: son eylem, ekran, cihaz modeli ve yeniden üretilebilirlik bilgisi işinizi hızlandırır.

Sürpriz yaşamamak için bir mağaza gönderim dry-run’unda neler dahil olmalı?

Mağaza gönderimini taslak olarak doldurup kaydedin (yayınlamadan önce dry-run).

Hazır olduğundan emin olun:

  • Doğru versiyon/build numarası ve sürüm notları
  • İkonlar, ekran görüntüleri, kısa/uzun açıklamalar
  • Gizlilik/veri beyanları ve izin açıklamaları
  • Destek iletişim bilgileri ve varsa demo hesaplar

Ayrıca yayın öncesi geri alma/sıcak düzeltme planınızı belirleyin.

İçindekiler
“Yayın hazır” gerçekte ne demekDerlemeden önce kesinleştirmeniz gereken kararlarUygulama imzalama: anahtarlar, sahiplik ve güvenli saklamaBuild flavor’ları: dev ve production’u ayırınÇökme raporlama ve release loglamaİzinler: kullanıcı dostu metin ve doğru zamanlamaPratik bir yayın test geçişi (tam bir test planı değil)Mağaza listeleme varlıkları: ihtiyacınız olana önceden hazırlanınKuru çalışma gönderimi yapın ki sürpriz olmasınLansmandan hemen önce zaman kaybettiren yaygın tuzaklarHızlı yayın hazır olma kontrol listesi (yazdırılabilir)Örnek: panik olmadan ilk gönderim haftasıSonraki adımlar: bir sonraki sürümü ilkinden daha kolay hale getirinSSS
Paylaş