Mehmet Fatih İçin
EN İletişim

Bağımsız Geliştirici Olarak Mobil Uygulama Yayınlamak: Geliştirmek Kolay, Dağıtmak Zor

Mehmet Fatih İçin · · 10 dk okuma

Bir mobil uygulamayı tek başına fikirden mağazaya taşımak bugün hiç olmadığı kadar kolay. React Native gibi çapraz platform araçlar, hazır arka uç servisleri ve yapay zekâ destekli geliştirme sayesinde bir kişi birkaç hafta içinde iOS ve Android'de çalışan, bakımı yapılabilir bir uygulama çıkarabiliyor. Kendi uygulamalarımı yayınlarken öğrendiğim en net ders ise şu oldu: uygulamayı geliştirmek işin kolay kısmı. Zor olan, insanların onu bulmasını, indirmesini ve kullanmaya devam etmesini sağlamak. Bu yazıda, bağımsız bir geliştirici olarak dağıtım, gelir modeli ve reklam tarafında dikkat etmeniz gerekenleri anlatıyorum.

1. Mağazada görünmek: ASO bir defalık iş değildir

App Store ve Google Play'de her gün çok sayıda yeni uygulama yayınlanıyor. Kullanıcıların önemli bir kısmı uygulamaları mağaza içi aramayla buluyor. Mağaza optimizasyonu (ASO), uygulamanızın bu aramalarda görünmesini ve görüldüğünde indirilmesini sağlayan çalışmaların bütünüdür. İki parçası vardır: bulunabilirlik ve dönüşüm.

Bulunabilirlik için en etkili alanlar uygulama adı, alt başlık (App Store) ya da kısa açıklama (Google Play) ve App Store'daki anahtar kelime alanıdır. Bu alanlarda insanların gerçekten aradığı ifadelere yer vermek gerekir. Uygulamanıza verdiğiniz yaratıcı isim, kimse tarafından aranmıyorsa tek başına bir işe yaramaz; “StreakFlow: Alışkanlık Takibi” gibi bir kalıp, hem marka hem arama ifadesi taşır. Google Play uzun açıklamayı da dizine ekler, bu yüzden açıklamada doğal bir dille anahtar ifadeleri geçirmek önemlidir. App Store ise uzun açıklamayı aramada kullanmaz; orada anahtar kelime alanı ve başlık belirleyicidir.

Dönüşüm için ise ikon, ilk iki-üç ekran görüntüsü ve kısa açıklama belirleyicidir. Kullanıcılar arama sonuçlarında çoğu zaman yalnızca ikonu, adı, puanı ve ilk ekran görüntülerini görür. Ekran görüntülerini yalnızca uygulamanın ekranları olarak değil, her biri tek bir faydayı anlatan küçük afişler olarak düşünmek gerekir: üstte kısa ve büyük bir başlık, altında o faydayı gösteren ekran.

ASO bir defalık bir iş değildir. Arama hacimleri, rakipler ve mağaza algoritmaları değişir. Belirli aralıklarla hangi ifadelerden gösterim aldığınızı (App Store Connect ve Google Play Console bu verileri sunar) inceleyip metinleri güncellemek gerekir. Google Play'in mağaza sayfası denemeleri (store listing experiments) ve App Store'un ürün sayfası optimizasyonu, ikon ve ekran görüntüsü gibi öğeleri gerçek kullanıcılarla karşılaştırmalı test etmenize olanak tanır.

2. Yerelleştirme: en ucuz büyüme kaldıracı

Tek dilde yayınlanan bir uygulama, diğer dillerdeki aramalarda neredeyse hiç görünmez. Uygulamanın arayüzünü ve mağaza sayfasını birkaç büyük dile çevirmek, bağımsız bir geliştiricinin yapabileceği en düşük maliyetli büyüme hamlelerinden biridir. Burada önemli olan, mağaza metnini birebir çevirmek değil, her dilde insanların ne aradığına göre yeniden yazmaktır. Bir dildeki popüler arama ifadesi, diğer dilde birebir karşılığıyla aranmayabilir.

Yerelleştirmenin teknik tarafını React Native uygulamayı 14 dile yerelleştirmek yazısında ayrıntılı anlattım. Kısaca: metinleri ilk günden çeviri dosyalarına koyun, tarih ve para biçimlerini yerleşik Intl araçlarına bırakın ve ekran görüntülerini her dil için ayrı hazırlayın.

3. Gelir modeli: abonelik mi, tek seferlik satın alma mı?

Bugün mobil uygulamalarda en yaygın gelir modeli aboneliktir. Abonelik, sürekli gelir sağladığı için yatırımcılar ve büyük ekipler açısından caziptir. Ancak kullanıcı tarafında “abonelik yorgunluğu” gerçek bir olgudur; özellikle basit araç uygulamalarında kullanıcılar her ay ödeme yapmaya karşı isteksizdir. Kendi uygulamalarımda ek özellikleri abonelik yerine tek seferlik satın almayla açmayı tercih ediyorum. Bu modelin artıları ve eksileri şöyle:

  • Artı – güven: Kullanıcı ne ödeyeceğini ve karşılığında ne alacağını net olarak bilir. “Ömür boyu” teklifi, abonelik karşıtı kullanıcılar için güçlü bir neden olabilir.
  • Artı – sadelik: İptal, yenileme, ücretsiz deneme bitişi, fiyat değişikliği bildirimi gibi abonelik yönetimi ayrıntılarıyla uğraşmazsınız.
  • Eksi – gelir tavanı: Her kullanıcıdan bir kez ödeme alırsınız. Uygulamayı yıllarca güncellemenin maliyeti, yeni kullanıcı gelmedikçe karşılanmaz.
  • Eksi – fiyatlama zorluğu: Tek seferlik fiyat çok düşük tutulursa sürdürülebilir olmaz, çok yüksek tutulursa dönüşüm düşer.

Melez modeller de mümkündür: temel özellikler ücretsiz, gelişmiş özellikler tek seferlik satın alma, sürekli sunucu maliyeti doğuran özellikler (bulut yedekleme gibi) abonelik. Önemli olan, modelin uygulamanın maliyet yapısıyla uyumlu olmasıdır. Sunucu maliyeti olmayan, verileri cihazda tutan bir uygulama için tek seferlik satın alma çoğu zaman en dürüst seçenektir.

4. Reklam ağları: geçersiz trafik riskini ciddiye alın

Ücretsiz uygulamalarda reklam, yaygın bir gelir kaynağıdır. Ancak reklam ağlarının geçersiz trafik politikaları, bağımsız geliştiriciler için beklenmedik bir risk taşır. Reklam ağları, reklam verenleri korumak için sahte gösterim ve tıklamaları tespit eden otomatik sistemler kullanır. Bu sistemler bir hesapta şüpheli bir örüntü gördüğünde reklam yayınını sınırlayabilir ya da hesabı tamamen kapatabilir. Kapatılan bir hesabı geri açtırmak çoğu zaman çok zordur.

Bağımsız geliştiricilerin en sık düştüğü tuzak, kendi uygulamasındaki gerçek reklamları görmek ya da tıklamaktır. Uygulamanızı test ederken, arkadaşlarınıza ve ailenize gösterirken ya da kendi telefonunuzda günlük kullanırken gerçek reklamlar yüklenirse, bu gösterimler geçersiz trafik olarak değerlendirilebilir. Kasıtlı olmasa bile sonuç aynı olabilir. Bu riski azaltmak için:

  • Geliştirme sürümlerinde test reklam birimleri kullanın. Reklam ağlarının sunduğu resmi test birimleri gerçek reklam göstermez ve geçersiz trafik oluşturmaz. Derleme yapılandırmasına göre (geliştirme / yayın) reklam birimlerini otomatik seçin.
  • Kendi cihazlarınızı test cihazı olarak tanımlayın. Yayındaki uygulamayı kendi telefonunuzda kullanacaksanız, cihaz kimliğini reklam ağının panelinde ya da kodda test cihazı olarak kaydedin.
  • Yakın çevrenizden reklamlara tıklamalarını istemeyin. İyi niyetli “destek” tıklamaları, en hızlı hesap kapanma nedenlerinden biridir.
  • Reklam yerleşimini kazara tıklamaya açık bırakmayın. Düğmelerin hemen yanına yerleştirilmiş ya da içeriği kapatan reklamlar hem politika ihlali sayılabilir hem de kullanıcı deneyimini bozar.
  • Trafiğinizi izleyin. Belirli bir ülkeden ya da kaynaktan beklenmedik bir gösterim artışı görürseniz nedenini araştırın.
// Geliştirme sürümünde her zaman test birimi
const BANNER_ID = __DEV__
  ? TestIds.BANNER
  : Platform.select({ ios: "ca-app-pub-xxx/ios", android: "ca-app-pub-xxx/android" });

Ayrıca tek bir reklam ağına bağımlı kalmamak da bir risk yönetimi yöntemidir. Reklam katmanını uygulamanın geri kalanından ayıran bir arayüz yazmak, gerektiğinde ağ değiştirmeyi kolaylaştırır.

5. Kısa videolar ve sosyal medya

TikTok, Instagram Reels ve YouTube Shorts gibi kısa video platformları, sıfır bütçeyle görünürlük kazanmanın en çok önerilen yollarından biri. Deneyimim, bu kanalın her uygulama türü için aynı şekilde çalışmadığı yönünde. İzlenme sayısı yüksek olsa bile indirmeye dönüşüm düşük kalabilir; çünkü izleyici videoyu eğlence için izliyor, bir uygulama aramıyor.

Kısa videoların daha iyi çalıştığı durumlar genellikle şunlardır: uygulama görsel olarak ilk saniyede anlaşılıyorsa, bir sorunu çözdüğü an gösterilebiliyorsa ya da bir oyun veya sosyal aktivite olarak izleyiciyi doğrudan içine çekiyorsa. Arkadaşlarla oynanan bir kelime oyunu, bir bütçe uygulamasından çok daha kolay video içeriğine dönüşür. Video denemelerinde tek tek videoların başarısına değil, bir dizi denemeden sonra hangi formatın işe yaradığına bakmak daha anlamlıdır. Uygulama sayfasına giden bağlantılara kampanya parametresi eklemek, hangi videonun indirme getirdiğini ölçmenizi sağlar.

6. Ücretli kullanıcı edinimi: önce ölçün

Organik kanallar yetersiz kaldığında ücretli reklam (Apple Search Ads, Google App Campaigns, sosyal medya reklamları) akla gelir. Ücretli edinime başlamadan önce iki soruyu yanıtlayabilmek gerekir: Bir kullanıcı uygulamada ortalama ne kadar kalıyor? Bir kullanıcıdan ortalama ne kadar gelir elde ediliyor? Bu iki değeri bilmeden yapılan reklam harcaması, kâr mı zarar mı ettiğinizi göremediğiniz bir deneydir. Küçük bir bütçeyle, tek bir ülke ve tek bir kampanyayla başlamak, ölçümü kolaylaştırır. Apple Search Ads gibi arama tabanlı reklamlar, kullanıcı zaten bir şey aradığı için genellikle daha niyetli trafik getirir.

7. Geri bildirim toplamak ve elde tutmak

İndirme sayısı kadar önemli olan, indiren kullanıcının uygulamayı kullanmaya devam etmesidir. Mağaza algoritmaları da kullanıcıların uygulamayı tutup tutmadığını, puanlarını ve yorumlarını dikkate alır. Bağımsız bir geliştiricinin bu konudaki en büyük avantajı, kullanıcısına doğrudan ulaşabilmesidir.

  • Uygulama içi geri bildirim: Ayarlar ekranında kolayca ulaşılan bir “geri bildirim gönder” bağlantısı, olumsuz deneyimlerin mağaza yorumuna dönüşmeden size ulaşmasını sağlar.
  • Doğru anda puan isteği: Sistemin yerleşik puanlama penceresini (iOS'ta SKStoreReviewController, Android'de In-App Review API) kullanıcı olumlu bir şey yaşadıktan sonra, örneğin bir hedefi tamamladığında göstermek gerekir. Platformlar bu pencerenin ne sıklıkla gösterilebileceğini sınırlar.
  • Yorumlara yanıt: Mağaza yorumlarına, özellikle olumsuz olanlara, kısa ve çözüm odaklı yanıt vermek hem o kullanıcıyı hem de sayfayı okuyan diğer kullanıcıları etkiler.
  • Gizliliğe saygı: Analitik verisi toplarken yalnızca karar vermenize yardımcı olacak olayları ölçün ve mağazaların gizlilik beyanlarını doğru doldurun.

8. Kendinize bir dağıtım takvimi kurun

Geliştiriciler için en doğal davranış, zamanının neredeyse tamamını yeni özelliklere ayırmaktır. Oysa kimse uygulamayı bilmiyorsa yeni özellik de bilinmeyecektir. Kendime koyduğum kural, zamanın önemli bir bölümünü dağıtıma ayırmak: mağaza metinlerini güncellemek, yeni bir dil eklemek, uygulamanın çözdüğü sorunu anlatan bir blog yazısı yazmak, bir video denemek ya da kullanıcı yorumlarına yanıt vermek. Uygulamanın bir web sayfasının olması da önemlidir; arama motorlarından gelen kullanıcılar, mağaza aramasından farklı bir kitle getirir.

Kısaca

  • ASO'yu bulunabilirlik ve dönüşüm olarak ikiye ayırın; düzenli olarak ölçüp güncelleyin.
  • Mağaza sayfasını her dilde, o dildeki arama alışkanlıklarına göre yazın.
  • Gelir modelini uygulamanın maliyet yapısına göre seçin.
  • Reklamda test birimleri ve test cihazları kullanın; kendi reklamınızı asla tıklamayın.
  • Kısa videoda tek tek sonuçlara değil, formatlara bakın; bağlantıları ölçülebilir yapın.
  • Ücretli edinime başlamadan önce kullanıcı başına geliri ve elde tutmayı ölçün.

Bu yaklaşımla yayınladığım uygulamalarımı inceleyebilirsin: arkadaşlarla oynanan LiarLoop, alışkanlık takibi için StreakFlow ve harcama takibi için Parakit. Mağaza görsellerini hazırlarken resim sıkıştırma, kampanya bağlantılarını paylaşırken QR kod oluşturucu ve mağaza metinlerinin karakter sınırlarını kontrol etmek için karakter sayacı işine yarayabilir. Fikirden mağazaya bir uygulama için destek arıyorsan teklif formundan yazabilirsin.

Diğer yazılar