Android App Bundle, uygulamanızın tüm derlenmiş kodunu ve kaynaklarını içeren, APK oluşturmayı ve Google Play'de imzalamayı erteleyen bir yayınlama biçimidir.
Google Play, her cihaz yapılandırması için optimize edilmiş APK'lar oluşturmak ve yayınlamak üzere uygulama paketinizi kullanır. Böylece, uygulamanızı çalıştırmak üzere yalnızca belirli bir cihaz için gereken kod ve kaynaklar indirilir. Artık farklı cihazlar için desteği optimize etmek üzere birden fazla APK oluşturmanız, imzalamanız ve yönetmeniz gerekmez. Ayrıca kullanıcılar daha küçük boyutlu, daha optimize edilmiş indirmeler elde eder.
Çoğu uygulama projesi, optimize edilmiş APK'ların sunulmasını destekleyen uygulama paketleri oluşturmak için çok fazla çaba gerektirmez. Uygulamanızın kodunu ve kaynaklarını halihazırda belirlenen kurallara göre düzenliyorsanız, Android Studio'yu kullanarak veya komut satırını kullanarak imzalı Android uygulama paketleri oluşturun ve bunları Google Play'e yükleyin. Optimize edilmiş APK sunumu otomatik bir avantaj haline gelir.
Uygulamanızı yayınlamak için uygulama paketi biçimini kullanırken uygulama projenize özellik modülleri eklemenize olanak tanıyan Play Özellik Dağıtımı'ndan da yararlanabilirsiniz. Bu modüller, yalnızca belirttiğiniz koşullara göre uygulamanıza dahil edilen veya çalışma zamanında daha sonra Play Core Kitaplığı'nı kullanarak indirilmek üzere indirilebilecek özellikler ve kaynaklar içerir.
Uygulamalarını uygulama paketiyle yayınlayan oyun geliştiriciler, Google Play'in geliştiricilere esnek yayınlama yöntemleri ve yüksek performans sunan büyük miktarlarda oyun öğesi yayınlamaya yönelik çözümü Play Asset Delivery'yi kullanabilir.
Uygulamanızı neden Android App Bundle kullanarak yayınlamanız gerektiğine dair genel bir bakış için aşağıdaki videoyu izleyin.
Sıkıştırılmış indirme boyutu kısıtlaması
Android App Bundle ile yayınlama, kullanıcılarınızın uygulamanızı mümkün olan en küçük indirme işlemiyle yüklemesine yardımcı olur ve sıkıştırılmış indirme boyutunu artırır. Yani bir kullanıcı uygulamanızı indirdiğinde, uygulamanızı yüklemek için gereken sıkıştırılmış APK'ların (ör. temel APK + yapılandırma APK'ları) toplam boyutu 4 GB'tan fazla olmamalıdır. İsteğe bağlı olarak bir özellik modülünün (ve yapılandırma APK'larının) indirilmesi gibi sonraki indirmeler de bu sıkıştırılmış indirme boyutu kısıtlamasına uymalıdır. Öğe paketleri bu boyut sınırına dahil edilmez, ancak başka boyut kısıtlamaları vardır.
Play Console, uygulamanızın olası indirmelerinden veya isteğe bağlı özelliklerinden herhangi birinin maksimum boyut sınırlarını aştığını tespit ederse bir hata alırsınız.
Android App Bundle'ların APK genişletme (*.obb
) dosyalarını desteklemediğini unutmayın. Dolayısıyla, uygulama paketinizi yayınlarken bu hatayla karşılaşırsanız sıkıştırılmış APK indirme boyutlarını azaltmak için aşağıdaki kaynaklardan birini kullanın:
- Her yapılandırma APK'sı türü için
enableSplit = true
ayarlayarak tüm yapılandırma APK'larını etkinleştirdiğinizden emin olun. Bu, kullanıcıların yalnızca uygulamanızı cihazlarında çalıştırmak için ihtiyaç duydukları kodu ve kaynakları indirmelerini sağlar. - Kullanılmayan kod ve kaynakları kaldırarak uygulamanızı küçültdüğünüzden emin olun.
- Uygulama boyutunu daha da küçültmek için en iyi uygulamalardan yararlanın.
- Yalnızca bazı kullanıcılarınız tarafından kullanılan özellikleri, uygulamanızın daha sonra istek üzerine indirebileceği özellik modüllerine dönüştürmeyi düşünün. Bunun için uygulamanızın yeniden düzenlenmesi gerekebileceğini unutmayın. Bu nedenle, öncelikle açıklanan diğer önerileri denediğinizden emin olun.
Dikkat edilmesi gereken diğer noktalar
Uygulamanızı Android App Bundle ile oluştururken veya sunarken aşağıdaki bilinen sorunlar gösterilmektedir. Burada açıklanmayan sorunlar yaşarsanız hata bildiriminde bulunun.
- Başka cihazdan yüklenen uygulamaların (yani, Google Play Store kullanılarak yüklenmeyen ve bir veya daha fazla gerekli bölünmüş APK'nın eksik olduğu uygulamaların) kısmi yüklemeleri, Android 10 (API düzeyi 29) veya sonraki sürümleri çalıştıran Google sertifikalı tüm cihazlarda ve cihazlarda başarısız olur. Google, uygulamanızı Google Play Store'dan indirirken, uygulamanın gerekli tüm bileşenlerinin yüklendiğinden emin olmanızı sağlar.
Kaynak tablolarını dinamik olarak değiştiren araçlar kullanıyorsanız uygulama paketlerinden oluşturulan APK'lar beklenmedik şekilde davranabilir. Bu nedenle, bir uygulama paketi oluştururken bu tür araçları devre dışı bırakmanız önerilir.
Bir özellik modülünün derleme yapılandırmasında, temel (veya diğer) modüllerdeki özelliklerle çakışan özellikleri yapılandırmak mümkündür. Örneğin, temel modülde
buildTypes.release.debuggable = true
ve bir özellik modülündefalse
olarak ayarlayabilirsiniz. Bu tür çakışmalar, derleme ve çalışma zamanı sorunlarına neden olabilir. Varsayılan olarak, özellik modüllerinin bazı derleme yapılandırmalarını temel modülden devraldığını unutmayın. Bu nedenle, özellik modülü derleme yapılandırmanızda hangi yapılandırmaları tutmanız ve hangilerini atlamanız gerektiğini anladığınızdan emin olun.
Ek kaynaklar
Android App Bundle hakkında daha fazla bilgi edinmek için aşağıdaki kaynaklara bakın.
Blog yayınları
- İlk App Bundle'ınızı oluşturma
- Yeni yayınlama biçimi, Android'in geleceği için ne anlama geliyor?
- Google Play'de işinizi geliştirmenize, yayınlamanıza ve büyütmenize yardımcı olacak yeni özellikler
- Ek diller API'sini de içeren en son Android App Bundle güncellemeleri
- Patchwork Plaid: Bir modülerleştirme hikayesi
- Google Santa Tracker: Android App Bundle'a geçiş
- Play Console'daki geliştirici araçları
Videolar
- Play Uygulama İmzalama hakkında bilmeniz gereken her şey
- İlk App Bundle'ınızı oluşturma
- Uygulama Paketleri: Bundletool ve Play Console ile test etme
- Uygulama Paketi ile Özelleştirilebilir Yayınlama ve Test Derlemelerinin Kolay Paylaşımı
- Uygulamanızın Boyutunu Optimize Etmek ve Google Play'de Yükleme Sayısını Artırmak için Yeni Araçlar