İçeriğe geç
Eren Gaygusuz
Geri dön

Unity Uygulamaları için Google Play Store'da Keystore Dosyasını Değiştirme

Bir Android uygulaması Google Play üzerinde yayınlandıktan sonra imzalama anahtarı yayın sürecinin önemli bir parçası haline gelir. Unity projesini daha sonra farklı bir keystore ile imzalarsanız, Google Play yeni build’i kabul etmez; çünkü yüklenen Android App Bundle, Google Play’in beklediği upload key ile eşleşmez.

Bu yazıda Unity içinde yeni keystore oluşturmayı, projeyi bu keystore ile build etmeyi, Google Play’in istediği PEM sertifikasını hazırlamayı ve Google Play Console üzerinden upload key reset talebi açmayı adım adım ele alıyorum. Standart akışın yeterli olmadığı durumlar için Google Play destek formu üzerinden ilerleyen alternatif yöntemi de sona ekledim.

Unity, Google Play Console ve keystore değiştirme genel görünümü

İçindekiler

İçindekileri aç

Keystore Neden Eşleşmek Zorunda?

Google Play, yeni bir release’in aynı uygulamaya ait olduğunu doğrulamak için imza bilgilerini kontrol eder. Yeni bir keystore oluşturup bu keystore ile imzalanmış build’i doğrudan yüklerseniz, sertifika parmak izi değiştiği için Google Play release’i engeller.

Bu durumda çözüm build’i tekrar yüklemek değildir. Önce Google Play’in yeni upload key’i onaylaması gerekir. Bu talep için de yeni keystore dosyasından dışa aktarılmış bir PEM sertifikasına ihtiyaç duyulur.

Unity’de Yeni Keystore Oluşturma

Unity projenizi açın ve Project Settings > Player > Publishing Settings bölümüne gidin. Android publishing ayarlarında Keystore Manager penceresini açın ve yeni keystore oluşturma seçeneğini kullanın.

Unity Publishing Settings ve Keystore Manager ekranı

Keystore dosyasının kaydedileceği konumu seçin. Bu dosyayı güvenli bir klasörde saklayın; çünkü sonraki Android release’leri için yine bu dosyaya ihtiyacınız olacaktır.

Yeni Unity keystore dosyasını kaydetme ekranı

Keystore parolasını, key alias bilgisini, key parolasını, geçerlilik süresini ve sertifika sahibi bilgilerini doldurun. Alanlar hazır olduğunda key ekleme işlemini tamamlayın.

Unity Keystore Manager içinde yeni key bilgileri

Unity, oluşturulan key’in proje için kullanılmasını isteyip istemediğinizi sorar. Yeni Android build’in bu keystore ile imzalanması için bu seçeneği onaylayın.

Unity yeni keystore kullanım onayı

Yeni release almadan önce uygulama versiyonunu ve Bundle Version Code değerini artırın. Google Play’e yüklenen her yeni release’in version code değeri önceki release’ten büyük olmalıdır.

Unity Version ve Bundle Version Code alanları

Yeni imzalama ayarıyla Android App Bundle build işlemini başlatın.

Unity Build Settings ile Android App Bundle oluşturma

Upload key reset tamamlanmadan bu bundle’ı Google Play’e yüklerseniz imza uyuşmazlığı hatası alırsınız.

Google Play Console wrong signing key hatası

Keystore Sertifikasını PEM Dosyasına Dönüştürme

Google Play Console, yeni upload key talebi için PEM formatında bir sertifika ister. Windows üzerinde bunu hazırlamanın pratik yollarından biri KeyStore Explorer kullanmaktır.

KeyStore Explorer uygulamasını aratın ve indirme sayfasına gidin.

KeyStore Explorer arama sonucu

İşletim sisteminize uygun kurulum paketini indirin. Bu örnekte Windows paketi kullanılıyor.

KeyStore Explorer indirme sayfası

Kurulum tamamlandıktan sonra Unity’de oluşturduğunuz keystore dosyasını KeyStore Explorer içinde açın.

KeyStore Explorer içinde Unity keystore dosyasını açma

Keystore parolasını girin.

KeyStore Explorer keystore parola girişi

Keystore açıldığında key entry kaydını seçin. Bu kayıt genellikle Unity’de oluşturduğunuz alias adını taşır.

KeyStore Explorer içinde key entry seçimi

Sertifika detaylarını açın ve PEM seçeneğini kullanın.

KeyStore Explorer sertifika detaylarında PEM seçeneği

PEM sertifikasını kaydetmek için Export işlemini başlatın.

KeyStore Explorer PEM sertifika export ekranı

Dosya kaydetme ekranında All Files seçeneğini kullanın ve PEM dosyasına anlaşılır bir ad verin. Keystore ile aynı temel adı kullanmak dosyayı daha sonra bulmayı kolaylaştırır.

PEM dosyasını kaydetme ekranı

Export işlemi tamamlandıktan sonra PEM dosyası seçtiğiniz konumda görünür.

Dışa aktarılan PEM dosyası

Google Play Console’da Upload Key Reset Talep Etme

Google Play Console’da ilgili uygulamayı açın ve App integrity > App signing bölümüne gidin. Burada upload key reset seçeneğini bulun.

Google Play Console App signing ekranı

Reset sebebini seçin, hazırladığınız PEM sertifikasını ekleyin ve talebi gönderin. Örnekte reset sebebi olarak upload key’in kaybedildiği seçilmiş.

Google Play Console upload key reset formu

Google talebi onayladıktan sonra yeni upload key’in aktif hale gelmesini bekleyin. Ardından yeni Unity keystore ile imzalanmış release’i tekrar yükleyebilirsiniz.

Opsiyonel Destek Formu Akışı

Standart upload key reset akışı durumunuzu karşılamıyorsa Google Play Developer Support ile Google Play Console issues formu üzerinden iletişime geçebilirsiniz.

Formda developer account, uygulama adı, package name ve sorun açıklaması gibi bilgileri doldurun. Açıklama kısmında önceki app signing veya upload key’in artık kullanılamadığını ve yeni key ile güncelleme yapmak istediğinizi net şekilde belirtin.

Google Play Console issue formu ile key reset desteği

Formu gönderdikten sonra Google tarafından bir destek e-postası gelir. E-postadaki yönergeleri takip edin ve istenirse PEM dosyasını yanıt olarak ekleyin.

Google Play Developer Support yanıt e-postası

Talep kabul edildiğinde Google yeni upload key’in kayıt edildiğini ve ne zaman kullanılabileceğini bildirir.

Google Play yeni upload key onay e-postası

Özet

Keystore değiştirme akışının dört önemli parçası vardır: Unity’de yeni keystore oluşturmak, uygulamayı bu keystore ile build etmek, keystore sertifikasını PEM dosyası olarak dışa aktarmak ve Google Play Console üzerinden upload key reset talebi göndermek. Google yeni upload key’i onaylayana kadar yeni keystore ile imzalanan build’ler imza uyuşmazlığı hatası almaya devam eder.

Keystore dosyasını, alias bilgisini, parolaları ve PEM sertifikasını güvenli şekilde saklayın. Bunlar yayın sürecinin parçasıdır ve kaybedilmeleri Android uygulama yayınlama sürecini kesintiye uğratabilir.


Bu yazıyı paylaş:

Yorumlar


Önceki Yazı
Moodle'u Docker ile Yerel Ortamda Kurma
Sonraki Yazı
Unity Asset Store Paketlerini Başka Bir Klasöre İndirme