Yükleme sırasında yayını yapılandırma

Özellik modülleri, belirli özellik ve kaynakları uygulamanızın temel modülünden ayırmanıza ve uygulama paketinize dahil etmenize olanak tanır. Bunun ardından, Android 5.0 (API düzeyi 21) veya sonraki sürümleri çalıştıran cihazların uygulamanızın özelliklerini ne zaman ve nasıl indireceğini kontrol etmek için yayın seçeneklerini özelleştirebilirsiniz.

Bu tür bir modülerleştirmenin daha fazla çalışma gerektirdiğini ve uygulamanızın mevcut kodunun yeniden düzenlenmesi gerektiğini unutmayın. Bu nedenle, istek üzerine kullanıcılara sunulması sayesinde uygulamanızın hangi özelliklerinden en çok fayda sağlayacağını dikkatlice düşünün.

Uygulamanızın davranışını değiştirmeden veya gelişmiş yayınlama seçeneklerini özelleştirmeden uygulama özelliklerini zaman içinde kademeli olarak modüler hale getirmek istiyorsanız yükleme anında teslim için yapılandırılmış özellik modülleri oluşturarak bunu yapabilirsiniz. Yani bir özelliği özellik modülü olarak modüler hale getirebilirsiniz, ancak gelişmiş seçenekleri etkinleştiremezsiniz. Böylece kullanıcı, uygulamanızı yüklediğinde özellik kullanılabilir olur.

Ayrıca, yükleme anında teslim için yapılandırılan özellik modüllerini, artık gerekli değilse daha sonra kaldırma seçeneği de sunulur. Bu özellik için etiketlerin çıkarılabilir olarak ayarlanması gerekir.

Bu bölümde, yükleme anında teslim için bir özellik modülünün nasıl oluşturulacağı açıklanmaktadır. Başlamadan önce Android Studio 3.5 veya üzeri, Android Gradle Eklentisi 3.5.0 veya üzerini kullandığınızdan emin olun.

Yükleme anında teslim için yeni bir modül yapılandırın

Yeni bir özellik modülü oluşturmanın en kolay yolu Android Studio 3.5 veya sonraki bir sürümü kullanmaktır. Özellik modüllerinin yapısı gereği temel uygulama modülüne bağımlılığı olduğundan, bunları yalnızca mevcut uygulama projelerine ekleyebilirsiniz.

Android Studio'yu kullanarak uygulama projenize bir özellik modülü eklemek için aşağıdaki adımları izleyin:

  1. Henüz yapmadıysanız uygulama projenizi IDE'de açın.
  2. Menü çubuğundan Dosya > Yeni > Yeni Modül'ü seçin.
  3. Create New Module (Yeni Modül Oluştur) iletişim kutusunda Dynamic Feature Module'u (Dinamik Özellik Modülü) seçin ve İleri'yi tıklayın.
  4. Yeni modülünüzü yapılandırın bölümünde aşağıdaki adımları uygulayın:
    1. Açılır menüden uygulama projeniz için Temel uygulama modülünü seçin.
    2. Bir Modül adı belirtin. IDE, modülü Gradle ayarları dosyanızda bir Gradle alt projesi olarak tanımlamak için bu adı kullanır. Uygulama paketinizi oluşturduğunuzda Gradle, özellik modülünün manifestine <manifest split> özelliğini eklemek için alt proje adının son öğesini kullanır.
    3. Modülün paket adını belirtin. Varsayılan olarak Android Studio, önceki adımda belirttiğiniz temel modülün kök paket adını ve modül adını birleştiren bir paket adı önerir.
    4. Modülün desteklemesini istediğiniz Minimum API düzeyi'ni seçin. Bu değer, temel modülün değeriyle eşleşmelidir.
  5. İleri'yi tıklayın.
  6. Modül İndirme Seçenekleri bölümünde aşağıdakileri tamamlayın:

    1. En fazla 50 karakter kullanarak Modül başlığı'nı belirtin. Uygulamanızın temel modülü, modül başlığını çevirebileceğiniz bir dize kaynağı olarak içermelidir. Modülü Android Studio kullanarak oluştururken IDE, dize kaynağını sizin için temel modüle ekler ve aşağıdaki girişi özellik modülünün manifest dosyasına ekler:

      <dist:module
          ...
          dist:title="@string/feature_title">
      </dist:module>
      
    2. Yükleme zamanına dahil etme bölümündeki açılır menüden Yükleme sırasında modülü dahil et'i seçin. Android Studio, seçiminizi yansıtmak için modülün manifest dosyasına aşağıdakileri ekler:

      <dist:module ... >
        <dist:delivery>
            <dist:install-time />
        </dist:delivery>
      </dist:module>
      

      Uygulama yükledikten sonra indirebileceğiniz bir özellik modülünü nasıl oluşturacağınızı öğrenmek istiyorsanız isteğe bağlı dağıtımı yapılandırma bölümünü okuyun.

    3. Bu modülün, Android 4.4 (API düzeyi 20) ve önceki sürümleri çalıştıran ve çoklu APK'lara dahil edilen cihazlarda kullanılabilmesini istiyorsanız Fusing (Birleştirme) seçeneğinin yanındaki kutuyu işaretleyin. Yani, bölünmüş APK'ların indirilmesini ve yüklenmesini desteklemeyen cihazlardan çıkarın. Android Studio, seçiminizi yansıtmak için modülün manifest dosyasına aşağıdaki kodu ekler:

      <dist:module ...>
          <dist:fusing dist:include="true | false" />
      </dist:module>
      
  7. Son'u tıklayın.

Android Studio, modülünüzü oluşturmayı bitirdikten sonra, Proje bölmesinden modül içeriğini kendiniz inceleyin (menü çubuğundan Görünüm > Araç Pencereleri > Proje'yi seçin). Varsayılan kod, kaynaklar ve kuruluş standart uygulama modülününkine benzer olmalıdır.

Yükleme zamanı modülünü kaldırılabilir yapma

Yükleme anında teslim için, artık ihtiyaç duyulmazsa daha sonra kaldırılabilecek özellik modülleri oluşturmak yararlı olabilir. Örneğin, uygulamanızın yüklü boyutunu küçültmek için eğitim veya ilk katılım için gereken içeriği modüler hale getirebilir ve ardından kullanıcı, uygulamanızı kullanmak üzere ayarlandıktan sonra Play Core API'yi kullanarak özellik modülünü kaldırabilirsiniz.

Yükleme zamanı modülleri varsayılan olarak kaldırılamaz. Bir modülü kaldırılabilir olarak işaretlemek ve kaldırılmasına izin vermek için removable etiketini ekleyin ve değerini true olarak ayarlayın:

<dist:module ... >
  <dist:delivery>
      <dist:install-time>
          <dist:removable dist:value="true"/>
      </dist:install-time>
  </dist:delivery>
</dist:module>