Unity Oyunlarınızı Android ve iOS’e Yayınlama Rehberi

Unity ile geliştirdiğiniz oyunları Android ve iOS platformlarına nasıl yayınlayacağınızı öğrenin. Temel adımlar, ipuçları ve sık karşılaşılan hataların çözümleri bu rehberde!

Unity ile harika bir oyun geliştirdiniz! Peki, bu oyunu milyonlarca oyuncuyla buluşturmaya hazır mısınız? Unity oyun yayınlama süreci, geliştirmenin kendisi kadar heyecan verici ve bir o kadar da dikkat gerektiren bir aşamadır. Bu kapsamlı rehberde, Unity ile geliştirdiğiniz mobil oyunlarınızı Android ve iOS platformlarına başarıyla nasıl yayınlayacağınızın temel adımlarını, ipuçlarını ve sıkça karşılaşılan sorunların çözümlerini detaylı bir şekilde ele alacağız.

Unity Oyun Yayınlama Sürecine Genel Bakış

Bir Unity oyununu mobil mağazalara taşımak, sadece “Build” butonuna basmaktan çok daha fazlasını içerir. Bu süreç; projenizi mobil platformlar için optimize etmeyi, gerekli sertifikaları ve profilleri oluşturmayı, doğru imzalama işlemlerini yapmayı ve son olarak oyununuzu mağazalara yüklemeyi kapsar. Android için Google Play Store, iOS için ise Apple App Store’a yönelik adımlar, benzerlikler gösterse de bazı kritik farklılıkları vardır.

1. Unity Proje Ayarları: Ortak Adımlar

Yayınlama sürecine başlamadan önce, projenizin Unity içerisinde doğru şekilde yapılandırılması gerekmektedir.

Build Settings (Derleme Ayarları)

  • File > Build Settings... yolunu izleyerek açın.
  • Sol panelden Android veya iOS platformunu seçin.
  • Seçtiğiniz platformun üzerine tıklayıp Switch Platform butonuna basarak projenizi o platforma geçirin. Bu işlem biraz zaman alabilir.
  • Yayınlamak istediğiniz tüm sahnelerin (Scenes) Scenes In Build listesinde olduğundan emin olun.

Player Settings (Oyuncu Ayarları)

Edit > Project Settings > Player yolunu izleyerek bu ayarlara ulaşabilirsiniz. Bu bölüm, oyununuzun cihazlarda nasıl görüneceğini ve davranacağını belirleyen kritik ayarları içerir.

  • Company Name ve Product Name: Uygulamanızın ve şirketinizin adını girin. Bu isimler mağazalarda görünecektir.
  • Version: Uygulamanızın görünen sürüm numarası (örn: 1.0.0).
  • Bundle Identifier (Package Name): Bu, uygulamanızın benzersiz kimliğidir ve genellikle com.SirketAdi.OyunAdi formatındadır (örn: com.unityegitim.benimoyunum). Hem Android hem de iOS için benzersiz olmalıdır.
  • Icon: Uygulamanızın ana ekran simgesini ayarlayın. Farklı çözünürlükler için birden fazla ikon ekleyebilirsiniz.
  • Resolution and Presentation: Oyununuzun ekran yönelimini (Portrait, Landscape) ve başlangıç çözünürlüğünü belirleyin.
  • Other Settings: Bu bölüm çok önemlidir:
    • Scripting Backend: Genellikle IL2CPP tercih edilir, çünkü daha iyi performans ve platform uyumluluğu sunar.
    • API Compatibility Level: .NET Standard 2.1 veya .NET 4.x seçeneğini uygulamanızın gereksinimlerine göre ayarlayın.
    • Target Architectures (Android): En azından ARM64‘ü seçmelisiniz. Güncel Google Play politikaları sadece 64-bit mimarileri desteklemektedir.
    • Target SDK Version (Android): Google Play’in gerektirdiği minimum SDK sürümünü kontrol edin ve uygun olanı seçin.

Android İçin Unity Oyun Yayınlama Adımları

Android platformunda Unity oyun yayınlama süreci, bir Keystore oluşturmayı ve Google Play Console üzerinden uygulamanızı yönetmeyi içerir.

1. Keystore Oluşturma ve İmzalama

Android uygulamaları, Google Play’e yüklenmeden önce dijital olarak imzalanmalıdır. Bu imza, uygulamanın kimliğini doğrular ve güncellemelerin güvenli bir şekilde yapılmasını sağlar. İmzalama için bir Keystore dosyası oluşturmanız gerekir.

  • Player Settings > Publishing Settings bölümüne gidin.
  • Keystore Manager altında, yeni bir Keystore oluşturmak için Create New seçeneğini seçin.
  • Keystore’unuz için güvenli bir şifre belirleyin ve bu şifreyi asla unutmayın! Keystore dosyasını da güvenli bir yerde yedekleyin.
  • Ardından, Keystore içinde bir Key Alias (anahtar takma adı) oluşturmanız gerekecek. Bu anahtar için de bir şifre belirleyin.
  • Tüm bilgileri doldurduktan sonra, Unity projenizi derlerken bu Keystore ve anahtar bilgileri ile imzalayacaktır.

Önemli Not: Keystore dosyanızı ve şifrelerinizi kaybetmeniz durumunda, uygulamanıza yeni güncellemeler yayınlayamazsınız. Bu nedenle, yedekleme kritik öneme sahiptir.

2. Build Süreci: APK vs. AAB

Geleneksel olarak Android uygulamaları .apk formatında yayınlanırdı. Ancak Google, artık Android App Bundle (AAB) formatını önermektedir. AAB’ler, kullanıcının cihazına yalnızca ihtiyacı olan kaynakları indirerek uygulama boyutunu optimize eder.

  • Build Settings penceresinde, Build App Bundle (Google Play) seçeneğini işaretleyin.
  • Build butonuna tıklayın. Unity, projenizi derleyecek ve belirttiğiniz konuma bir .aab dosyası oluşturacaktır.

3. Google Play Console

Oyununuzu Google Play Store’a yüklemek için bir Google Play Developer hesabına ihtiyacınız var. Hesap oluşturduktan sonra:

  • Yeni bir uygulama oluşturun.
  • Uygulamanızın adını, açıklamasını, kategori bilgilerini girin.
  • Mağaza listeleme öğelerini (ikonlar, ekran görüntüleri, tanıtım videosu) yükleyin.
  • İçerik derecelendirme anketini doldurun.
  • Gizlilik politikanızın URL’sini ekleyin.
  • App Bundles bölümüne .aab dosyanızı yükleyin.
  • Test kanallarını (dahili test, kapalı test, açık test) kullanarak oyununuzu test edin.
  • Her şey hazır olduğunda, uygulamanızı üretim kanalına taşıyarak yayınlayın.

iOS İçin Unity Oyun Yayınlama Adımları

iOS platformunda Unity oyun yayınlama, Android’e göre biraz daha karmaşıktır ve bir macOS işletim sistemine sahip bir bilgisayar ile Xcode yazılımına ihtiyaç duyar.

1. Apple Developer Program ve Gerekli Sertifikalar

  • Apple Developer Program Üyeliği: Yıllık ücretli bir programdır. Uygulama yayınlamak için zorunludur.
  • Certificates, Identifiers & Profiles: Apple Developer hesabınıza giriş yaparak bu bölüme ulaşın.
    • Certificates: Bir Development Certificate (geliştirme) ve bir Distribution Certificate (dağıtım) oluşturmanız gerekecek.
    • App IDs: Oyununuz için benzersiz bir App ID (Bundle Identifier ile aynı) oluşturun.
    • Devices: Geliştirme sürecinde oyununuzu test etmek istediğiniz cihazları buraya ekleyin.
    • Provisioning Profiles: Hem geliştirme hem de dağıtım için Provisioning Profile‘lar oluşturun. Bu profiller, uygulamanızın belirli cihazlarda çalışmasına ve belirli servisleri (push bildirimleri gibi) kullanmasına izin verir.

2. Unity’den Xcode Projesi Oluşturma

  • Build Settings penceresinde iOS platformunu seçtiğinizden emin olun.
  • Build butonuna tıklayın. Unity, projenizi derleyecek ve belirttiğiniz konuma bir Xcode projesi oluşturacaktır.

3. Xcode ile İmzalama ve Yükleme

Oluşturulan Xcode projesini macOS cihazınızda açın:

  • Projenizi açtıktan sonra, sol üstten projenizin ana hedefini (target) seçin.
  • Signing & Capabilities sekmesine gidin.
  • Automatically manage signing seçeneğini işaretleyin. Bu, Xcode’un sizin için uygun sertifika ve profilleri otomatik olarak yönetmesine yardımcı olur. Apple ID’nizle giriş yapmanız istenebilir.
  • Üst menüden Product > Archive seçeneğini seçin. Bu işlem, uygulamanızın dağıtıma hazır bir sürümünü oluşturacaktır.
  • Archives penceresi açıldığında, oluşturduğunuz arşivi seçin ve Distribute App butonuna tıklayın.
  • App Store Connect seçeneğini seçerek uygulamanızı App Store Connect’e yükleyin.

4. App Store Connect

Oyununuzu App Store’a yüklemek için bir Apple Developer hesabına sahip olmanız ve App Store Connect’i kullanmanız gerekir:

  • App Store Connect’e giriş yapın ve My Apps bölümünden yeni bir uygulama oluşturun.
  • Uygulamanızın adını, kategori bilgilerini, Bundle ID’sini girin.
  • Mağaza listeleme öğelerini (ikonlar, ekran görüntüleri, tanıtım videosu) yükleyin.
  • Gizlilik politikanızın URL’sini ekleyin.
  • TestFlight bölümünü kullanarak uygulamanızı beta testine açabilirsiniz.
  • Tüm bilgiler ve testler tamamlandığında, uygulamanızı incelemeye göndererek yayınlama sürecini başlatın.

Pratik İpuçları

  1. Sürüm Kontrolü ve Takibi: Her yeni yayınlamada, hem Player Settings içinde gördüğünüz Version numarasını hem de Android için Bundle Version Code‘u, iOS için ise Xcode’daki Build Number‘ı artırmayı unutmayın. Bu, mağazaların güncellemeleri tanıması için kritik öneme sahiptir.
  2. Kapsamlı Cihaz Testi: Uygulamanızı farklı Android ve iOS cihazlarda, farklı ekran boyutları ve performans seviyelerinde test edin. Sadece emülatörlere güvenmeyin.
  3. Mağaza Görselleri ve Açıklamaları: Oyununuzun mağaza sayfasındaki görseller (ekran görüntüleri, tanıtım videosu) ve açıklamalar, indirilme oranınızı doğrudan etkiler. Kaliteli, çekici ve bilgilendirici içerikler hazırlayın.
  4. Gizlilik Politikası: Uygulamanız kullanıcı verilerini topluyorsa (ki çoğu uygulama toplar), yasalara uygun bir gizlilik politikası URL’si sağlamak zorunludur. Bunu web sitenizde barındırabilir veya ücretsiz araçlar kullanabilirsiniz.

Yaygın Hatalar ve Çözümleri

  • Yanlış Keystore / İmzalama Hatası (Android): En sık karşılaşılan sorunlardan biridir. Keystore dosyasını kaybetmek veya yanlış şifre girmek, yeni güncellemeleri yayınlamanızı engeller.
    Çözüm: Keystore dosyanızı ve şifrelerinizi birden fazla yerde güvenle yedekleyin. Şifreleri doğru girdiğinizden emin olun.
  • Bundle Identifier Çakışması: Hem Android hem de iOS için Bundle Identifier‘ın benzersiz olması gerekir. Daha önce başka bir uygulama tarafından kullanılan bir kimliği kullanamazsınız.
    Çözüm: Benzersiz bir kimlik seçin ve yayınlamadan önce kontrol edin.
  • SDK/NDK Kurulum Sorunları (Android): Unity’nin gerektirdiği Android SDK ve NDK versiyonlarının doğru yüklendiğinden emin olun. Unity Hub, bu bileşenleri yönetmek için en kolay yoldur.
    Çözüm: Unity Hub üzerinden Installs sekmesinden Unity versiyonunuzun yanındaki dişli ikonuna tıklayarak Add Modules seçeneği ile gerekli Android bileşenlerini yükleyin.
  • Provisioning Profile Hataları (iOS): Xcode’da veya App Store Connect’te yanlış veya süresi dolmuş bir Provisioning Profile kullanmak build hatalarına yol açar.
    Çözüm: Apple Developer portalında profillerinizi kontrol edin, süresi dolanları yenileyin ve Xcode’da otomatik imzalama seçeneğini kullanın.
  • Bitcode Hatası (iOS): Bazen Xcode’da Enable Bitcode ayarı nedeniyle yükleme sorunları yaşanabilir. Unity genellikle bunu yönetse de, bazı üçüncü parti eklentilerle sorun çıkabilir.
    Çözüm: Xcode projenizin Build Settings bölümünde Enable Bitcode ayarını No olarak değiştirmeyi deneyebilirsiniz.

Performans ve Optimizasyon Notları

Mobil oyunlar için performans, kullanıcı deneyimi açısından kritik öneme sahiptir. Unity oyun yayınlama sürecinde bu konuları göz önünde bulundurun:

  • Build Boyutunu Küçültme: Daha küçük bir uygulama boyutu, daha hızlı indirme ve daha az depolama alanı demektir.
    • Texture Compression: Dokularınızı mobil platformlar için optimize edin (örn: ASTC, ETC2).
    • Asset Bundles: Gerekli olmayan varlıkları oyunun ana paketinden ayırarak sonradan indirilmesini sağlayın.
    • Code Stripping: Kullanılmayan kodları derleme sırasında kaldırarak uygulama boyutunu küçültün. Player Settings > Other Settings > Optimization > Managed Stripping Level ayarını artırabilirsiniz.
  • Frame Rate Optimizasyonu: Hedef cihazlarda akıcı bir deneyim için yüksek ve stabil bir kare hızı sağlayın.
    • Profiler: Unity’nin Profiler aracını kullanarak performans darboğazlarını tespit edin.
    • Target Frame Rate: Application.targetFrameRate komutu veya Player Settings içindeki ayarlar ile oyununuzun hedef kare hızını belirleyebilirsiniz (örn: 30 veya 60 FPS).

Sonuç

Unity ile geliştirdiğiniz oyunlarınızı Android ve iOS platformlarına yayınlamak, titizlik ve dikkat gerektiren bir süreçtir. Bu rehberde ele aldığımız adımları takip ederek ve pratik ipuçlarını uygulayarak, Unity oyun yayınlama serüveninizi başarılı bir şekilde tamamlayabilirsiniz. Unutmayın, her başarılı yayınlama, yeni bir öğrenme ve gelişme fırsatıdır. Başarılar dileriz!

Leave a Reply

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir