GÜNCELLEME (22.06.2019): Resimler eklendi ve Unity 2019 için talimatlar güncellendi.
Herkese merhaba,
Son dersimin üzerinden uzunca bir süre geçmesinin ardından tekrar sizlerleyim. Bu dersin dışında daha planladığım pek çok güzel proje var ama henüz hayata geçirmek kısmet olmadı.
Bu dersi bir nevi sitenin ölmediğini, tam gaz yola devam edeceğini haber vermek için yazıyorum diyebiliriz. Bir diğer sebep ise, bu dersin işleyeceği konu, yani Google Play‘e Unity oyunlarını yüklemek, bana epeyce sorulduğundan artık bu sorulara ortak bir yerden cevap vermek istiyorum.
Derste ne göreceğiz? Öncelikle Unity üzerinden yaptığınız uygulamayı imzalamayı (sign) göreceğiz. Ardından bu imzalanmış uygulamayı Google Play’e yüklemeyi göreceğiz. Derse başlamadan önce bir Google Play Developer hesabına sahip olmalısınız (tek seferlik bir ödeme karşılığı sahip oluyorsunuz) ve Android SDK’yı düzgünce kurup Unity’e tanıtmalısınız. Android SDK kurulumu için sizi şuraya alayım: yasirkula.com/2013/07/17/unity-android-sdk-kurulumu-resimli-anlatim/
Artık derse başlayalım!
NOT: Proje konumunuzda ‘ü‘, ‘ı‘, ‘ğ‘ gibi Türkçe karakterler varsa, bunları İngilizce karakterler ile değiştirin. Örneğin projeniz “C:\Ünity Projeleri\Yılan Oyunu” konumunda ise, bu konumu “C:\UnityProjeleri\YilanOyunu” olarak değiştirin. Örnekte olduğu gibi, konumdaki boşluk karakterlerini de silmenizi öneririm.
Bundle Identifier Belirlemek
En kolay kısım burası. Eğer Player Settings‘te Bundle Identifier kısmını hiç ellemeden uygulamanızı Android’e build almaya kalkarsanız, “Bundle Identifier has not been set up correctly” hatası alırsınız. Bu hatayı çözmek için yapmanız gereken tek şey, Bundle Identifier değerini şu şekilde değiştirmek: com.SirketinizinIsmi.UygulamaninAdi. Burada herhangi bir noktalama işareti (aralardaki noktalar hariç), boşluk veya Türkçe karakter kullanmayın.
64-bit APK Desteği Eklemek
Artık Google Play’e 64-bit desteği olmayan APK yüklemeye çalıştığınızda şu uyarıyla karşılaşacaksınız: “Bu sürüm Google Play 64 bit gereksinimi ile uyumlu değil.” Uygulamalarınıza 64-bit desteği eklemek için, Player Settings’teki Target Architectures listesinde yer alan ARM64’ü seçmeniz yeterli. Eğer bu seçenek kapalıysa, Scripting Backend‘i IL2CPP yapmanız lazım.
NOT: Target Architectures‘taki x86 seçeneğini seçmeyin; bu 32-bit’lik bir işlemci türü olduğu ve 64-bit’i Unity tarafından desteklenmediği için, böyle bir uygulamayı Google Play’e yüklerken yine 64 bit hata mesajı alırsınız.

IL2CPP ile build alabilmek için Android NDK gerekiyor. Edit-Preferences-External Tools‘ta NDK’in konumu girilmişse ve hemen altında NDK ile alakalı bir uyarı mesajı yoksa, NDK zaten kuruludur. Aksi taktirde NDK’i kurup konumunu External Tools’taki kutucuğa girmeniz lazım. Burada tavsiye edilen yöntem, NDK’i Unity Hub ile kurmak; böylece doğru NDK sürümünün kurulduğundan emin olursunuz. Bunun için Unity Hub’da Installs sekmesinden Unity sürümünüzü bulun ve sağ üstündeki 3 noktaya tıklayıp Add Modules seçeneğini seçin. Ardından Android Build Support‘un altındaki Android SDK & NDK Tools‘u seçip kurulumu tamamlayın:

NDK’i Unity Hub ile kurduktan sonra, External Tools’taki “Android NDK Installed with Unity” seçeneğini işaretlemeniz yeterli:

Google Play, uygulamalarınızı “App Bundle” (.aab) formatında yüklemenizi öneriyor ve Unity’nin son sürümleriyle beraber artık App Bundle build almak destekleniyor. Bunun için, Build Settings’teki Build App Bundle seçeneğini işaretleyebilirsiniz:

Eğer bu seçenek(ler)i göremiyorsanız ve eski bir Unity sürümü kullanıyorsanız, güncel bir Unity sürümüne geçmeniz gerekebilir.
Yaptığınız Uygulamayı Unity Üzerinden İmzalamak
Google Play’e uygulama yüklerken pek çok arkadaşımız bir hatayla karşılaştı: “You uploaded an APK that was signed in debug mode. You need to sign your APK in release mode.“
Hatanın Türkçe versiyonu: “Yükleme başarısız oldu. Hata ayıklama modunda imzalanmış bir APK yüklediniz. APK’nızı yayınlama modunda imzalamanız gerekiyor. İmzalama hakkında daha fazla bilgi edinin.“
Android uygulamalarında imzalama (sign) diye bir işlem var. Bu sistem, sizden başka birisinin oyunun yeni bir sürümünü oluşturmasını engelliyor. Google Play hesabınız hack’lense bile, kötü niyetli kişi sizin imzanıza sahip olmadıkça oyunlarınızı güncelleyemiyor. Google Play’e uygulamanızı yüklerken uygulamanızın imzalanmış olması gerekiyor. Burada imzadan kastımız, bir kağıda gerçek imzanızı atıp bir yere postalamak değil. Unity üzerinden uygulamanızı dijital olarak imzalamalısınız. Ancak siz sadece uygulamanızı telefonunuzda test etmek istiyorsanız, uygulamayı imzalamak zorunda değilsiniz. Direkt build edip APK dosyasını Android cihazınızda çalıştırabilirsiniz.
Gelgelelim bu imzalama işlemi nasıl gerçekleşir… Unity’den Player Settings‘e girin ve Publishing Settings sekmesini açıp aşağıdaki talimatları adım adım izleyin:
Unity 2019 ve Sonrası İçin
- Keystore Manager butonuna tıklayın.
- Gelen pencereden Keystore-Create New-Anywhere seçeneğini seçip, oluşturulacak dosya için bir konum ve isim belirleyin.
- Password ve Confirm password alanlarına, keystore için bir şifre girin (ÖNEMLİ: alttaki NOT1’i okuyun).
- Alias kısmına küçük harflerle uygulama adını girip ardından alttaki iki yere Alias için bir şifre girin (ÖNEMLİ: alttaki NOT2’yi okuyun). Pencerede geri kalan kısımları doldurmasanız da olur (eğer olmazsa sallamayı da deneyebilirsiniz). İşiniz bitince Add Key‘e tıklayın.
- Karşınıza gelen “Key created in keystore. Do you want to set them as your Project Keystore and Project Key?” kutucuğuna Yes deyin.
- Harika! Artık oyununuz imzalanmaya hazır. Hemen şimdi oyunu Build ederseniz, alacağınız APK dosyası imzalanacak ve Google Play’e yüklenmeye hazır halde olacak.
- Eğer Unity’den çıkıp daha sonra tekrar açarsanız ve yine imzalanmış bir APK dosyası build etmek isterseniz, Custom Keystore seçeneğini işaretleyip altındaki Select… butonu ile keystore dosyanızı seçin. Password kısmına keystore şifresini girdikten sonra, oluşturduğunuz Alias‘ı seçin ve onun şifresini de altındaki Password kutucuğuna girin. Artık build alabilirsiniz.
Unity 2018.4 ve Öncesi İçin
- Create New Keystore seçeneğini seçin.
- Browse Keystore‘a tıklayın, oluşturulacak dosya için bir konum ve isim belirleyin.
- Keystore password ve Confirm password alanlarına, keystore için bir şifre girin (ÖNEMLİ: alttaki NOT1’i okuyun).
- Birden üçe kadar tüm aşamaları yaptınız. Şimdi başka hiçbir şeye dokunmadan direkt Alias‘a tıklayıp “Create a new key“i seçin.
- Karşınıza gelen pencerede, Alias kısmına küçük harflerle uygulama adını girip ardından alttaki iki yere Alias için bir şifre girin (ÖNEMLİ: alttaki NOT2’yi okuyun). Pencerede geri kalan kısımları doldurmasanız da olur (eğer olmazsa sallamayı da deneyebilirsiniz). İşiniz bitince Create Key‘e tıklayın.
- Eğer Alias’ta Unsigned seçili kaldıysa, onu yeni oluşturduğunuz Alias ile değiştirin.
- Alias’ın altında yer alan Password‘a alias şifrenizi girin.
- Harika! Artık oyununuz imzalanmaya hazır. Hemen şimdi oyunu Build ederseniz, alacağınız APK dosyası imzalanacak ve Google Play’e yüklenmeye hazır halde olacak.
- Eğer Unity’den çıkıp daha sonra tekrar açarsanız ve yine imzalanmış bir APK dosyası build etmek isterseniz, bu sefer Use Existing Keystore deyip Browse Keystore ile keystore dosyasını seçin. Keystore password kısmına keystore şifresini girdikten sonra, oluşturduğunuz Alias‘ı seçin ve onun şifresini de altındaki Password kutucuğuna girin. Artık build alabilirsiniz.
NOT1: Keystore şifresi belirlerken, ben bu şifrenin kırılıp kırılamayacağından emin olamadığımdan, üyeliklerde kullandığım şifrelerden farklı, rastgele harf ve rakam kombinasyonundan oluşan bir şifre belirliyorum. Önemli bir nokta var burada: bu şifre bilgisayarınızda herhangi bir yerde kaydedilmiyor. Yani şifreyi bir yere not almalısınız. Ayrıca oluşturduğunuz keystore dosyasını da yanlışlıkla silmeyeceğiniz özel bir yere koymalısınız. Yoksa nolur? Uygulamanızı Google Play’e yükledikten sonra güncellemek istediğinizde, ya bu keystore dosyasını bulamazsınız ya da şifreyi bir türlü hatırlayamazsınız. Bu iki durumdan herhangi biri gerçekleşince de zaten siz o uygulamayı güncellemeyi unutun.
NOT2: Alias şifresi ile keystore şifresi aynı olabiliyormuş ama aynı olmamasını tavsiye ediyorlar. Yine bu şifre de uygulamayı güncellerken gerekeceği için, tıpkı keystore şifresinde olduğu gibi bu şifreyi de bir yere not edin.
NOT3: Tüm adımları aynen uyguladığınız halde, Google Play hâlâ “Hata ayıklama modunda imzalanmış bir APK yüklediniz.” hatası veriyorsa, Denetim Masası‘ndaki Saat ve Bölge ayarlarından Bölge‘nizin değerini “İngilizce (Amerikan)” yapmayı deneyebilirsiniz.
İmzalanmış Uygulamayı Google Play’e Yüklemek
Artık oyununuzu hazırladınız, imzaladınız ve build ettiniz. Çileli kısmı geride bıraktınız! Şimdi oyununuzu tüm dünyaya sunmaktan sadece bir adım uzaksınız. Bu aşamada, yazının başında da dediğim gibi, bir Google Play Developer hesabınızın olması gerekiyor. Hesabınız varsa o zaman bu ünlü Google Play’e uygulamalar nasıl yükleniyormuş adım adım bakalım.
1- Geliştirici konsoluna giriş yapın ve “UYGULAMA OLUŞTUR” butonuna tıklayın.
2- Eğer oyununuz İngilizce destekliyorsa, Varsayılan dil‘i “İngilizce (en-US)” yapmanızı tavsiye ederim, ama oyununuz sadece Türkçe dilini destekliyorsa dil listesinden Türkçe‘yi seçin. Başlık kısmına oyununuzun adını yazın ve OLUŞTUR butonuna tıklayın.
3- Karşınıza gelen Mağaza Girişi sayfasında doldurabileceğiniz bilgiler şöyle:
Başlık: oyunun ismi
Kısa açıklama: oyunla ilgili akılda kalıcı ama çok kısa (maksimum 80 harf) bir açıklama
Tam açıklama: oyunun Google Play sayfasında yer alacak olan ve oyunun özelliklerini vs. kullanıcıya tanıtan açıklama metni
Ekran görüntüleri: oyun içi görselleri ve ekran görüntülerini buraya yükleyebilirsiniz. TELEFON yazan kısma oyununuzun cep telefonlarından alınmış ekran görüntülerini, TABLET yazan yerlere de tabletten alınmış ekran görüntülerini ekleyebilirsiniz. Açıkçası ben TABLET’e de telefondan alınmış resimler yüklüyorum, çok kasmaya gerek yok bence. Dikkat edin kimse duymasın, aramızda casuslar olabilir
Yüksek çözünürlüklü simge: oyununuzun 512×512 çözünürlüklü PNG ikonunu buraya yükleyebilirsiniz. İkonun arkaplanını dilerseniz saydam bırakabilirsiniz. İkona çok özen göstermenizi tavsiye ederim; nasıl insanlar kitapların önce kapağını görüyorlarsa oyunlarınızın da önce ikonunu görüyorlar
Öne Çıkan Grafik: oyunun Google Play sayfasını ziyaret eden kullanıcıların ilk görecekleri şey olan 1024×500 çözünürlüklü grafik
Tanıtım Grafiği: gerçekten hiçbir fikrim yok; ancak yükleyip yüklememek size kalmış
Tanıtım Videosu: varsa oyununuzu tanıtan YouTube videosunun linki
Uygulama türü ve İletişim bilgileri gibi geriye kalan bilgileri de doldurduktan sonra TASLAĞI KAYDET butonuna tıklayın.
NOT: Uygulamanızın açıklamasının, Türkçe Android kullanan kullanıcılar için Türkçe, diğer kullanıcılar için İngilizce (ve belki Alman kullanıcılar için Almanca vb.) olmasını isteyebilirsiniz. Bu işlemi yapmak çok basit: sayfanın yukarısındaki Çevirileri yönet butonuna tıklayıp Kendi çeviri metninizi ekleyin seçeneğini seçin ve açıklamaları çevirmek istediğiniz dilleri seçin. Artık seçtiğiniz her dil için ayrı uygulama adı, uygulama açıklaması ve ekran görüntüleri girebilirsiniz. Diller arası geçiş yapmak için Diller butonuna tıklayın.
4- Sol menüden Uygulama sürümleri sekmesine geçiş yapın. Burada dilerseniz uygulamanız için alfa/beta test sürümleri oluşturup sadece belirli kişilerin bu test sürümlerini indirebilmesini sağlayabiliyorsunuz ama benim bunlarla hiç uğraşım olmadığından süreci bilmiyorum. Siz APK veya AAB’nizi yüklemek için Üretim kısmında yer alan YÖNET butonuna, oradan da SÜRÜM OLUŞTUR butonuna tıklayın. Burada “Google Play’den uygulama imzalama özelliği” kısmının tam olarak ne işe yaradığını ben bilemedim ama siz dilerseniz oradaki link vasıtasıyla bu sistem hakkında daha fazla bilgi edinebilirsiniz. Velhasılıkelam, ben Paint 360° uygulamamda bu kısımda DEVAM ET seçeneğini seçtim ve bir sıkıntı yaşamadım. APK’nızı yüklemek için DOSYALARA GÖZ AT butonuna tıklayın. Ardından Sürüm adı‘na 1.0 gibi bir sürüm kodu girip KAYDET butonuna tıklayın.
NOT: Eğer Unity’de Player Settings‘te Device Filter olarak “FAT (ARMv7+x86)” seçili ise, uygulama boyutunu düşürmek adına şöyle bir yol izlemenizi öneririm: önce Device Filter’ı ARMv7 yapıp bir build alın. Ardından Bundle Version Code‘u 1 artırıp Device Filter’ı x86‘ya çevirerek bir başka build daha alın. Google Play geliştirici konsolunda yeni bir sürüm oluştururken DOSYALARA GÖZ AT’tan hem ARMv7’li APK’yı hem de x86’lı APK’yı ayrı ayrı sunucuya yükleyin. Bu sayede “FAT (ARMv7+x86)”ın yaptığı işi, APK boyutunu büyütmeden yapmış olacaksınız.
5- Sol menüden İçerik değerlendirme sekmesine geçiş yapıp burada karşınıza gelen bilgileri doldurun. Vereceğiniz cevaplara bağlı olarak oyununuzun yaş kitlesi belirlenecek.
6- Sol menüden Fiyatlandırma ve dağıtım sekmesine geçiş yapın. Bu sekmede, uygulamanızın ücretli mi yoksa ücretsiz mi olacağına ve hangi ülkelerde indirmeye açık olacağına karar verebilirsiniz. Hiç ücretli uygulama yüklemediğimden, ücretli uygulama prosedürünü bilmiyorum. Bu sekmede yer alan diğer seçenekleri de istediğiniz gibi doldurun. En alttaki Onaylar kısmında yer alan, yıldızla işaretlenmiş tüm kutucuklara tik atın.
7- Tüm bu işlemler bittikten sonra Uygulama sürümleri menüsüne geri dönün ve oluşturduğunuz sürümün yanındaki DÜZENLE butonuna tıklayın. Gelen sayfada sağ alttan GÖZDEN GEÇİR butonuna tıklayıp son olarak da sağ alttan YAYINLA butonuna tıklayın. Bir sıkıntı olmazsa oyununuz bir gün içerisinde Google Play’de yayınlanacaktır. Hayırlı olsun!
Mevcut Bir Uygulamayı Güncellemek
Diyelim uygulamanız çok tutuldu ve siz de oyunu güncellemeye karar verdiniz. Yapmanız gereken şeyler sırayla şöyle:
1- Unity’de Player Settings‘e gelin ve buradan Other Settings sekmesini açın. Bu kısımda değiştirmeniz gereken iki değer var: Bundle Version (veya direkt Version) ve Bundle Version Code. Eğer Bundle Version 1.0 ise, onu örneğin 1.1 yapın. Ardından eğer Bundle Version Code 1 ise onu 2 yapın. Yani içindeki değeri 1 artırın.
NOT: Eğer yukarılarda bahsettiğim metodu kullanarak Google Play geliştirici konsoluna ARMv7 ve x86 için ayrı APK’lar yüklediyseniz, ve diyelim Bundle Version Code değeri ARMv7 için 1, x86 için 2 idiyse, o zaman yeni ARMv7’nizin Bundle Version Code’unu 3, x86’nızın ise 4 yapın.
2- Publishing Settings sekmesinden keystore ve alias şifrelerinizi girip oyunu Build edin.
3- Google Play geliştirici konsolunu açın ve oyun listesinden güncellemek istediğiniz oyuna tıklayın. Sol taraftaki menüden Sürüm yönetimi-Uygulama sürümleri yolunu izleyin. Üretim kısmındaki YÖNET butonuna tıklayın. Sağ üstteki SÜRÜM OLUŞTUR butonuna tıklayıp gelen sayfaya APK'(lar)ınızı yükleyin.
4- Bu sürümdeki yenilikler alanına, güncellemeyle oyuna eklediğiniz özellikleri ve(ya) düzelttiğiniz sorunları yazın.
5- İNCELE butonuna tıklayarak değişiklikleri onaylayın.
6- Harika! Yaptığınız bu değişiklikler, bir gün içinde dükkandaki uygulamanıza yansıyacak.
Bu yazıya da burada son vermek istiyorum. Umarım faydalı olmuştur. Sağlıcakla kalın!
“com.DefaultCompany.com.unity.template.mobile2D” zaten Google Play’de mevcut olduğundan farklı bir paket adı kullanmanız gerekiyor. Hocam böyle bir hata alıyorum, sebebini biliyormusunuz lütfen yardım edin.
Edit-Project Settings-Player’daki Bundle Identifier değerini değiştirebilirsiniz.
Hocam selam,
Ben oyunu App Bundle olarak build alıp google play’e yüklemeye çalışıyorum. “Android App Bundle imzalanmamış” uyarısı veriyor. Keystore dan imzalayarak tekrar yüklemeye çalışsam da aynı uyarıyı vermeye devam ediyor. Başka bir yerden mi imza yapmak gerekiyor.?
Facebook SDK kullanıyorsanız şuna bakabilirsiniz: https://forum.unity.com/threads/you-must-disable-debugging-on-google-play-store-after-adding-facebook-sdk.846478/
Hocam merhabalar,
Ben oyunu bitirdim google play’e yükledim. Şimdi güncelleme yapmak için bundle versiyonunu 1 attırdım build alırken gradle uyarısı veriyor. AndroidManifest dosyalarının içine baktığımda versioncode 1 görünüyor bunları 2 yapsamda aynı hatayı veriyor. Bir önceki Unity sürümünde her arttırdığımda sorunsuz build alıyordum ama anlamadım. Bir yönlendirmen olursa çok sevinirim.
Hem versiyon numarasını (1.0->1.1) hem de versiyon kodunu (1->2) artırdıysanız, aldığınız uyarı mesajı nedir?
Hocam daha oyunum incelemedeyken böyle mail geldi Google dan
Issue found: Invalid Data safety form
We reviewed your app’s Data safety form in Play Console and found discrepancies between it and how the app collects and shares user data. All apps are required to complete an accurate Data safety form that discloses their data collection and sharing practices – this is required even if your app does not collect any user data.
We detected user data transmitted off device that you have not disclosed in your app’s Data safety form as user data collected.
We detected user data transmitted off device that you have not disclosed in your app’s Data safety form as user data collected.
Issue details
We found an issue in the following area(s):
SPLIT_BUNDLE 4: Policy Declaration – Data Safety Section: Device Or Other IDs Data Type – Device Or Other IDs (some common examples may include Advertising ID, Android ID, IMEI, BSSID)
Ne yapmalıyım sizce?
Formu bu linkteki gibi doldurmayı deneyebilirsiniz: https://docs.unity.com/ads/GoogleDataSafety.html
Geliştirici konsolunda uygulama içeriğine tıklayınca altta Veri güvenliği kısmı var. O kısıma ne cevaplar vermeliyim bilginiz var mı hocam(unity ads kullanıyorum ve unity ads de veri topluyor diye bildiğim için mutlaka o kısmı doldurmalıyımdır diye düşünüyorum)? Ayrıca google playde oyunumun yayınlanmasını 1 gündür bekliyorum hala “incelemede” diyor bunun hakkında ne düşünüyorsunuz? Bu arada sizi mükemmel desteğiniz için Credits e ekledim. Şimdiye kadar gerçekten çok yardım ettiniz gerçekten Çok sağolun yayınlayınca atarım sizede:)
Doldururken şuradan faydalanabilirsiniz: https://docs.unity.com/ads/GoogleDataSafety.html. Credit için tekrardan teşekkür ederim ^^
Hocam google play oyunu yükledim 15 gündür yayınlamıyor nedeni nedir acaba
Hâlâ incelemede diyorsa bence beklemek dışında yapabileceğiniz bir şey yok 😦
Hocam aab dosyasını telefona attım ama açılmadı, apk hemen açılırdı. Bu normal mi?
AAB nasıl yükleniyor maalesef bilmiyorum. “how to install aab file in android” şeklinde arama yapabilirsiniz veya test aşamasında APK çıktı alabilirsiniz.
Hocam oyunu aab olarak build aldığımda BackUpThisFolder_ButDontShipItWithYourGame diye de bi dosya oluşuyor. Önceden yoktu bu tarz bir şey acaba bir hata mı yaptım. Hem aab var hem bu klasör var bu klasörüde google playe yüklemem gerekmez değil mi?
Burada yazdığına göre yüklemeniz gerekmiyor: https://docs.unity3d.com/Manual/WindowsPlayerIL2CPPBuildProducedFiles.html
Merhabalar hocam umarım iyisinizdir.Küçük bir sorum var işin içinden cıkamadım ve size geldim.
Bir oyun yaptım ve oyunum 450mb.Unity ile bunu apk olarak cıkartabiliyorum android apple bundle(aap) olarak cıkartabiliyorum burada sorun yok.
Lakin oyun boyutu 150mb dan fazla olduğu için google play yüklememi istemiyor.
İnternette araştırdım bu tarz yüksek mb lı dosyaları apk+obb olarak ikiye ayırıp öyle yüklüyorlar.
Bende bu şekilde dosyayı apk+obb ye dönüştürdüm 110mb apk ve 340mb obb dosyam oldu.
Simdi sorun burada baslıyor artık google play apk kabul etmiyor insanlar bu şekilde ikiye ayırıp önce apkyı ardından obbyi yükleyerek bu sorunu çözmüş ama simdi google play diyor ki sadece android app bundle (aab) olarak yükleyebilirsin.Bende bu dosyayı küçük boyutlu bir aab ye dönüştüremiyorum veya aab+obb olarak ayıramıyorum ne yapabilirim hocam yardımınıza ihtiyacım var.
Şurada yazdığına göre AAB için de Split Application Binary seçeneği varmış ama OBB ile uğraşmadığım için, maalesef bu benim yardımcı olabileceğim bir konu değil: https://docs.unity3d.com/2021.2/Documentation/Manual/play-asset-delivery.html
Anladım hocam teşekkür ederim
Play Uygulama İmzalama’ya kaydolun diyor google, App Bundle ile yüklemek için. Oyunumu güncelleyemedim ne yapmalıyım sizce?
Play Uygulama İmzalama tercihe bağlı bir şey. Sizin yaşadığınız sıkıntı nedir bilemedim. Eğer keystore’unuzu veya bunun şifresini kaybettiyseniz kötü olmuş.
Yok kaybetmedim, illa zorunlu tuttu google. Neyse bir kere daha deneyeyim
hocam ben reklamlı bir oyun yükledim googleplaya indirip yüklediğimde oyun açılmıyor. acaba admobla alakalı bir şey mi? unitynin kendisinde oyunu açıp reklamların gerçek Id lerini girmeme rağmen test reklamları çıkıyor.
Logcat kullanarak aldığınız crash mesajını bulmanızı öneririm: https://yasirkula.com/2015/10/13/unity-android-oyunlarinizi-debug-etmek/
Your app currently targets API level 29 and must target at least API level 30 to ensure it is built on the latest APIs optimized for security and performance. Change your app’s target API level to at least 30.
Google play e aab formatında oyunumu yüklerken bu hatayı aldım. Ne yapmalıyım sizce?
Minimum API Level i 30 mu yapayım?
Eğer bu sadece bir uyarı ise, hata değilse, siz bilirsiniz. Aksi taktirde SDK Manager’ınızdan Android 30 SDK’ini indirip Unity’deki “Target API Level”ın değerini 30 veya Automatic yapmalısınız. “Minimum API Level”ı kesinlikle 30 yapmayın, yoksa Android 11.0’ın altı cihazlarda oyununuz çalışmaz.
SDK Manager da yok ki. NDK SDK ikisinide Unity HUB otomatik kurdu. Neyse bir daha deneyeyim.
SDK’i Unity Hub ile kurduysanız o zaman “Target API Level”ı 30 yapınca build alırken “Update Android SDK” diye soruyormuş. O butona tıklayınca otomatik güncelliyor gibi duruyor. Hata alırsanız şu video işinize yarayabilir: https://www.youtube.com/watch?v=3Qay9h14swM. Veya Android SDK’i Android Studio kullanarak kendiniz indirebilirsiniz ama önce Unity Hub ile gelen SDK’i güncellemeyi deneyin derim.
Aynen 30 denedim o şekilde oldu. Sizde araştırdığınız için çok teşekkürler hocam.
Maksimum cihazda oyunumun çalışması için armv7 + ARM64 seçiyorum(IL2CPP zaten seçili 64 bit için). Peki sadece ARM64 seçsem, armv7 yi seçmesem olur mu? armv7 yi seçmeyince yaklaşık %50 daha az cihazda mı çalışır oyunum?
ARM64’ün market payını bulmaya çalıştım ama güncel bir veri bulamadım. Benim önerim ARMv7’yi bırakmamanız yönünde.
ARM64 + ARMv7 yaptım.
Hocam merhabalar. Admob hesabında, reklam içerik derecelendirmesi bölümünden Genel kitleleri (G) seçtim. Oyun içerisinde gösterilen reklamların içeriği, buradaki filtrelerle birebir uyumlu olacak mı. Script içerisinde tekrardan bir satır daha kod yazmamız gerekiyor mu
AdMob’da çalışmadığım için buna kesin olarak cevap verememekle birlikte, bence başka bir ayar yapmanız gerekmiyor.
hocam merhaba benim sorunum scripting backend i IL2CPP seçersem eger aldıgım apk telefonumda çalışmıyor seçmezsem build alamıyorum bilginiz varmıdır bu konuda.
gradle build almak istemiyorum samsung seller portala yükleme yapmak istiyorum
Telefonunuzda neden çalışmıyor? Logcat’teki hata mesajı nedir?
şu şekilde bi hata var hocam
Exception: Unity.IL2CPP.Building.BuilderFailedException:
error: D:/Unity3d Projects/Escaper Prison 3D/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/3AB361F578AC8166466A137EA1CC6A69.o: section name section has wrong type: 2621440
fatal error: D:/Unity3d Projects/Escaper Prison 3D/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/3AB361F578AC8166466A137EA1CC6A69.o: attempt to map 1819042862 bytes at offset 1651076210 exceeds size of file; the file may be corrupt
clang++.exe: error: linker command failed with exit code 1 (use -v to see invocation)
Bu bir build hatasına benziyor ama IL2CPP ile başarılı bir şekilde build alabildiğinizi söylediniz.
Hocam merhaba,
https://www.hizliresim.com/hz26aog
3 defadır Play Store uygulamama(oyun) onay vermiyor. Çocuklar ve büyükler için olduğu için “Aile Politikalarına uymadığı” gerekçesiyle reddediliyor. Bir “privacy_policy” linki ekleyin diyor.
Ekleyip tekrar gönderdim, aynı gerekçeyle reddedildi.
Eklemeden önce READ_PHONE_STATE izni hatası veriyordu. Privacy Policy linli ekleyince artık o hatayı vermiyor ama sanırım sorun hala onunla ilgili.
https://yasirkula.com/2018/02/28/unity-android-read_phone_state-izni-hakkinda/ sayfanızdaki talimatları uygulamaya çalıştım fakat olmadı, yapamadım yani. (Dosyalarda değişiklik yaptığımda tekrar build edince herşey eski haline dönüyor)
Yardımcı olabilirseniz çok sevinirim.
Şimdiden teşekkürler ve iyi çalışmalar.
Gizlilik poliçesi linkini Google Play konsoldaki Politika-Uygulama içeriği kısmına eklemeniz lazım. Ona rağmen birebir aynı hatayı veriyorsa, belki oyun içerisinde bir yere de linki koymanız gerekiyordur.
Assets/Plugins/Android/AndroidManifest.xml sürekli resetleniyorsa bunu bir plugin yapıyordur. Açıkçası daha önce buna şahit olmamıştım. Bu durumda projenizdeki .aar uzantılı tüm dosyaları bulup bunlardan bir tanesini seçin ve onun içindeki AndroidManifest’e ilgili satırı ekleyin. Eğer .aar dosyayı Winrar ile çift tıklayarak açıp ardından içindeki AndroidManifest’i düzenlerseniz, Winrar’a geri döndüğünüzde yapılan değişiklikler arşive uygulansın mı diye otomatik olarak sorar.
Hocam merhaba.
Oyunu 64 bit olarak build etmeye çalıştığımda succeed yazıyor ancak herhangi bir build dosyası çıkarmıyor. UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr) şeklinde bir yazı consoleda yazıyor. Yukarıda belirttiğiniz tüm adımları yaptım ancak bu şekilde bir sorunla karşılaşıyorum. Unity forumda araştırma yaptım ancak bir sonuca ulaşamadım. Unity 2018.3.0f2 versiyonunu kullanıyorum.
Boş bir klasöre build almayı dener misiniz?
Hocam cevap için teşekkürler öncelikle. Boş bir klasöre build etmeyi denemiştim ancak olmamıştı. Unity sürümünü güncelleyip projeyi sürüme uyarlayıp tekrar denedim ve oldu.
Hocam merhaba,
Oyunumu birkaç gün önce Google Play Store’da yayımladım. Daha önce kapalı test olarak yayımladığımda Google Play Game Services içindeki leaderboardlar çalışıyordu. Oyuncuların puanları leaderboardlara yansıyordu. Oyunu üretim sürümü olarak yayımladıktan sonra leaderboardlara veri gitmemeye başladı. (Projede CloudOnce kullanıyorum bu arada.) Android Logcat ile kontrol ettim. Failed to Log-in Google Play Game Services şeklinde Warning logu veriyor. İnternetten çözüm bulmaya çalıştım. Emin olmamakla birlikte, üretim öncesi kullandığım keystore belgesi ile üretimde kullandığım keystore belgesinin ve bu belge ile oluşturulan OAUTH imzasının(Google Play Game Service için) aynı olmasının bu hataya sebep olabileceğini öğrendim. Unity üzerinden yeni keystore alıp oyunun bu keystore ile yeni bir buildini aldım. Aynı zamanda bu keystore ile Google Play Game Services içindeki SHA1 şifresini yeniden oluşturdum ve oyuna play storeda güncelleme yapmaya çalıştım ama bu sefer de oyunun yeni versiyonunun eski versiyon ile aynı belge tarafından imzalanması gerektiği şeklinde uyarı veriyor ve oyunu güncelleyemiyorum. Bu konu hakkında bilgi ve tecrübeniz var mıdır acaba? Nasıl bir çözüm bulabilirim Google Play Game Services’e bağlanmak için?
Yayımladığınız uygulamanın keystore’unu değiştirmek mümkün mü bilmiyorum. Keystore değiştirmediğiniz için hata almanız bana mantıklı gelmedi. Google Play Game Services tecrübem maalesef yok.
Teşekkür ederim numaranın başına sadece +90 eklemem yeterli oldu.
Yasir hocam ben bu keystore dosyasının olayını tam anlayamadım. Kafama bir soru takıldı. Oyunumu play store yayınladıktan sonra bilgisayarımın format yediğini varsayalım. Flash bellekteki kopya keytore dosyası ile oyunumu güncelleyebilir miyim?
Bir diğer sorumda şu. Geliştirici hesabı oluştururken bizden telefon numarası istiyor. Cep telefonunu kabul etmiyor. Rastgele bir ev telefonu yazdığımda kabul ediyor. Bunun için bir ev telefonu mu bağlatmamız gerekiyor.
Dediğiniz gibi her ihtimale karşı, keystore’u kopyalayıp flash bellek gibi birkaç yerde yedeğini tutun bence de. Telefon olarak cep numarası kabul etmemesi beni şaşırttı, numarayı +90 ile başlatmayı deneyin.
Google Play’de yayınlanmış bir oyun için yeni bir Unity projesi oluşturup bu projeyi aynı keystore ile imzalarsak bu yeni projeyi güncelleme olarak yayınlayabilir miyiz?
Benim bildiğim kadarıyla, aynı keystore ve aynı Bundle Identifier olduğu sürece güncelleyebilirsiniz.
Aynı Bundle Identifier’ı nasıl sağlarım?
Pardon çok saçma bir soru sormuşum. Aklım başka yere gitti. 🙂
Merak eden olursa sonucu bildireyim. Dediğiniz gibi aynı keystore ve aynı bundle identifier ile yeni oluşturduğunuz bir projeyi eski projenize güncelleme olarak atabiliyorsunuz. “Buna ne gerek var?” derseniz uygulamaya entegre edilen AdMob, Firebase gibi araçları silmek isterseniz oyun hata vermeye başlıyor (Google bu konuda paketleri silme desteği sağlamamış). Bu gibi durumlarda oyunu temiz bir projeye geçirmek gerekiyor. Bu gibi durumlar için aklınızda bulunsun.
oyunumu google playe atmadan önceki buildlerde telefonumda oyundan atmadan oynanılırken google playe attıktan sonra kullanıcılarımdan oyundan attığına dair yorumlar aldım sebebi ne olabilir.
Bu kadar bilgi ile söylemesi çok zor. Oyuncuların telefonları çok eski olup da oyunun gerektirdiği donanımı sağlayamamış olabilir, reklam/analitik gibi SDK’ler hata vermiş olabilir, Unity bug’a girmiş olabilir, kodunuz bir şekilde oyunu çökertmeyi başarmış olabilir. Çökme raporunu Google Play’e yollayan oyuncular için, bu çökme raporlarını şu şekilde görebilirsiniz: https://stackoverflow.com/a/63612270/2373034. Bu raporlar, hangi plugin’in veya kodun çökmeye sebep olduğu konusunda fikir verebilir.
ve bu arada oyunumun değerlendirmesini yapıp fikirlerini benimle paylaşırsan sevinirim. oyunu yapım esnasında çok yardımın dokundu.
https://play.google.com/store/apps/details?id=com.arctech.CandyColor
https://hizliresim.com/ilnI2n
bu linkteki hatalar görünüyor nasıl çözebilirim.
Hataya tıklayarak hatanın tüm detaylarını görmeniz lazım. Hatanın çözümünü bana değil Google’a sorun çünkü crash veren hatalar konusunda benim bilgim yok.
https://hizliresim.com/WHxumq Unity tamamen sildim visual studio ile birlikte tekrar yükledim şimdi 2020.1.9 sürümü önceden 2020.1.2 vardı ama şimdi visual studio nun tüm kodları böyle kırmızı sizce ne yapmalıyım? (Bütün scriptler böyle)
Şurada yazdığına göre, Unity ve Visual Studio’yu kapatıp projedeki .sln ve .csproj dosyalarını silmek; veya Visual Studio’da yukarıdan Debug modu Release yapıp sonra geri Debug’a çekmek işe yarayabiliyormuş.
Oyunumun içine örneğin menüsüne privacy policy eklemeli miyim? Bir defasında oyunum kaldırılmıştı sıkıntı çıkmadı güncelleyip tekrar yolladım. Ama hem oyunun içine hemde geliştirici konsolundaki privacy policy ye koydum. Sadece geliştirici konsolunda privacy policy bölümüne linki koysam ve oyunun içine privacy policy butonu koymasam acaba sıkıntı çıkar mı? Google Play politika ihlali vs.
https://support.google.com/googleplay/android-developer/answer/9815348?hl=tr
https://support.google.com/googleplay/android-developer/answer/9888076?hl=tr
Bu iki linke göre sanırım mikrofon kamera erişimi vs. veya özel bilgi toplamıyorsam finans ve ödeme bilgileri, kimlik doğrulama bilgileri, telefon rehberi vs. ki zaten bunlar da yok herhalde oyunun içine koymasam da olur? Birde benim bir websitem yok bu yüzden google document da kendim bir yerden kopyalayarak bir metin hazırladım umarım sıkıntı çıkmaz.
Linklerden anladığım kadarıyla, bahsettiğiniz hassas verilere erişiyorsanız veya Google Play’de “Aileler için” (Designed for Families) programına katıldıysanız oyun içinde privacy policy linki koymanız zorunlu. Bu durumlar harici için bir şey diyemiyorum çünkü Google’ın sağı solu belli olmaz, belki atladığımız başka bir doküman vardır. Eğer oyun içerisine privacy policy koyabiliyorsanız koymaya devam edin derim.
https://docs.unity3d.com/ScriptReference/Application-targetFrameRate.html bu linkte mobil için genelde 30 fps olur demiş ama elle 60 fps mi yapsam çok kararsız kaldım? Bunu yapmalı mıyım sizce mobil fps oyunu? Cihazın ısınmasını etkiler sanırım etkilerse aslında hiç ellememek de makul.
Şu asset ile FPS’i kontrol etmenizi öneririm çünkü varsayılan değer 30 olmayabilir (belki sadece bazı cihazlarda, sadece belli başlı ayarlarda veya sadece eski Unity sürümlerinde öyledir). Ben hypercasual oyunlarda şahsen bu değeri 60 yapıyorum.
Size daha önce in app purchase sistemi anlatır mısınız diye sormuştum siz IAP ile ilgilenmediğinizi söylemiştiniz ben sadece şunu soracağım ben zaten bu IAP sistemini yaptım ama internette dolaşırken “how to stop iap hacks my game” diye bir yazı gördüm ve biraz araştırdım bunlar IAP’ları hackliyorlarmış tamam ama bunu nasıl yapabiliyorlar? Yani şunu diyeceğim bunu IAP olarak okumayın normal bir özellik hilesi de olabilir sonuçta. Acaba Keystore şifresinin zorluğu hacklenmeyi de zorlaştırır mı acaba?+ App Bundle olarak yüklemek engeller mi hack olayını? Yoksa encryption falan mı yapmalıyım(youtube da gördüm ama hiçbirşey anlamadım ve sadece 1 video vardı anlatan)? (IAP olarak düşünmeyin herhangi özellik hilesi olarak soruyorum)
https://assetstore.unity.com/packages/tools/input-management/easy-crypto-encryption-28264#description örneğin bunu alsam hack olayını durdurur muyum?
Hile teknikleri konusunda bilgim yok ama tahmin yürütecek olursam, Cheat Engine’de olduğu gibi RAM’deki önemli değerleri (mesela coin sayısı) değiştiriyor olabilirler. PlayerPrefs kullanan oyunlar için, PlayerPrefs’deki değerleri değiştiriyor olabilirler. Ya da IAP tamamlanınca CoinVer fonksiyonu çağrılıyorsa, o fonksiyonu bir şekilde elle çağırıyor olabilirler.
Bahsettiğim ilk iki olay için gördüğüm en popüler asset şu: https://assetstore.unity.com/packages/tools/utilities/anti-cheat-toolkit-152334. Buradaki ObscuredInt ve ObscuredPrefs konuyla alakalı veri türleri. Üçüncü sorun için ise IL2CPP ile build almak ve/veya bir code obfuscation aracı kullanmak faydalı olur.
Hile yapan insan %’sinin kayda değer olup olmadığını bilmiyorum ama oyununuz hatırı sayılır bir kullanıcı kitlesine erişene kadar, oyununuza has hileler çıkacağını düşünmüyorum. Bu yüzden isterseniz hileye karşı korunma işlemini, oyununuzdan güzel para kazanmaya başlayana kadar erteleyebilirsiniz. Ardından Asset Store’daki kaliteli anti-cheat asset’lerini entegre edersiniz.
Aslında ilk başta bu hack olayının kullanıcılara nasıl ulaşabildiğine bakmak lazım. Çünkü zaten bizim oyunlarımız bir Clash Of Clans değil. Yani kişi Play Store da oyunumu görecek ve onun hack ini diyelim kendi programının arama motorunda aratacak ve diyelimki çıktı. Sonra onu indirir ama ilk kesinlikle play store da bulması gerekli. Yani ben 1.0 yayınlayınca 1.1 bile yayınlasam zaten 1.0 sürümü hackerların elinde olacak benim sonradan güncellemeyle bu hack sorununu çözebilmem için en azından oyuna yeni bir versiyon çıktığı zaman eski olan versiyonu iptal ettirmem gerekir mesela internete bağlandı diyelim cihaz ve 1.1 çıkmasına rağmen hala 1.0 yüklüyse hemen bunu kaydedecek oyuna (değer olarak) ve her sahnede yeni sürüm yükle diyecek. Bunu benim yapabilmem için bir server a ihtiyacım var mıdır? Ama şu da var sanki herkes aratacak mı yani tabiki hayır ama ilk kez yayınlacağından sorunsuz olsun istedim.
Aslında dediğiniz çok mantıklı, “tutmaya başlarsa” ama işte tutmadan zaten bütün sitelere o apk gidiyor zaten. Bu yüzden tutarsa güvenlik önlemi alırım deyip sadece yeni sürüm gelirse bu sürüm eskidi diyebileceğim bir sistem sizce mantıklı mıdır? Mantıklıysa bunu nasıl yapabilirim sadece sürümü ilk nete bağlanır bağlanmaz kontrol edecek ve yeni sürüm varsada oyunu açmayacak?
Önceki yoruma cevap yazarken bu sistem benim de aklımdaydı ama kafa bulandırmamak için yazmadım. Unity’nin Remote Config servisi ile, bildiğim kadarıyla ücretsiz bir şekilde sunucuda istediğiniz veriyi tutabilirsiniz. Mesela oyunun son sürümünü string olarak sunucuda tutabilirsiniz. Ardından bunu oyunun mevcut versiyonu (Application.version) ile kıyaslayarak oyunun güncel olup olmadığına karar verebilirsiniz. Kıyaslama esnasında iki değeri float.TryParse ile float’a çevirmeniz lazım.
Ama aklıma şimdi geldi de ben bununla en iyisi uğraşmayayım çünkü çok zor olacak gibi çünkü zaten oyun internet bağlantısı istemiyor zorunlu tutsam insanlar zaten tepki gösterir niye diye ki zaten hack i yapan kişi internetsiz oynayın diye bir yazı da ekleyebilir bu çok zor değil. Bu yüzden bence hiç girmeyeyim bu işe önceki yorumlarımı da silin isterseniz(çok yer kapladı kusura bakmayın). Ama dediğim gibi güncelleme de yapsak hep zaten 1.0 onlarda olur ve kendi free mağazalarında hep bulunur… free oynayacak olanlar ise aratıp indirebilir… Yani güncelleme de çözüm değil gibi.
Tamam öyle yapayım bir bakayım o sisteme ayrıca sadece oyunun en başında eğer kullanıcı nete bağlı değilse ondan bağlanmasını rica edebiliriz bunun çok tepki çekeceğini sanmıyorum. En iyisi böyle yapayım çok sağolun teşekkürler yardımınız için.
Hocam dediklerinizi yapıp Build aldım fakat olmadı. Ne hata verdi ne de iptal oldu. Compiling native assemblies for ARM64 diye bir yazıda takılıp kaldı. 1 saat oldu fakat halen build işlemi tamamlanamadı. Yardım ederseniz çok mutlu olurum.
Projeniz büyük ve bilgisayarınız güçsüz ise, IL2CPP ile alınan build’ler uzun sürebilir. Eğer projenizin olduğu konumda Türkçe karakter veya boşluk varsa, onları silmeyi deneyin. C:\Kullanıcılar\KULLANICI_ADI\AppData\Local\Unity\Editor\Editor.log dosyasını açıp en sonunda bir hata mesajı var mı kontrol edin, varsa o hatayı google’da aratın. Hiçbir şey işe yaramazsa build’e gece başlayıp bilgisayarı açık bırakın ve sabah bir hata var mı kontrol edin.
teşekkür ederim
Hocam Unity’nin 2019.3 versiyonunu kullanıyorum. Boş bir projeyi bile android’e build etmem 20-25dk zamanımı alıyor. Bunun için ne yapılabilir.
IL2CPP kullanıyorsanız o build süresini epey uzatıyor. Hem ARMv7 hem ARM64 build almak da uzatır. İlaveten ilk build esnasında Standard shader’ın compile edilmesi uzun sürebilir, sonraki build’lerde bu süre epey düşer.
Hocam şuradaki hatanın aynısını alıyorum. https://www.technopat.net/sosyal/konu/unity-required-api-level-26-hatasi.767566/ ne yapabilirim?
Android SDK’inizde en son Android sürümlerinden en azından 2 tanesini kurduğunuzdan emin olun. Bu pencere yine gelirse Use Highest Installed seçeneğini seçin. Ayrıca şuradaki yorumlara da bakmanızı öneririm: https://answers.unity.com/questions/1524254/required-api-level-26-android-sdk.html
Hocam merhabalar, dediğiniz ayarları titizlikle yaptım ve çıktımı aldım lakin cihazımda açarken paket çözümleme hatası alıyorum. Yardımlarınızı bekliyor, şimdiden teşekkürlerimi sunuyorum.
Daha önce hiç denk gelmediğim bir hata. İnternetten hatayı aratmanızı ve logcat’te bir hata mesajı var mı bakmanızı öneririm: https://yasirkula.com/2015/10/13/unity-android-oyunlarinizi-debug-etmek/
hocam unity den yapmış olduğumuz uygulama her cihazda çalışmıyor. Uygulama cihaza yükleniyor açılış ekranından sonra donma oluyor ve çalışmıyor sebebi nedir çözüm yolu var mıdır ?
Öncelikle logcat’e bakarak hata var mı kontrol etmenizi öneririm: https://yasirkula.com/2015/10/13/unity-android-oyunlarinizi-debug-etmek/
Hiçbir hata yoksa, o zaman Profiler’dan bir şey tespit edebilir misiniz kontrol etmenizi öneririm: https://yasirkula.com/2020/03/26/unity-profiler-kullanimi/
ARMv7 ve ARM64 Tikli değildir.
Merhaba hocam, oyunu build ettikten sonra şu uyarıları görüyorum nedir bunlar?
Link 1.1 1.2 1.3
Aldığınız hata mesajı “invalid keystore format”. İnternette aratınca, JDK sürümünü 1.7’den 1.8’e güncelleyerek sorunu çözenler olduğunu gördüm. Eğer Build System olarak Gradle değil de Internal kullanıyorsanız, Gradle’a geçmeyi de deneyin. Oyunu henüz yayımlamadıysanız, yeni bir keystore ile oyunu imzalamayı da deneyebilirsiniz.
Olmuyor hocam. Yeni bir keystore oluşturabiliyorum ama oyunu daha önce yayımlamıştım. Bilgisayardaki verilerim daha önce silinmişti. keystore dosyasını da kurtarma programlarını kullanarak kurtarmıştım. Acaba dosya hasar görmüş olabilir mi?
Hasar gören keystore’lar için de aynı hata mı veriliyor bilmiyorum. Yeni oluşturduğunuz keystore’u Notepad ile açıp içinden 1-2 harf silin ve o keystore ile build almayı deneyin. Aynı hatayı alıyorsanız, kurtardığınız keystore bozuk olabilir. Yaşamadığım bir sıkıntı olduğundan ben yardımcı olamıyorum, isterseniz sorunu google’da da biraz araştırabilirsiniz.
Merhabalar Yasir bey.. Elinize, emeğinize sağlık. Benim öğrenmek istediğim Google Play Console da uygulama imzasını yüklemek.. Bizden istediği dosya sizin de yukarıda anlattığınız keystore dosyası oluyor sanırım? Bu kısımda karşımıza 3 seçenek çıkıyor..
1-Android Studio’dan dışa aktarılmış bir anahtar yükle
2-Java anahtar deposundan bir anahtar dışa aktar ve yükle
3-Bir anahtar dışa aktar ve yükle (Java anahtar deposu kullanmadan)
Java anahtar deposu ??
Bu konuda, Play Console’a anahtarı yükleme ile aydınlatırsanız memnun olurum.
Teşekkürler..
Java anahtar deposu benim bildiğim kadarıyla .keystore dosyası oluyor. 2. seçeneği seçip oradaki talimatları izleyerek, bu keystore’u Google Play’in istediği formata dönüştürebilirsiniz.
Talimatları izledim ve uygulama anahtarını oluşturdum. Teşekkürler..
Başarılı bir yazı olmuş. Yazınız için teşekkür ederim
version yükseltirken aşağıdaki hataları alıyorum.
https://hizliresim.com/uasVeE
https://hizliresim.com/V5MiU0
https://hizliresim.com/tkmrOQ
https://hizliresim.com/RSp5TY
https://hizliresim.com/49aLJE
araştırırken bir sitede Publisher Settings, under Build “Custom Graddle Template” etkin yapın diye bir yazıyla karşılaştım. denedim sorun çözüldü. ama manifest dosyasını yeni versiyona göre düzenlmemiştim. manifest dosyasını düzenleyince yine hata vermeye başladı. 2.0 a geri çevirsemde hata veriyor artık.
yardımcı olabilir misiniz?
Unity Ads’i hem Package Manager’dan/Asset Store’dan import edip hem de Window-Services’tan açmış olabilirsiniz. Window-Services’ta Unity Ads açık ise, kapatmayı deneyin.
Merhaba,
Hocam Unity2D oyunumuza google play ile bağlantılı kullanıcı girişli leadboard score nasıl yaparız?
Play Games Services plugin’ini kullanabilirsiniz: https://github.com/playgameservices/play-games-plugin-for-unity. Bu konuda internette birkaç Türkçe ders de olabilir. Ben en son leaderboard yapalı çok uzun zaman oldu o yüzden detayları hatırlamıyorum.
Selamlar Yasir bey bir sorum olucaktı.Mobil uygulamlarda daha iyi performance alabilmek için önerebileceğiniz basit yöntemler nelerdir acaba?
Ayrıca attığınız bir tweet var ordaki kodu nasıl kullanıcağımızı biraz daha açıklarmısınız?
Henüz birkaç gün önce optimizasyon dersimi büyük ölçüde güncelledim (attığım tweet’teki kod da dahil olmak üzere), o ders işinize yarayacaktır diye umuyorum: https://yasirkula.com/2016/06/19/unity-optimizasyon-onerileri/
Çok teşekkürler gerçekten faydalı bir yazı olmuş ellerinize sağlık.
merhaba; yukarıdakilere benzer bir sorun yaşıyorum:
1- Unity ile imzalayarak APK alıyorum ve upload ederken “Geçerli olmayan bir sertifika ila imzalamış……” hatası alıyorum.
2- App Bundle olarak çıktı alıyorum, store a yüklemeye çlışıyorum hata vermiyor ama Saatlerce bekletiyor… hata da vermiyor, yüklemiyor da…
3- Play Store daki imza anahtarını indirip onunla Windows consoldan komutları girerek imzalıyorum. ona da aynı hatayı alıyorum…
ne yaptıysam olmadı… yukarıdaki yorumlarda seçenekleri de denedim..
Unity nin imza anahtarını kablul etmiyor mu acaba? bir yerde hata yapıyouz ama ne?
YARDIMCI OLURSANIZ SEVİNİRİM..
Unity’de oluşturduğunuz keystore’u kullanarak konsol vasıtasıyla imzalamayı da deneyebilirsiniz. Veya belki sıkıntı sizde değil Unity sürümünüzdedir. Benim önerim birkaç Unity sürümü ile, boş bir proje açıp onu imzalayıp Google Play’e yüklemeyi deneyin. Ardından sorun çıkarmayan Unity sürümüne geçiş yapın. Bunun haricinde, bu sıkıntı benim hiç başıma gelmediği ve daha önce böyle bir sorunla ilgili bir şey duymadığım için yardımcı olamayacağım.
Teşekkür ederim..sorunu çözdüm. Yorumlarda onerilenleri yaptım
Sanirim sistem saati, bölge ve dil seceneklerini ABD te göre ayarladiktan sonra düzeldi.
Sa dostum bu hata ile karşılaşıyorum yardımcı olursan çok sevinirim
https://hizliresim.com/yGb6B7
Bu bir hata değil, isterseniz yoksayabilirsiniz. Uyarı gitsin istiyorsanız Build Settings’teki “Build AppBundle” seçeneğini işeretleyip oluşan .aab dosyasını Google Play’e upload edebilirsiniz (bu seçenek sizde yoksa Unity’nin daha güncel bir sürümüne geçmeniz gerekiyor olabilir).
Hocam merhabalar. Bu sürüm Google Play 64 bit gereksinimi ile uyumlu değil
Aşağıdaki APK’ler veya Uygulama Paketleri, 64 bit cihazlarda kullanılabilir ancak yalnızca 32 bit yerel koda sahipler. Bu tarz bir hata aldım . IL2CPP seçili , ARm64 ve ArmV7 tikli olursa çözüldüğünü söylediler unity forumlarında ancak ben hala aynı hatayı almaktayım . Bir öneriye çok ihtiyacım var.
x86’nın başındaki tiki kaldırdınız mı?
Evet hocam kaldırdım . Sdk ve ndk’larda uyumlu ve Unity Game Engine’de güncel
Şu yorumu atan kişi de benzer sorun yaşamış: https://forum.unity.com/threads/successful-unity-aab-build-not-compliant-with-the-google-play-64-bit-requirement.729035/#post-4876265. x86’yı kapatmasına rağmen Firebase x86 kütüphanelerini APK’ya eklemeye devam ettiği için, build.gradle’dan zorla x86’yı devre dışı bırakmak zorunda kalmış. Projenizde build.gradle dosyası var mı bakın, yoksa Player Settings-Publishing Settings’teki “Custom Gradle Template”i açın ve oluşan build.gradle’ın içine yorumdaki x86’lı satırları ekleyin.
Hocam satırları aynısını kopyalayıp yapıştırdım , güncelledğimde yine aynı hatayı aldım
Hocam çok teşekkürler çözüldü , Mozilla üzerinden uygulama güncellemesi yaptığım zaman eski hataları ekrana getirip uygulama yayınlamayı engelliyor bu yüzden uygulamayı Console’dan silip tekrar yüklediğim de sorun çözüldü.
Exception: C:\Program Files\Unity\Hub\Editor\2018.4.13f1\Editor\Data\il2cpp/build/il2cpp.exe did not run properly!
bu hatayı alıyorum neden olabilir
Projenizin konumunda ü, ı, İ gibi Türkçe karakter olmadığından emin olun.
Hocam oyunumun apk sını koydum play consola diğer istenilen herşeyi yaptım ama 18 gün oldu halen yayınlanmadı
Eğer durumla ilgili size bir mail gelmediyse, teknik destek ile görüşüp neler olup bittiğini öğrenmeye çalışabilirsiniz: https://support.google.com/googleplay/android-developer/answer/7218994?hl=tr
https://imgyukle.com/i/RIEDJc
https://imgyukle.com/i/RIEBMt
Hocam play consoleda sürüm yönetimi-üretim kanalı-sürümü düzenleyeye girdim bunları gördüm.
“64-bit APK Desteği Eklemek” başlığındaki adımları uyguladınız mı (orada yazan NOT da dahil)? İlk resimdeki uyarıyı yoksayabilirsiniz ama uyarı gitsin isterseniz, Unity’nin son sürümleri ile gelen “Build App Bundle” seçeneğini Build Settings’ten açabilirsiniz.
Oyun ilerlemesini Google Play hesabına nasıl kaydedebiliriz bir rehber yok galiba bununla alakalı
Play Games Services’ın Saved Games diye bir servisi var ama benim bu konuda hiç tecrübem yok: https://github.com/playgameservices/play-games-plugin-for-unity#saving-game-state-to-the-cloud
Merhaba, Unity de yapmış olduğunuz oyunu Google Play’ e yüklerken APK’nızı veya Android APP Bundle’izi şu anda geçerli olan bir sertifikayla imzalamanız gerekiyor diye bir hata alırsanız şu yöntemi deneyebilrsiniz.
Eğer Play Store’ a oyununuzun ana dilini En(US) olarak kaydettiyseniz APK’ nızı Google Play’ e yüklemeden önce Windows’ ta başlat menüsüne tıklayıp arama kısmına bölge yazdığınızda karşınıza çıkan Bölge ve Dil ayarına tıklayıp Biçim: menüsünden İngilizce(Amerikan) seçeneğini seçip kaydedin ve kullandığınız tarayıcının cookies temizliğini yapın. Yani geçmişini tamamen silin tarayıcıyı kapatıp açın ve sonrasında apk nızı play store a yükleyin. 3 gündür bu hata nedeniyle oyunumu play stora a yükleyemedim, kayayı yemek üzereyken en sonunda hatayı bu şekilde çözdüm.
Burdan yola çıkarak yorum yapıyorum: Eğer Play Store’ da ana diliniz türkçe ise yukarıda anlattığım bölge ve dil ayarlarını türkçeye çevirmeniz gerekebilir. Ayrıca bilgisayarınızın saatinin doğru olduğundan ve doğru saat diliminde yer aldığınızdan emin olun.
Kolay gelsin.
Paylaştığınız için teşekkür ederim.
Bu konu ile alakalı bir sorunla daha karşılaştım ve aynı çözümle hatayı aştım, bunu da belirtmek istiyorum. Yeni Google Play sürümünde oyun yükleyebilmek için Build App Bundle ile oyunu derlemeniz, bunu yapmak için de Player Settings’ te Other Settings – Configuration – Scripting BackEnd kısmını Mono dan IL2CPP’ ye çevirmeniz gerekiyor. Bu şekilde oyunu derlemeye çalıştığınızda eğer yukarıda anlattığım Bölge Ayarları’ nız Türkiye(TR) olarak görünüyorsa derlemenin sonunda UnityLinker.exe did not run properly … gibi bir hata alıyorsunuz. Diğer tüm seçeneklerin doğru olduğunu varsayarak Bölge Ayarlarına girip İngilizce(Amerikan) olarak bölgeyi değiştirip onaylarsanız ve oyunu tekrar derlerseniz UnityLinker hatasını geçmiş olursunuz.
Hazır değinmişken, Google Play’ e oyunu yükleyebilmeniz için derleme aşamasında Player Settings’ te Other Settings Version ve Bundle Version Code kısmındaki versiyon numaranız Google Play’ e daha önce yüklediğiniz bir versiyon kodu ile çakışmayacak, yoksa Google Play’ e oyunu yükledikten sonra size versiyon kodu zaten yüklü hatası verecek.
Ayrıca bundan sonraki süreçte 64 bit destekli cihazlar için de derleme zorunluluğu geldiğinden sadece ARMv7 olarak derlediğiniz oyunlarda yine Google Play’ e yükledikten sonra oyununuz 64 bit cihazları desteklemiyor vs.vs. hatası verecektir. Bunun için Player Settings’ te Other Settings – Configuration – Scripting BackEnd kısmını monodan IL2CPP’ ye çevirin ve hemen altında Target Architecture bölümünde ARMv7 ve ARM64′ ü işaretleyin. x86 nın işaretini kaldırın yani x86 ya derleme yapmayın. x86 işaretli derlerseniz yukarıdaki hatanın aynısını yine almaya devam edeceksiniz.
Umarım yardımcı olur. 1 haftalık araştırmalarımda bu seçeneklerle hataları geçtim ve oyunum sonunda yayınlandı. İnceleme süresi 3 tam gün sürdü.
Kolay gelsin.
Arkadaşlar oyunu derlerken il2cpp.exe –convert-to-cpp –emit-null-checks –enable-array-bounds-check –dotnetprofile=”unityaot” hatası alırsanız projenizin yüklü olduğu klasör ismindeki ingilizce olmayan karakterleri ingilizce karakterlerle değiştirin. mesela benim oyun klasörümün isminde Ö karakteri olduğundan bu hatayı aldım ve O ile değiştirince düzeldi hata.
Kolay gelsin.
Selamlar, unity de yaptığım uygulamayı google play e yüklüyorum tabletler için resimlerde eklediğimde uygulamanız tabletler için tasarlanmamıştır diyor. ne yaptıysam olmadı. Yardımcı olursanız sevinirim. Teşekkürler…
Şurada yazdığına göre Player Settings’teki “Enable Android Banner” seçeneğini işaretleyip oraya istenen ebatlarda bir ikon koyunca sorun düzeliyormuş: https://stackoverflow.com/a/55487263/2373034
Cevapladığınız için teşekkürler, onu geçmişte yapmıştım ancak tekrar deneyip size sonucu bildireceğim.
Optimize edilmemiş APK
Uyarı:
Bu APK, kullanılmayan kod ve kaynakların kullanıcıya gönderilmesine neden oluyor. Android App Bundle işlevini kullanırsanız uygulamanız daha küçük olabilir. Uygulamanızı cihaz yapılandırmalarına göre optimize etmediğinizden, uygulamanızın kullanıcıların cihazına indirilip yüklendiği boyut, olması gerekenden daha büyük. Büyük boyutlu uygulamaların yüklenme başarı oranı daha düşük olur ve kullanıcıların cihazlarında daha fazla yer kaplarlar.
Çözünürlük:
Cihaz yapılandırmalarını otomatik olarak optimize etmek veya birden fazla APK ile kendiniz yönetmek için Android App Bundle’ı kullanın.
bu hatayı alıyorum yardımcı olur musun?
device filter ayarı bende görünmüyor o yüzden yapmadım onunla bir alakası var mı?
Bu bir uyarı mesajı olduğu için yoksayabilirsiniz. Ama Android App Bundle kullanmak istiyorum diyorsanız, Build Settings’te bu ayarı bulabilirsiniz.
Onu hallettim yayınlandı ama bazı telefonlarda cihazınız bu sürümle uyumlu değil diyor 64bit olduğu için mi?Bu sorunu nasıl halledebilirim?
Eğer Intel x86 işlemcili bir cihazda bu sıkıntıyı yaşıyorsanız, buna yapacak bir şey yok gibi maalesef. Intel işlemcili cihazların market payı çok düşük olduğu için, Unity’nin x64 işlemci (x86’nın 64-bit sürümü) desteği yok. Bu yüzden de 32-bitlik x86’yı da oyununuza dahil edemiyorsunuz.
Oyununuz diğer cihazlarda çalışmıyorsa ya Player Settings-Target Architectures’ta hem ARMv7 hem de ARM64’ü seçmeyi unutmuşsunuzdur ya da Player Settings-Minimum API Level değeriniz, test ettiğiniz cihazın Android sürümünden daha yüksektir. Kullandığınız bazı Android plugin’leri AndroidManifest.xml kullanarak bu değeri otomatik olarak yükseltmiş de olabilir (daha altını desteklemedikleri için), bu durumda o plugin’i silmek dışında bir çözüm yolu bulunmuyor.
Evet sorun yaşayan cihazlar x86 işlemcili.Hiç yolu yok mu ya?32bit destekli12k civarı cihaz varken 64bit olanı yükleyince 3-4k civarı cihazda kullanılabilir gösteriyor.
Intel işlemcili (x86+x64) cihazların sayısının belki de 1000’i bulmaması lazım. Bu istatistik bana mantıklı gelmedi ama sebebini bilmiyorum.
max sayıda cihazda çalışması için 3 kutucuktan hangilerini işaretleyerek build edeyim?armv7 arm64 x86
ARMv7 ve ARM64. x86’yı işaretlerseniz Google Play 64-bit hatası verecektir.
Çok teşekkür ederim gerçekten çabalıyorsunuz insanlara bir şey öğretebilmek yardımcı olmak için.Her mesajı cevaplıyorsunuz dua edicem size 🙂
Siz de sağolun.
Hocam dediğiniz gibi o iki kutuyu işaretleyerek güncelleme yaptım önceden uyumlu olmayan bir cihazdan indirdim açınca failed to load ıl2cpp diye hata verdi
Bu konuyla ilgili bulabildiğim tek kaynak şu: https://forum.unity.com/threads/2019-1-8f1-failed-to-load-il2cpp-unity-on-windows-7-machines.701273/. Burada da Unity’nin 2018.4.4f1, 2019.1.10f1, 2019.2.0b10 ve 2019.3.0a9 sürümlerinden itibaren sorunun çözüldüğü yazıyor.
Build sırasında windows bellek doldu şu programı kapatın: unity editor şeklinde hata vermişti ben de hatayı kapatıp builde devam etmiştim sanırım orada buildde bir hata olmuş.Tekrar düzgün bir şekilde build etmeyi denedim sorun çıkmadı.
Hocam google play services hakkında bilginiz carmı Türkçe kaynak bulamadım.
Bu konuda hemen hiç güncel tecrübem yok maalesef.
Hocam ben 64 bit uyumlu yaptım oyununu attım bişey olmadı fakat şimdi guncelleme attım bu sefer hata verdi 64bundle diye nedenini biliyormusinuz
Player Settings’teki Target Architectures listesinde yer alan x86’nın başındaki işaretin kapalı, ARM64’ün başındaki işaretin ise açık olduğundan emin olun. Benim önerim ayrıca ARMv7’nin başındaki işaretin de açık olması yönünde.
Selamun aleyküm abi oyunumu yaklaşık 4 gün önce güncelledim normalde en fazla 1 gün içinde olumlu veya olumsuz bir dönüş alırdım fakat güncelleme hala bekliyor diyor ne yapabilirim. Yardım sayfadasında da mail atabileceğim bir adres bulamadım
Şurada yazdığına göre bu süreç bir haftaya kadar uzayabiliyormuş: https://support.google.com/googleplay/android-developer/answer/6334282
E-posta veya chat yoluyla yardım almak için şu linke göz atabilirsiniz: https://support.google.com/googleplay/android-developer/answer/7218994?hl=en
Selamun aleyküm abi oyunumu build ederken “Required API level 26.” bu hatayı alıyorum ve sdk kontrolleri yaptım herşey normal görünüyor hatanın sebebi nedir acaba veya ne yapmam gerekir?
Oyunumu daha önce google playe yüklemiştim zaten sorun yoktu.
Bir ihtimal Unity’nin entegre SDK’sını kullanıyorsunuzdur. Şuradaki 2.1 maddesini kontrol etmenizi öneririm: https://yasirkula.com/2013/07/17/unity-android-sdk-kurulumu-resimli-anlatim/
Çok garip ya 64 bit build alıyorum developer consola attığımda 64 bit uyumlu değil diyor ilginç.
ARM64’ü seçebilmek için IL2CPP ve/veya Gradle kullanmanız gerekiyor olabilir, sistem değiştiğinden beridir kendim henüz uygulama koymadığımdan şu anda tam gereksinimleri bilmiyorum.
Merhaba,
aynı sorunu ben de yaşıyordum 2 gündür çözüm bulamıyordum. Bugün bir sitede inşa aşamasında x86 platformunu kaldırınca sorunun çözüldüğü yazıyordu. Denedim ve oldu, sadece birkaç tane desteklenen cihaz azalıyor ama çok önemli değil siz de deneyebilirsiniz.
Yayınladığım oyun geliştirici konsolunda google play de görüntüle ye tıkladığımda çıkıyor fakat nedense oradan geliştirici adıma tıklayınca çıkmıyor bunun sebebi ne olabilir? Diğer oyunlar geliştirici sayfasının altında listeleniyor sadece son yayınladığım çıkmıyor.
Tamam artık çıkıyor sanırım biraz beklemek lazımmış.
Merhaba Arkadaşlar,
Biliyorsunuzdur ki 1 Ağustos 2019 tarihinden itibaren Google Play Store x64 build istiyor. Siz de benim gibi;
–
Android build için IL2CPP’yi seçip ve ARM64’ü dahil veya yanlızca ARM64 türü build alırken,
.apk veya .aab [Build App Bundle (Google Play)] türü fark etmeksizin,
–
“Building Player” başlıklı,
İçerik olarak da “Building native binary with IL2CPP…” PopUP’u görüntülendikten sonrasında kendi kendine PupUP’un kapanma durumu,
veya;
“Build failure” başlıklı,
İçerik olarak da “Failed to link ‘libunity.so’. See the Console for details.” türü aktif PopUP karşınıza çıkartan sorunla karşılaştıysanız,
–
Bu iki hatanın nedeni benim için ‘NDK’ uyumsuzluğuydu.
(Öyle düşünüyorum ki:)Unity’nin build sistemi ‘NDK-r16b’ ya göre kodlanmış ve ‘r16b’ haricini kabul etmiyor olabilir.
–
NDK’yı test ettiğim iki farklı Unity sürümünde(2019.1.6f1 ve 2018.4.4f1) çözüm NDK-r16b’yı kullanmaktır.
–
Bu NDK’yı (r16b) indirebileceğiniz adres;
https://dl.google.com/android/repository/android-ndk-r16b-windows-x86_64.zip
dir.
–
Unity içerisinde NDK seçimi (2019.1.6f1 için) Edit > Preferences…> External Tools ardından NDK’dır.
–
Unity içerisinde NDK yolunu değiştiremiyorsanız NDK yolu;
C:\Program Files\\Editor\Data\PlaybackEngines\AndroidPlayer\NDK
veya Unity Hub ile indirilen bir Unity sürümü kullanıyorsanız;
C:\Program Files\\Editor\\Editor\Data\PlaybackEngines\AndroidPlayer\NDK
dur.
–
Halihazırda kullandığınız NDK klasörüne bir tire koyarak ‘NDK-‘ indirdiğiniz ve .zip’ten çıkardığınız ‘android-ndk-r16b’ nin ismini ‘NDK’ yaparak kopyalayın/kesin ardından ‘NDK-‘ yaptığınız klasörün yanına yapıştırın.
–
NDK yolunu değiştirebiliyorsanız istediğiniz yerden ‘android-ndk-r16b’ yı seçerek build için aktif etmiş olursunuz.
–
Sizden bir ricam var. -Bir Android oyun yazma projenize ne kadar süre ayırdınız bilmiyorum lakin 1 Ağustos sonrasında buil alamasaydınız projeniz riske girebilirdi.- aynı sorunla başı dertte olan kişiler için gruplarınızda paylaşırsanız sevinirim.
Özenerek güzel bir paylaşımda bulunmuşsunuz, elinize sağlık.
Hocam nolur yardım edin valla çıldırıcam 64 bit buildi almak için uygulanması gereken adımları uyguladım kaçıncıya aynı hatayı alıyorum aylardır harcadığım emeği boşvericem artık 2-3 denemeden daha sonra.Build ederken aldığım hata aynen şöyle.
UnityEditor.BuildPlayerWindow+BuildMethodException: 3 errors
at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (UnityEditor.BuildPlayerOptions options) [0x00242] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:194
at UnityEditor.BuildPlayerWindow.CallBuildMethods (System.Boolean askForBuildLocation, UnityEditor.BuildOptions defaultBuildOptions) [0x0007f] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:97
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
Aldığınız tüm hata mesajlarını (birkaç tane olması lazım) yasirkula@gmail.com‘a atınız.
ndk r-16b indir.. Sorun cozulecektir. Ondan sonra Preferences kısmında manual olarak ndk r-16b yi sec. Yuklemeye basla sorun cozulecektir
UnityException: Bundle Identifier has not been set up correctly
CommandInvokationFailure: Unable to list target platforms. Please make sure the android sdk path is correct.
C:/android-sdk\tools\bin\avdmanager.bat list target -c
stderr[
]
stdout[
ERROR: JAVA_HOME is set to an invalid directory: C:\Program Files (x86)\Java\jdk1.8.0_131
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.
]
exit code: 1
Hataları vermeye başladı ne yapmam lâzım acaba? Yardım ederseniz?
Ben bunu UNİTY 2018.1.0f2 sürümünde bulamadım. Bu işlemi yapmadan Google Play’e sürebilir miyiz?
Bundle Identifier hatasını çözdüğünüzü varsayıyorum. Aldığınız diğer hatada, JAVA_HOME konumunun jdk1.8.0_131 olduğu belirtilmiş ama belki Java’nız başka bir yere kuruludur. O güncel konumu JAVA_HOME’a girin: https://yasirkula.com/2013/07/17/unity-android-sdk-kurulumu-resimli-anlatim/
64-bit ile ilgili Google Play’in uyarı verdiğini söyleyenler oldu, artık 64-bit desteklemeyen uygulamaları Google Play’e yükleyemiyor olabilirsiniz. Tek çaresi Unity 2018.2 veya sonrasına geçiş yapmak gibi duruyor.
Teşekkürler.
Bu arada orada şu hata da vardı:
CommandInvokationFailure: Unable to list target platforms. Please make sure the android sdk path is correct.
C:/android-sdk\tools\bin\avdmanager.bat list target -c
stderr[
Bu hatayı nasıl çözeceğiz? SDK hatasını..
Birşey soracaktım. Biz Unity güncellenen eski sürümü silmeli miyiz? Eğer ki güncellersek yaptığımız uygulama silinir mi? Bunun hakkında bir bulgi verir misiniz?
– Bence Android SDK hatası JAVA_HOME’u düzeltince kendiliğinden gider
– Bilgisayarınızda aynı anda birden çok Unity sürümü olabilir, hepsini farklı klasörlere kurmanız yeterli. Eski sürümleri silmenize gerek yok. Sadece projenizin yedeğini alın (ne olur ne olmaz) ve projeyi yeni Unity sürümü ile açın
Deneyicem. İnşallah play store yükleyebilirim?
C:/Users/Abdullah Eymen Asru/Documents/Kaz Çöz/Library/PackageCache/com.unity.textmeshpro@2.0.1/Scripts/Runtime/FastAction.cs(24,45):error CS1644: Feature `out variable declaration’ cannot be used because it is not part of the C# 4.0 language specification
Buna benzer hatalar veriyor ne yapmam lâzım?
Player Settings’te “Scripting Runtime Version”ı “.NET 4.x Equivalent” yapabilirsiniz. Eğer bu seçenek gözükmüyorsa eski bir Unity sürümü kullanıyor olabilirsiniz.
Ben 2019’a geçtim. Yeni sürümlere yani.
UnityException: Target Android SDK not installed
Android SDK does not include your Target SDK of 24.
Please use the Android SDK Manager to install your target SDK version.
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
Bu hata nasıl çözülür?
SDK Manager’dan Android’in 24. versiyonunu kurmanız lazımmış.
UnityEditor.BuildPlayerWindow+BuildMethodException: 19 errors
at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (UnityEditor.BuildPlayerOptions options) [0x00242] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:194
at UnityEditor.BuildPlayerWindow.CallBuildMethods (System.Boolean askForBuildLocation, UnityEditor.BuildOptions defaultBuildOptions) [0x0007f] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:97
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
Texture Knob (android banner) has resolution (64 x 64) lower than expected (320 x 180). This might compromise visual quality of the final image. Please consider using a native size texture and appropriate import options (NPOT).
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
Script attached to ‘PlayerCallbacksOrderOnTheHost_PlayerPrefab’ in scene ” is missing or no valid script is attached.
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
Bu hatayı çömeme yardım eder misiniz?
Proje konumunuzda Türkçe karakter olmadığından emin olun (ö, ş gibi).
Bu arada Google Play Bunddle indifine çıktısı alırken .aab dosya oluşturuyor. Peki bu dosyayı Play Store yüklenebilir mı?
Evet.
oyunumu yüklerken şu hataları aldım nasıl giderebilirim?
Hata
Uygulamanızın, şu izinleri isteyen 2 sürüm koduna sahip bir APK’sı var: android.permission.READ_PHONE_STATE,android.permission.GET_ACCOUNTS. Bu izinleri bir APK’da kullanan uygulamaların gizlilik politikası olması gerekir.
Hallettim abi
Elinize sağlık. Eğer o izinlere ihtiyacınız yoksa o izinleri istemeyin çünkü kullanıcı niye bu izinleri istiyor oyun diye şüphelenebilir. Büyük olasılıkla kullandığınız bir plugin’den dolayı isteniyordur ama hangi(ler)i bilmiyorum.
Hocam merhaba oyunumu google playe yüklerken şöyle 2 tane hata aldım ne yapmam gerek.
Bu sürüm Google Play 64 bit gereksinimi ile uyumlu değil
Aşağıdaki APK’ler veya Uygulama Paketleri, 64 bit cihazlarda kullanılabilir ancak yalnızca 32 bit yerel koda sahipler: 2 ve 3.
Tüm sürümlerin, 1 Ağustos 2019 tarihinden itibaren Google Play 64 bit gereksinimiyle uyumlu olması gerekir.
Uygulamanıza 64 bit ve 32 bit yerel kod dahil edin. Her cihaz mimarisinin yalnızca ihtiyaç duyduğu yerel kodu almasını otomatik olarak sağlamak için Android App Bundle yayınlama biçimini kullanın. Bu sayede, uygulamanızın genel boyutunu büyütmekten kaçınmış olursunuz.
————————————————————————————————————————-
Uyarı:
Bu APK, kullanılmayan kod ve kaynakların kullanıcıya gönderilmesine neden oluyor. Android App Bundle işlevini kullanırsanız uygulamanız daha küçük olabilir. Uygulamanızı cihaz yapılandırmalarına göre optimize etmediğinizden, uygulamanızın kullanıcıların cihazına indirilip yüklendiği boyut, olması gerekenden daha büyük. Büyük boyutlu uygulamaların yüklenme başarı oranı daha düşük olur ve kullanıcıların cihazlarında daha fazla yer kaplarlar.
Çözünürlük:
Cihaz yapılandırmalarını otomatik olarak optimize etmek veya birden fazla APK ile kendiniz yönetmek için Android App Bundle’ı kullanın.
Unity’nin son sürümlerinde 64-bit ARM ve Android App Bundle desteği gelmiş, onları aktifleştirmeyi deneyebilirsiniz: https://blogs.unity3d.com/2019/03/05/android-support-update-64-bit-and-app-bundles-backported-to-2017-4-lts/
Abi yazanları yapmama rağmen sürekli hata veriyor build alamıyorum
hocam internal olarak export alıyorum gradle da hata veriyor ve internalda bundle diye seçenek yok ve ayriyetten gradle daykende arm64 var ama işaretleyemiyorum
ARM64’ü seçebilmek için Scripting Backend olarak Mono değil de IL2CPP seçmeniz gerekiyor olabilir. Ama bunun için de Android SDK’ye ilaveten Android NDK de gerekecek. Zaten NDK kurulu değilse Unity NDK kurmanız konusunda size uyarı verecektir. Gradle’dayken aldığınız hataları, hatalar kısaysa burada paylaşabilir, uzunsa yasirkula@gmail.com adresine yollayabilirsiniz.
Öncelikle yeni bir proje açıp, aynı build ayarlarında boş bir apk build almayı deneyiniz. Yalnız (release olsun) publisher ayarları boş olmasın.
Eğer build alabiliyorsanız ana projenizdeki hatayı paylaşın.
64 bit için unity sürümünüzü değiştirdiyseniz. Varsa kullanılan servisler sürüm problemi çıkartıyor olabilir ve yerine göre illet sıkıntı.
verilen ilk hatayı giderdim unitynin versiyonundan kaynaklıymış ancak 2.hata hala devam ediyor
build almada sıkıntı yok google playe yüklerken hata veriyor
Merhaba hocam ben butun herseyi yapiyorum keystore harfi hargine yaptim apk build yaptim ama google playe yuklerken apk yuklenemesi baska bir apk deneyiniz diyor ayrica blustack programinda yuklerken bu surum uygun degil hatasi veriyor keystre silinve bluestack aciyor hata vermiyorrr
Chrome’dan veya IE’den yüklerken sıkıntı yaşayıp da Firefox’tan yükleyince sorunu çözülen insanlar varmış, siz de başka tarayıcılar kullanmayı deneyebilirsiniz. Bluestacks için ise “bluestacks bu sürüm uygun değil” şeklinde arama yapmanızı öneririm.
Henüz geçerli olmayan bir sertifikayla imzalanmış APK veya Android APP Bundle yüklediniz. APK’nızı veya Android APP Bundle’izi şu anda geçerli olan bir sertifikayla imzalamanız gerekiyor. böyle bir hata aldım nasıl çözebilirim
Bir kaç saat (ya da bir gün) bekleyince sorunu çözülenler, bilgisayarın saati bozuksa onu düzeltince sorunu düzelenler ve başka bir isimle APK build alınca sorunu düzelenler olmuş. Daha fazla detay veya çözüm yolu için “You uploaded an APK or Android App Bundle signed with a certificate that is not yet valid” şeklinde arama yapabilirsiniz.
Hocam apk alırken hataile karşılaşan arkadaşlar için yazıyorum;
Hocamızın da yazısında yer verdiği gibi eğer allias kısmında şifreyi belirledikten sonra kalan kısımları boş bıraktığımda GRADLE BUILD FAILED hatası aldım.
Tekradan boş kalan kısımları doldurduğumda hata ortadan kalktı.
Hocam unity’den oyun satın alıp google playe yüklesem sıkıntı yaparlar mı bi sorun olur mu ?
Asset Store’dan diyorsanız, asset’in içinde aksini söyleyen bir yazı olmadığı sürece sıkıntı olmaması lazım. Ama büyük ihtimalle aynı oyun başkaları tarafından da yüklenmiş olacağı için, oyununuza klon oyun gözüyle bakılabilir.
https://play.google.com/store/apps/details?id=com.getouttaway.game Oyunu yeni tamamladım yazılarınız blogunuz bir çok konuda bana yardımcı oldu. teşekkürler.. 🙂
Oyununuz hayırlı olsun 🙂 Umarım beklediğiniz ilgiyi görür.
Sağolun size de iyi çalışmalar.. 🙂
hocam unity de oyunumu bitirdim ama google play e yüklerken bi nokta var orayı anlayamadım
Fiyatlandırma ve dağıtım kısmında COPPA diye birşey var ona evet desem ne olur hayır desem ne olur.
Eğer uygulamanız özellikle 13 yaş altı çocuklara hitap ediyorsa (mesela 1. sınıflara matematik öğretmeye yarayan bir program) evet, yoksa hayır demeniz lazım. Evet demeniz gereken yerde hayır derseniz ne tarz yaptırımı olur bilmiyorum.
Yasir bey gradle mi yoksa ınternal lemi çıktı almalıyız mağaza yayını yapmak için
Hiç fark etmez.
Cevabınız için teşekkürler .