Uyarı: Google Play Instant artık kullanılamayacak. Aralık 2025'ten itibaren, Hazır Uygulamalar Google Play üzerinden yayınlanamayacak ve tüm Google Play Hizmetleri Instant API'leri artık çalışmayacak. Kullanıcılara artık Play tarafından herhangi bir mekanizma kullanılarak anlık uygulamalar sunulmayacak.
Bu değişikliği, geliştiricilerden gelen geri bildirimler ve Google Play Anında'nın kullanıma sunulmasından bu yana ekosistemi iyileştirmek için yaptığımız sürekli yatırımlar doğrultusunda yapıyoruz.
Kullanıcı sayısını artırmaya yönelik optimizasyona devam etmek için geliştiricilerin, kullanıcıları normal uygulamalarına veya oyunlarına yönlendirmelerini öneririz. Geliştiriciler, derin bağlantılar kullanarak kullanıcıları uygun durumlarda belirli yolculuklara veya özelliklere yönlendirebilir.
Google Play Instant, kullanıcılara tek bir web bağlantısı üzerinden zengin ve yerel deneyimler sunar. Kullanıcılar uygulamanızı yüklemeden çalıştırabilirler. Bu da daha yüksek ve daha kaliteli katılım anlamına gelir. Ancak bir hazır uygulamanın normal bir mobil web sayfası kadar hızlı yüklenmesini sağlamak için iyi yapılandırılmış ve verimli bir hazır uygulama oluşturmanız gerekir. Hazır uygulamanızın ikili dosyası ne kadar küçük olursa o kadar hızlı yüklenir ve kullanıcı deneyimi o kadar sorunsuz olur.
Bu belgede, sorunsuz bir hazır uygulama deneyimi sağlamak için uygulamanızın yapısını ve ikili boyutunu yönetmeyle ilgili en iyi uygulamalar açıklanmaktadır. Bu uygulamaları, yüklenebilir uygulamanızın yararına da kullanabilirsiniz.
Birden fazla özellik modülüne yeniden düzenleme
Uygulamanızı birden fazla özellik modülüne yeniden düzenlediğinizde uygulamanızın ikili boyutunda en büyük iyileşme gerçekleşir. Temel özellik modülüyle başlayın, ardından tematik olarak ilişkili iş akışlarını kendi özellik modüllerine ayırın. Kullanıcıların modülün iş akışını başarıyla tamamlayabilmesi için her bir özellik modülüne bir başlangıç etkinliği ve benzersiz URL atayın.
Özellik modülleri oluştururken temel özellik modülünü mümkün olduğunca küçük tutun. Özellikle, uygulamanızın bağımlı kitaplıklarınıza erişim gerektiren bölümlerine dikkat edin. Belirli bir kitaplığı yalnızca bir özellik modülü kullanıyorsa bu kitaplığı temel özellik modülünde değil, özellik modülünün kendisinde içe aktarın. Belirli bir özellik modülü için anlık uygulama yayınlamak istiyorsanız bu özellik modülünün ve temel özellik modülünün toplam boyutunun 15 MB'tan az olması gerektiğini unutmayın.
En iyi uygulamalar
Uygulamanızı yeniden düzenlerken aşağıdaki en iyi uygulamaları göz önünde bulundurun:
- Her iki uygulama türü için de aynı kod tabanını kullanın
- Hem yüklü uygulamanızı hem de anlık uygulamalarınızı oluşturmak için aynı modüler kod tabanını kullanarak uygulamanızın proje yönetimi sürecini basitleştirebilirsiniz.
- Birden fazla özellik modülü için tasarım
- Uygulamanızın yalnızca bir iş akışı olsa ve şu an için yalnızca tek bir özellik modülü gerektirse bile birden fazla özellik modülü için tasarım yapmanız iyi bir fikirdir. Bu sayede, mevcut modülleri orijinal özellik modülünün boyutunu etkilemeden uygulamanıza ekleyebilirsiniz.
- Başlangıçta özellik modülü boyut sınırına odaklanmayın
- Özellik modülü boyut sınırları, yerel olarak oluşturulan ikili dosyalar için geçerli değildir. Ayrıca, özellik modülü boyutlarına 15 MB sınırı uygulayan dahili test kanalı üzerinden de hazır uygulama yayınlayabilirsiniz. Yalnızca alfa ve üretim kanallarında 15 MB sınırı uygulanır.
Uygulama kaynaklarını güncelleme
Bazı uygulamalar, özellikle de daha uzun kod tabanı geçmişine sahip olanlar, uygulamanızın ikili dosyalarının artık kullanmadığı kaynaklar içerir. Uygulamanızın modüllerini küçültmenin yollarını ararken gereksiz kodun aşağıdaki yaygın kaynaklarını göz önünde bulundurun.
Resimlerin dosya boyutunu küçültme
PNG yerine WebP dosya biçimini kullanarak uygulamanızın çizilebilir öğelerinin toplam boyutunu önemli ölçüde küçültebilirsiniz. Google Play Instant, şeffaflık ve kayıpsız sıkıştırma dahil olmak üzere WebP için tam destek sağlar. Böylece görüntü kalitesi aynı kalır.
Mümkünse diğer PNG resimlerini kullanmak için gereken tüm geriye dönük uyumluluk koşullarını kaldırın. PNG resimler kullanmanız gerekiyorsa bunları uygulamanızı oluşturmak ve yüklemek için kullanılan modüle yerleştirin.
Kullanılmayan dilleri kaldırma
Uygulamanız birden fazla dili destekliyorsa mümkün olduğunca çok sayıda yerelleştirilmiş kaynağı azaltın. Bu adım, özellikle android.support.v7.appcompat
gibi bir "appcompat" kitaplığı kullanıyorsanız tamamlamanız gereken bir adımdır.
Bu kitaplıkta birçok dilde mesajlar bulunur. Uygulamanız bu dillerin bazılarını desteklemeyebilir.
Daha fazla bilgi edinmek için kullanılmayan alternatif kaynakları (özellikle kullanılmayan dilleri) nasıl kaldıracağınızı öğrenin.
Ekstra dosyaları kaldırma
Uygulamanız, projenize aktardığınız kaynakların bazılarını artık kullanmıyor olabilir. Android Studio, bu kaynakların kaldırılmasına yardımcı olmak için bu özel durumla ilgili bir Lint kontrolü sunar. Aracı kullanmak için aşağıdaki adımları tamamlayın:
- Control+Alt+Üst Karakter+I (Mac OS'te Command+Alt+Üst Karakter+I) tuşlarına basın.
- Açılan iletişim kutusuna
"unused resources"
yazın. - Kaynak kullanımını inceleme sürecini başlatmak için Kullanılmayan kaynaklar seçeneğini belirleyin.
Uygulamanızda büyük kaynaklar varsa bunları uygulamanızdan çıkarıp kullanıcı uygulamanızla etkileşime geçtikten sonra bağımsız dosyalar olarak indirmenin mümkün olup olmadığını değerlendirin. Bu tür bir resim yükleme ertelemesi genellikle kod değişikliği gerektirir ancak yalnızca kullanıcının açıkça istediği kaynakları indirerek anlık uygulamanızın dosya boyutunu önemli ölçüde küçültebilir.
Kullanılmayan kitaplıkları kaldırma
Bir uygulamanın kapsamı genişledikçe şaşırtıcı sayıda bağımlılık oluşabilir. Özellikle aşağıdaki türlerden biri:
- Yerel kitaplıklar: Anlık uygulamanızın hiçbir zaman çalıştırmadığı yerel kod içeren kitaplıklar.
- Geçişli bağımlılıklar: Uygulamanızın içe aktarılan kitaplıklarının bağlı olduğu kitaplıklar.
Android Studio, uygulamanızın projesindeki gereksiz bağımlılıkları belirlemek için çeşitli faydalı araçlar sunar:
- Harici kitaplıklar
Android Studio'nun Project görünümünde External Libraries (Harici Kitaplıklar) bölümü bulunur.
Bu bölümde, yerel kod ve tüm geçişli bağımlılıklar dahil olmak üzere uygulamanızın kullandığı her kitaplık yer alır. Bu görünümde, uygulamanızın gerektirmediği kullanılmayan veya yinelenen kitaplıkları bulun.
- APK Analyzer
Hazır uygulama derlemeleri de dahil olmak üzere farklı derlemeleri karşılaştırmak için APK Analizcisi aracını kullanabilirsiniz.
Uygulamanızın hangi kitaplıklara ihtiyacı olmadığını belirledikten sonra, Gradle derleme dosyanıza aşağıdakine benzer satırlar ekleyerek bu kitaplıkları hariç tutun:
<feature_module>/build.gradle
Groovy
dependencies { implementation('some-important-but-large-library') { exclude group: 'com.example.imgtools', module: 'native' } }
Kotlin
dependencies { implementation('some-important-but-large-library') { exclude(group = "com.example.imgtools", module = "native") } }
Uygulamanızın bağımlılıklarının toplam içe aktarma boyutunu küçültme hakkında daha fazla bilgi için Gradle'ın Bağımlılık Yönetimi kılavuzuna bakın.
Öğelerin bulut üzerinden teslimini uygulama
Boyutu daha da küçültmeniz gerekiyorsa öğelerin bulut üzerinden dağıtımını kullanmanız gerekebilir.