Neden Google Play Uygulama İmzalama'yı kullanmalısınız? Google Play Uygulama İmzalama'ya kaydolduğunuzda anahtarlarınızı kalıcı kayıp veya güvenlik ihlaline karşı korumanın yanı sıra Android App Bundle'larınız (.aab) için Google Play geliştirmelerine erişebilirsiniz. Uygulama paketlerinizden oluşturulan optimize edilmiş dağıtım APK'larının Google tarafından imzalanmasına izin verdiğinizde Gemini modellerini kullanarak otomatik koruma ve otomatik dize çevirisi gibi değerli hizmetlere erişebilirsiniz. Oyunlar, Google Play Games Sidekick, indirirken oynama ve ücretli oyunlar için ücretsiz denemeler gibi ek otomatik hizmetlere erişebilir.
Google Play Uygulama İmzalama'yı yapılandırmak için hesap sahibi olmanız veya Üretim sürümüne yayınlama, cihazları hariç tutma ve Google Play Uygulama İmzalama'yı kullanma iznine sahip olmanız ve Hizmet Şartları'nı kabul etmeniz gerekir.
Temel kavramlar
Google Play Uygulama İmzalama'yı kullandığınızda iki farklı anahtarla çalışırsınız. Farkı ve teknik biçimlerini anlamak, üçüncü taraf API'leriyle ilgili kimlik doğrulama sorunlarını önlemek için çok önemlidir.
| Anahtar türü | Sahibi | Teknik ayrıntılar ve amaç |
|
Yükleme anahtarı |
Siz (Bu anahtarın güvenliğini sağlayın.) |
|
| Uygulama imzalama anahtarı |
Google Play |
|
Not: En üst düzeyde güvenlik için yükleme anahtarınız ve uygulama imzalama anahtarınız farklı olmalıdır.
Google'ın uygulamanızı imzalama süreci: Google, uygulama imzalama anahtarıyla APK'larınızı oluşturup imzalarken uygulamanızın manifest dosyasına iki damga (com.android.stamp.source ve com.android.stamp.type) eklemek için apksigner aracını kullanır. Bu damgalar, APK'larınızın orijinal imzalayan kişiye kadar güvenli bir şekilde izlenebilmesini sağlar.
Play Uygulama İmzalama'yı Kurma
Kurulum işlemi, yeni bir uygulama yayınlamanıza veya mevcut bir uygulamayı taşımanıza bağlı olarak değişir.
Yeni uygulamalar için
- Yükleme anahtarı oluşturma: Sürüm uygulama paketinizi imzalamak için bir anahtar deposu oluşturun. Bunu Android Studio'da oluşturabilir veya komut satırındaki Java keytool yardımcı programını kullanabilirsiniz.
- Uygulama paketinizi yükleme: Google Play Console'a gidip yeni bir sürüm hazırlayın. Varsayılan olarak, uygulama paketinizi yüklediğinizde Google Play Uygulama İmzalama, uygulamanızı yönetmek ve korumak için şifreleme açısından güçlü bir RSA 4096 bit anahtarı otomatik olarak oluşturur. Yeni uygulamaların %90'ından fazlası bu önerilen varsayılanı kullanır ve kurulum için başka bir işlem yapılması gerekmez.
- Uygulama imzalama anahtarınızı değiştirme (isteğe bağlı): Kendi anahtarını yönetmek isteyen ileri düzey geliştiriciler bu varsayılanı değiştirebilir. Bunu, sürümünüzün Uygulama bütünlüğü bölümünde İmzalama anahtarını değiştir'i tıklayarak veya Google Play ile korunanlar > Google Play Store dağıtımı > Google Play Uygulama İmzalama'ya git bölümünden yapabilirsiniz. Ardından şunlardan birini seçebilirsiniz:
- Bu geliştirici hesabındaki başka bir uygulamayla aynı anahtarı kullanma
- Uygulama imzalama anahtarınızın bir kopyasını sağlama: Öncelikle Google Play Console'dan Google'ın ortak şifreleme anahtarını indirin. Ardından, mevcut RSA anahtarınızı (2048 bit veya daha yüksek) herhangi bir depodan güvenli bir şekilde şifreleyip yüklemek için Google Play Şifreli Özel Anahtar (PEPK) aracını kullanın (derlenmiş aracı veya kaynak kodunu doğrudan Google Play Console'dan indirerek doğrulayabilir ya da kendiniz oluşturabilirsiniz).
Mevcut uygulamalar için
Şu anda kendi anahtarlarınızı yönetiyor ve APK'lar yüklüyorsanız uygulama paketlerinden ve Google Play geliştirmelerinden yararlanmak için Google Play Uygulama İmzalama'ya yükseltebilirsiniz.
- Google Play Console'da Google Play ile korunanlar > Google Play Store dağıtımı > Google Play Uygulama İmzalama'ya git bölümüne gidin.
- Henüz yapmadıysanız Hizmet Şartları'nı kabul edin.
- Orijinal anahtarınızın bir kopyasını aktarın: Mevcut uygulama imzalama anahtarınızı herhangi bir depodan şifreleyip yüklemek için PEPK aracını indirin ve birleştirilmiş adım adım talimatları uygulayın.
API sağlayıcılarına kaydetme
Uygulamanız API'ler (ör. Google Haritalar, OAuth veya Facebook ile giriş) kullanıyorsa bu hizmetler, uygulama imzalama anahtarınızın parmak izini kullanarak uygulamanızın kimliğini doğrular.
Google, nihai APK'yı imzaladığından yalnızca yerel yükleme anahtarınızı değil, Google tarafından saklanan uygulama imzalama anahtarı parmak izini de API sağlayıcılarınıza kaydetmeniz gerekir.
- Google Play ile korunanlar > Google Play Store dağıtımı > Google Play Uygulama İmzalama'ya git bölümüne gidin.
- Uygulama imzalama anahtarı bölümüne gidin.
- Gerekli parmak izlerini (SHA-1 veya SHA-256) kopyalayın.
- Bu parmak izlerini API sağlayıcınızın konsoluna (ör. Google Cloud Console) yapıştırın.
İpucu: Android App Links kullanıyorsanız assetlinks.json dosyanızı bu parmak izleriyle güncelleyin.
Anahtarlarınızı yönetme
Uygulama imzalama anahtarınızı yeni sürüme geçirin
Uygulama imzalama anahtarınızın güvenliği ihlal edilmişse veya şifreleme açısından daha güçlü bir anahtara ihtiyacınız varsa Android N (API düzeyi 24) ve üzeri sürümlerdeki tüm yüklemeler için yıllık anahtarı yeni sürüme geçirme isteğinde bulunabilirsiniz.
Yaptırımın Android sürümlerindeki işleyiş şekli:
- Android T (API düzeyi 33) ve sonraki sürümler: Android platformu, yeni sürüme geçirilmiş anahtarınızın kullanımını kesin bir şekilde zorunlu kılar.
- Android N (API düzeyi 24) ile Android S (API düzeyi 32) arasındaki sürümler: Android platformu, yeni sürüme geçirilen anahtarı zorunlu kılmaz ve eski imzalama anahtarını tanımaya devam eder. Bununla birlikte Google Play Protect, uygulama güncellemelerinin yeni sürüme geçirilmiş anahtarınızla imzalanıp imzalanmadığını kontrol ederek ek doğrulama sağlar (kullanıcı tarafından devre dışı bırakılmadığı sürece).
Dikkat edilmesi gereken önemli nokta:
- Paylaşılan veriler: Platform, Android S (API düzeyi 32) ve önceki sürümlerde yeni sürüme geçirilen anahtarı zorunlu kılmadığı için veri paylaşırken birden fazla uygulamada aynı anahtarı kullanırsanız bu eski Android sürümleri, özel izin paylaşımı gibi özellikler için yalnızca eski anahtarı tanır.
Yükseltme
- Google Play ile korunanlar > Google Play Store dağıtımı > Google Play Uygulama İmzalama'ya git bölümüne gidin.
- Uygulama imzalama anahtarı bölümünde Anahtarı yeni sürüme geçir'i tıklayın.
- Yeni sürüme geçirme yolunuzu seçin:
- Google Play'in yeni bir uygulama imzalama anahtarı oluşturmasına izin ver (önerilir)
- Bu geliştirici hesabında başka uygulama ile aynı uygulama imzalama anahtarını kullanın
- Uygulama imzalama anahtarınızın bir kopyasını sağlayın (talimatları uygulayarak)
- Kendi anahtarınızı sağlıyorsanız apksigner aracını (Android SDK Derleme Araçları ile birlikte sunulur) kullanarak bir "rotasyon kanıtı" oluşturup yükleyin. (Burada kullanılan işaretlerle ilgili ayrıntılar için apksigner komut satırı belgelerine bakın):
- apksigner
rotate --out /path/to/new/file --old-signer --ks old-signer-jks --set-rollback true --new-signer --ks new-signer-jks --set-rollback true
- apksigner
- Kaydet'i tıklayın ve yeni anahtar parmak izlerinizi, API sağlayıcılarınıza kaydedin.
Yükleme anahtarı sıfırlama isteğinde bulunma
Yükleme anahtarınızı kaybederseniz veya güvenliğinin ihlal edildiğinden şüphelenirseniz uygulama erişiminiz engellenmez.
- Android Studio'da yeni bir yükleme anahtarı oluşturun.
- Sertifikayı PEM biçiminde dışa aktarın:
keytool -export -rfc -keystore upload-keystore.jks -alias upload -file upload_certificate.pem
(keytool ve keystore yollarıyla ilgili daha fazla yardım için Android Studio uygulama imzalama kılavuzuna bakın). - Hesap sahibinizden Google Play Console yardım formu aracılığıyla yükleme anahtarı sıfırlama isteğinde bulunmasını isteyin.
- İstendiğinde
upload_certificate.pemdosyanızı yükleyin.
Not: Yükleme anahtarınızı sıfırlamanız, uygulama imzalama anahtarını veya kullanıcılarınızı etkilemez.
En iyi uygulamalar ve alternatif dağıtım
- Güvenlik: Tüm kullanıcılar için 2 Adımlı Doğrulama'yı zorunlu kılarak Google Play Console erişiminizi koruyun.
- Google Play geliştirmeleri: Google Play Uygulama İmzalama'ya kaydolduğunuzda uygulama paketleriniz için Google Play geliştirmelerine erişebilirsiniz. Güncellemeleri almak için öncelikle yeni bir sürüm oluştururken gerekli değişiklikleri yapın ve ardından yeni uygulama paketini yükleyin.
- Google Play dışında dağıtım: Diğer uygulama mağazaları üzerinden dağıtım yapıyorsanız ve her yerde aynı imzalama anahtarını kullanmak istiyorsanız iki seçeneğiniz vardır. Uygulama imzalama anahtarınızı Google'ın oluşturmasına izin verebilir ve başka yerlerde dağıtmak için en son sürümler ve paketlerden imzalı, evrensel bir APK indirebilirsiniz (Test ve sürüm > En yeni sürümler ve paketler bölümüne gidin, uygulama paketinizi seçin ve İndirilenler sekmesini tıklayın). Alternatif olarak, tüm uygulama mağazalarında kullanmak istediğiniz uygulama imzalama anahtarını oluşturabilir ve Google Play Uygulama İmzalama'yı yapılandırırken bu anahtarın bir kopyasını Google'a aktarabilirsiniz.
- Test: Google Play'in kullanıcılara tam olarak ne sunacağını test etmek için dahili uygulama paylaşımını kullanın veya uygulama paketi gezgininden cihaza özel APK'ları indirip adb install-multiple *
.apkile yerel olarak yükleyin. - APK İmza Şeması v4: Google Play Uygulama İmzalama, Android 11 ve sonraki sürümlerde optimize edilmiş dağıtımı desteklemek için uygun uygulamalarda otomatik olarak v4 imzalama özelliğini kullanır. Herhangi bir şey yapmanız gerekmemektedir. Teknik avantajlar hakkında daha fazla bilgiyi APK İmza Şeması v4 belgelerinde bulabilirsiniz.
- Kendi bünyesinde barındırılan Google Cloud projeleri: Çok özel güvenlik şartlarınız varsa (ör. OEM anahtarları kullanma) Google Play Developer API'yi kullanarak kendi bünyesinde barındırılan bir Google Cloud projesiyle Google Play Uygulama İmzalama'ya kaydolabilirsiniz. Not: Bu, standart dışı bir kurulumdur ve önerilmez. Kendi bünyesinde barındırılan bir proje kullanmak, uygulama imzalama işlemlerinin tüm sorumluluğunu üstlendiğiniz anlamına gelir ve Google Play'in olağanüstü durum kurtarma gibi temel özellikleri gerçekleştirmesini engeller.