Play Feature Delivery'ye genel bakış

Google Play'in uygulama sunma modeli, her kullanıcının cihaz yapılandırması için optimize edilmiş APK'lar oluşturup sunmak üzere Android App Bundle'ı kullanır. Böylece kullanıcılar yalnızca uygulamanızı çalıştırmak için ihtiyaç duydukları kod ve kaynakları indirirler.

Play Feature Delivery, uygulama paketlerinin gelişmiş özelliklerini kullanarak uygulamanızın belirli özelliklerinin koşullu olarak sunulmasına veya isteğe bağlı olarak indirilmesine olanak tanır. Bunu yapmak için öncelikle bu özellikleri temel uygulamanızdan ayırıp özellik modüllerine dönüştürmeniz gerekir.

Özellik modülü derleme yapılandırması

Android Studio'yu kullanarak yeni bir özellik modülü oluşturduğunuzda IDE, modülün build.gradle dosyasına aşağıdaki Gradle eklentisini uygular.

// The following applies the dynamic-feature plugin to your feature module.
// The plugin includes the Gradle tasks and properties required to configure and build
// an app bundle that includes your feature module.

plugins {
  id 'com.android.dynamic-feature'
}

Standart uygulama eklentisinde bulunan özelliklerin çoğu, özellik modülünüzde de kullanılabilir. Aşağıdaki bölümlerde, özellik modülünüzün derleme yapılandırmasına eklemeniz ve eklememeniz gereken özellikler açıklanmaktadır.

Özellik modülü derleme yapılandırmasına dahil edilmemesi gerekenler

Her özellik modülü, temel modüle bağlı olduğundan belirli yapılandırmaları da devralır. Bu nedenle, özellik modülünün build.gradle dosyasında aşağıdakileri atlamanız gerekir:

Temel modülle ilişki kurma

Android Studio, özellik modülünüzü oluşturduğunda, temel modülün build.gradle dosyasına android.dynamicFeatures özelliğini ekleyerek temel modül tarafından görünür hale getirir:

// In the base module’s build.gradle file.
android {
    ...
    // Specifies feature modules that have a dependency on
    // this base module.
    dynamicFeatures = [":dynamic_feature", ":dynamic_feature2"]
}

Ayrıca Android Studio, aşağıda gösterildiği gibi temel modülü özellik modülünün bağımlılığı olarak ekler:

// In the feature module’s build.gradle file:
...
dependencies {
    ...
    // Declares a dependency on the base module, ':app'.
    implementation project(':app')
}

Ek ProGuard kuralları belirtme

Uygulama projeniz için kod daraltmayı yalnızca temel modülün derleme yapılandırması etkinleştirebilse de aşağıda gösterildiği gibi proguardFiles özelliğini kullanarak her özellik modülüyle özel ProGuard kuralları sağlayabilirsiniz.

android.buildTypes {
     release {
         // You must use the following property to specify additional ProGuard
         // rules for feature modules.
         proguardFiles 'proguard-rules-dynamic-features.pro'
     }
}

Bu ProGuard kurallarının, derleme sırasında diğer modüllerden (temel modül dahil) gelen kurallarla birleştirildiğini unutmayın. Bu nedenle, her özellik modülü yeni bir kural grubu belirtebilse de bu kurallar uygulama projesindeki tüm modüller için geçerlidir.

Uygulamanızı dağıtın

Uygulamanızı özellik modülleri desteğiyle geliştirirken, menü çubuğundan Run > Run'ı (Çalıştır > Çalıştır) seçerek (veya araç çubuğunda Run'ı tıklayarak) uygulamanızı bağlı bir cihaza normalde yaptığınız gibi dağıtabilirsiniz.

Uygulama projeniz bir veya daha fazla özellik modülü içeriyorsa mevcut çalıştırma/hata ayıklama yapılandırmanızı aşağıdaki gibi değiştirerek uygulamanızı dağıtırken hangi özelliklerin dahil edileceğini seçebilirsiniz:

  1. Menü çubuğundan Run > Edit Configurations'ı (Çalıştır > Yapılandırmaları Düzenle) seçin.
  2. Run/Debug Configurations (Çalıştırma/Hata Ayıklama Yapılandırmaları) iletişim kutusunun sol panelinden istediğiniz Android App (Android Uygulaması) yapılandırmasını seçin.
  3. Genel sekmesindeki Dağıtılacak dinamik özellikler bölümünde, uygulamanızı dağıtırken dahil etmek istediğiniz her özellik modülünün yanındaki kutuyu işaretleyin.
  4. Tamam'ı tıklayın.

Android Studio, varsayılan olarak uygulamanızı dağıtmak için uygulama paketlerini kullanmaz. Bunun yerine IDE, APK boyutundan ziyade dağıtım hızı için optimize edilmiş APK'lar oluşturup cihazınıza yükler. Android Studio'yu bir uygulama paketinden APK'lar ve hazır sürüm deneyimleri oluşturup dağıtacak şekilde yapılandırmak için çalıştırma/hata ayıklama yapılandırmanızı değiştirin.

Özel yayınlama için özellik modüllerini kullanma

Özellik modüllerinin benzersiz bir avantajı, uygulamanızın farklı özelliklerinin Android 5.0 (API düzeyi 21) veya sonraki sürümleri çalıştıran cihazlara nasıl ve ne zaman indirileceğini özelleştirebilmenizdir. Örneğin, uygulamanızın ilk indirme boyutunu azaltmak için belirli özellikleri, gerektiğinde isteğe bağlı olarak veya yalnızca belirli özellikleri (ör. fotoğraf çekme veya artırılmış gerçeklik özelliklerini destekleme) destekleyen cihazlar tarafından indirilecek şekilde yapılandırabilirsiniz.

Uygulamanızı bir uygulama paketi olarak yüklediğinizde varsayılan olarak yüksek düzeyde optimize edilmiş indirmeler elde etseniz de daha gelişmiş ve özelleştirilebilir özellik sunma seçenekleri, özellik modülleri kullanılarak uygulamanızın özelliklerinin ek yapılandırmasını ve modülerleştirilmesini gerektirir. Yani özellik modülleri, her birini gerektiğinde indirilecek şekilde yapılandırabileceğiniz modüler özellikler oluşturmak için yapı taşları sağlar.

Kullanıcılarınızın online pazar yerinde ürün alıp satmasına olanak tanıyan bir uygulama düşünün. Uygulamanın aşağıdaki işlevlerinin her birini ayrı özellik modüllerine makul bir şekilde modülerleştirebilirsiniz:

  • Hesaba giriş ve hesap oluşturma
  • Pazar yerinde gezinme
  • Bir öğeyi satışa çıkarma
  • Ödemeleri işleme

Aşağıdaki tabloda, özellik modüllerinin desteklediği farklı yayınlama seçenekleri ve bu seçeneklerin, örnek pazar yeri uygulamasının ilk indirme boyutunu optimize etmek için nasıl kullanılabileceği açıklanmaktadır.

Teslimat seçeneği Davranış Örnek kullanım alanı Başlarken
Yükleme sırasında yayınlama Yukarıda açıklanan yayınlama seçeneklerinden hiçbirini yapılandırmayan özellik modülleri, varsayılan olarak uygulama yüklenirken indirilir. Bu, gelişmiş yayınlama seçeneklerini kademeli olarak kullanabileceğiniz anlamına geldiği için önemli bir davranıştır. Örneğin, uygulamanızın özelliklerini modüler hale getirerek avantaj elde edebilir ve yalnızca Play Feature Delivery kitaplığını kullanarak isteğe bağlı indirmeleri tam olarak uyguladıktan sonra isteğe bağlı yayınlamayı etkinleştirebilirsiniz.

Ayrıca uygulamanız, daha sonra özelliklerin kaldırılmasını isteyebilir. Dolayısıyla, uygulama yükleme sırasında belirli özelliklere ihtiyacınız varsa ancak daha sonra ihtiyacınız yoksa özelliğin cihazdan kaldırılmasını isteyerek yükleme boyutunu küçültebilirsiniz.

Uygulamada, pazar yerinde ürün alım satımıyla ilgili etkileşimli bir kılavuz gibi belirli eğitim etkinlikleri varsa bu özelliği varsayılan olarak uygulama yükleme sırasında ekleyebilirsiniz.

Ancak uygulamanın yüklü boyutunu küçültmek için uygulama, kullanıcı eğitimi tamamladıktan sonra özelliğin silinmesini isteyebilir.

Gelişmiş yayınlama seçeneklerini yapılandırmayan özellik modüllerini kullanarak uygulamanızı modüler hale getirin.

Kullanıcının artık ihtiyaç duymayabileceği belirli özellik modüllerini kaldırarak uygulamanızın yüklü boyutunu nasıl küçülteceğinizi öğrenmek için Yüklü modülleri yönetme başlıklı makaleyi okuyun.

İsteğe bağlı teslimat Uygulamanızın gerektiğinde özellik modüllerini isteyip indirmesine olanak tanır. Pazar yeri uygulamasını kullananların yalnızca% 20'si satış için ürün yayınlıyorsa kullanıcıların çoğunluğu için ilk indirme boyutunu azaltmanın iyi bir stratejisi, ürün açıklaması ekleme ve satış için ürün yerleştirme de dahil olmak üzere fotoğraf çekme işlevini isteğe bağlı indirme olarak sunmaktır. Yani, uygulamanın satış işleviyle ilgili özellik modülünü, yalnızca kullanıcı pazar yerinde satışa ürün koymak istediğinde indirilecek şekilde yapılandırabilirsiniz.

Ayrıca, kullanıcı belirli bir süre sonra artık ürün satmıyorsa uygulama, özelliğin kaldırılmasını isteyerek yüklü boyutunu azaltabilir.

Özellik modülü oluşturun ve isteğe bağlı yayınlamayı yapılandırın. Uygulamanız daha sonra Play Feature Delivery Kitaplığı'nı kullanarak modülü isteğe bağlı olarak indirmeyi talep edebilir.
Koşullu teslimat Modüler bir özelliğin uygulama yüklenirken indirilip indirilmeyeceğini belirlemek için donanım özellikleri, yerel ayar ve minimum API düzeyi gibi belirli kullanıcı cihazı gereksinimlerini belirtmenize olanak tanır. Pazar yeri uygulaması küresel erişime sahipse yalnızca belirli bölgelerde veya yerel olarak popüler olan ödeme yöntemlerini desteklemeniz gerekebilir. Uygulamanın ilk indirme boyutunu azaltmak için belirli ödeme yöntemi türlerini işlemek üzere ayrı özellik modülleri oluşturabilir ve bunların, kullanıcının kayıtlı yerel ayarına göre koşullu olarak cihazına yüklenmesini sağlayabilirsiniz. Özellik modülü oluşturun ve koşullu yayınlamayı yapılandırın.
Anında teslimat Google Play Instant, kullanıcıların uygulamayı cihazlarına yüklemelerine gerek kalmadan uygulamanızla etkileşim kurmalarına olanak tanır. Bunun yerine, Google Play Store'daki "Şimdi Dene" düğmesi veya oluşturduğunuz bir URL aracılığıyla uygulamanızı deneyebilirler. Bu içerik sunma biçimi, uygulamanızla etkileşimi artırmanızı kolaylaştırır.

Anında yayınlama sayesinde Google Play Instant'ı kullanarak kullanıcılarınızın uygulamanızın belirli özelliklerini yüklemeden anında deneyimlemesini sağlayabilirsiniz.

Oyunun ilk birkaç seviyesini basit bir özellik modülünde sunan bir oyun düşünün. Kullanıcıların oyunu uygulama yüklemeden bir URL bağlantısı veya "Şimdi Dene" düğmesi aracılığıyla anında deneyimleyebilmesi için bu modülde hazır sürümü etkinleştirebilirsiniz. Özellik modülü oluşturun ve anında yayınlamayı yapılandırın. Uygulamanız daha sonra Play Feature Delivery Kitaplığı'nı kullanarak modülü isteğe bağlı olarak indirmeyi talep edebilir.

Uygulama özelliklerinizi özellik modülleri kullanarak modüler hale getirmenin yalnızca ilk adım olduğunu unutmayın. Google Play Instant'ı desteklemek için uygulamanızın temel modülünün ve hazır sürüm etkin belirli bir özelliğin indirme boyutu, katı boyut kısıtlamalarına uymalıdır. Daha fazla bilgi edinmek için Uygulama veya oyun boyutunu küçülterek hazır deneyimleri etkinleştirme başlıklı makaleyi okuyun.

Kaynak için URI oluşturma

Bir özellik modülünde depolanan kaynağa URI kullanarak erişmek istiyorsanız Uri.Builder() kullanarak özellik modülü kaynak URI'sini şu şekilde oluşturabilirsiniz:

Kotlin

val uri = Uri.Builder()
                .scheme(ContentResolver.SCHEME_ANDROID_RESOURCE)
                .authority(context.getPackageName()) // Look up the resources in the application with its splits loaded
                .appendPath(resources.getResourceTypeName(resId))
                .appendPath(String.format("%s:%s",
                  resources.getResourcePackageName(resId), // Look up the dynamic resource in the split namespace.
                  resources.getResourceEntryName(resId)
                  ))
                .build()

Java

String uri = Uri.Builder()
                .scheme(ContentResolver.SCHEME_ANDROID_RESOURCE)
                .authority(context.getPackageName()) // Look up the resources in the application with its splits loaded
                .appendPath(resources.getResourceTypeName(resId))
                .appendPath(String.format("%s:%s",
                  resources.getResourcePackageName(resId), // Look up the dynamic resource in the split namespace.
                  resources.getResourceEntryName(resId)
                  ))
                .build().toString();

Kaynağa giden yolun her bir parçası çalışma zamanında oluşturulur. Böylece, bölünmüş APK'lar yüklendikten sonra doğru ad alanının oluşturulması sağlanır.

URI'nin nasıl oluşturulduğuna dair bir örnek olarak, aşağıdaki adlara sahip bir uygulamanız ve özellik modülleriniz olduğunu varsayalım:

  • Uygulama paketi adı: com.example.my_app_package
  • Özelliğin kaynak paketi adı: com.example.my_app_package.my_dynamic_feature

Yukarıdaki kod snippet'indeki resId, özellik modülünüzde "my_video" adlı ham dosya kaynağını ifade ediyorsa yukarıdaki Uri.Builder() kodu aşağıdaki çıkışı verir:

android.resource://com.example.my_app_package/raw/com.example.my_app_package.my_dynamic_feature:my_video

Bu URI daha sonra uygulamanız tarafından özellik modülünün kaynağına erişmek için kullanılabilir.

URI'nızdaki yolları doğrulamak için APK Analyzer'ı kullanarak özellik modülü APK'nızı inceleyebilir ve paket adını belirleyebilirsiniz:

Derlenmiş bir kaynak dosyanın içeriğini inceleyen APK Analyzer'ın ekran görüntüsü.
Şekil 1. Derlenmiş bir kaynak dosyasındaki paket adını incelemek için APK Analyzer'ı kullanın.

Özellik modülleriyle ilgili dikkat edilmesi gereken noktalar

Özellik modülleriyle derleme hızını ve mühendislik hızını artırabilir, uygulamanızın boyutunu küçültmek için uygulama özelliklerinizin yayınlanmasını kapsamlı bir şekilde özelleştirebilirsiniz. Ancak özellik modüllerini kullanırken dikkat edilmesi gereken bazı kısıtlamalar ve uç durumlar vardır:

  • Koşullu veya seç-izle yayınlama aracılığıyla tek bir cihaza 50 veya daha fazla özellik modülü yüklemek performans sorunlarına yol açabilir. Kaldırılabilir olarak yapılandırılmayan yükleme zamanı modülleri, temel modüle otomatik olarak dahil edilir ve her cihazda yalnızca bir özellik modülü olarak sayılır.
  • Yükleme sırasında yayınlama için kaldırılabilir olarak yapılandırdığınız modül sayısını 10 veya daha az olacak şekilde sınırlayın. Aksi takdirde, uygulamanızın indirme ve yükleme süresi artabilir.
  • Yalnızca Android 5.0 (API düzeyi 21) ve sonraki sürümleri çalıştıran cihazlar, özellikleri isteğe bağlı olarak indirmeyi ve yüklemeyi destekler. Özelliğinizi Android'in önceki sürümlerinde kullanılabilir hale getirmek için özellik modülü oluştururken Birleştirme'yi etkinleştirin.
  • Uygulamanızın, isteğe bağlı olarak sunulan indirilmiş özellik modüllerine erişebilmesi için SplitCompat'i etkinleştirin.
  • Özellik modüllerinin manifest dosyasında, android:exported değeri true olarak ayarlanmış etkinlikler belirtilmemelidir. Bunun nedeni, başka bir uygulama etkinliği başlatmaya çalıştığında cihazın özellik modülünü indirdiğinin garanti edilememesidir. Ayrıca uygulamanız, koduna ve kaynaklarına erişmeye çalışmadan önce bir özelliğin indirildiğini onaylamalıdır. Daha fazla bilgi için Yüklü modülleri yönetme başlıklı makaleyi inceleyin.
  • Play Feature Delivery, uygulamanızı bir uygulama paketi kullanarak yayınlamanızı gerektirdiğinden uygulama paketiyle ilgili bilinen sorunları inceleyin.

Özellik modülü manifest referansı

Android Studio'yu kullanarak yeni bir özellik modülü oluşturduğunuzda IDE, modülün özellik modülü gibi davranması için gereken manifest özelliklerinin çoğunu içerir. Ayrıca, bazı özellikler derleme süresinde derleme sistemi tarafından eklenir. Bu nedenle, bunları kendiniz belirtmeniz veya değiştirmeniz gerekmez. Aşağıdaki tabloda, özellik modülleri için önemli olan manifest özellikleri açıklanmaktadır.

Özellik Açıklama
<manifest Bu, tipik bir <manifest> bloğudur.
xmlns:dist="http://schemas.android.com/apk/distribution" Aşağıda daha ayrıntılı olarak açıklanan yeni bir dist: XML ad alanı belirtir.
split="split_name" Android Studio, uygulama paketinizi oluştururken bu özelliği sizin için ekler. Bu nedenle, bu özelliği kendiniz eklememeli veya değiştirmemelisiniz.

Uygulamanızın, Play Feature Delivery kitaplığını kullanarak isteğe bağlı bir modül talep ederken belirttiği modülün adını tanımlar.

Gradle, bu özelliğin değerini nasıl belirler?

Varsayılan olarak, Android Studio'yu kullanarak bir özellik modülü oluşturduğunuzda IDE, modülü Gradle ayarları dosyanızda bir Gradle alt projesi olarak tanımlamak için Modül adı olarak belirttiğiniz adı kullanır.

Uygulama paketinizi oluşturduğunuzda Gradle, bu manifest özelliğini modülün manifestine eklemek için alt proje yolunun son öğesini kullanır. Örneğin, MyAppProject/features/ dizininde yeni bir özellik modülü oluşturur ve Modül adı olarak "dynamic_feature1" değerini belirtirseniz IDE, settings.gradle dosyanıza alt proje olarak ':features:dynamic_feature1' değerini ekler. Uygulama paketinizi oluştururken Gradle, modülün manifest dosyasına <manifest split="dynamic_feature1"> ekler.

android:isFeatureSplit="true | false"> Android Studio, uygulama paketinizi oluştururken bu özelliği sizin için ekler. Bu nedenle, bu özelliği manuel olarak eklememeniz veya değiştirmemeniz gerekir.

Bu modülün bir özellik modülü olduğunu belirtir. Temel modüldeki manifestler ve yapılandırma APK'ları bu özelliği ya atlar ya da false olarak ayarlar.

<dist:module Modülün APK olarak nasıl paketleneceğini ve dağıtılacağını belirleyen özellikleri tanımlar.
dist:instant="true | false" Modülün Google Play Instant üzerinden hazır deneyim olarak sunulup sunulmayacağını belirtir.

Uygulamanızda bir veya daha fazla hazır sürüm etkin özellik modülü varsa temel modülü de hazır sürüm etkin yapmanız gerekir. Android Studio 3.5 veya sonraki bir sürümü kullanırken hazır sürüm etkin özellik modülü oluşturduğunuzda IDE bunu sizin için yapar.

<dist:on-demand/> ayarlanırken bu XML öğesini true olarak ayarlayamazsınız. Ancak Play Feature Delivery Kitaplığı'nı kullanarak hazır sürüm etkin özellik modüllerinizin hazır sürüm deneyimleri olarak isteğe bağlı indirilmesini talep edebilirsiniz. Kullanıcı uygulamanızı indirip yüklediğinde cihaz, uygulamanızın hazır sürüm etkin özellik modüllerini temel APK ile birlikte varsayılan olarak indirip yükler.

dist:title="@string/feature_name"> Modül için kullanıcılara yönelik bir başlık belirtir. Örneğin, cihaz indirme onayı istediğinde bu başlığı gösterebilir.

Bu başlığın dize kaynağını temel modülün module_root/src/source_set/res/values/strings.xml dosyasına eklemeniz gerekir.

<dist:fusing dist:include="true | false" /> Modülün, Android 4.4 (API düzeyi 20) ve önceki sürümleri çalıştıran hedef cihazları hedefleyen çoklu APK'lara dahil edilip edilmeyeceğini belirtir.

Ayrıca, bir uygulama paketinden APK oluşturmak için bundletool kullandığınızda, yalnızca bu özelliği true olarak ayarlayan özellik modülleri evrensel APK'ya dahil edilir. Evrensel APK, uygulamanızın desteklediği tüm cihaz yapılandırmalarının kodunu ve kaynaklarını içeren monolitik bir APK'dır.

<dist:delivery> Aşağıda gösterildiği gibi, modül yayınlamayı özelleştiren seçenekleri kapsar. Her özellik modülünün bu özel yayın seçeneklerinden yalnızca bir türü yapılandırması gerektiğini unutmayın.
<dist:install-time> Modülün yükleme sırasında kullanılabilir olması gerektiğini belirtir. Bu, başka bir özel yayınlama seçeneği türü belirtmeyen özellik modülleri için varsayılan davranıştır.

Yükleme sırasında indirme hakkında daha fazla bilgi edinmek için Yükleme sırasında yayınlamayı yapılandırma başlıklı makaleyi okuyun.

Bu düğüm, modülü cihaz özellikleri, kullanıcının ülkesi veya minimum API düzeyi gibi belirli şartları karşılayan cihazlarla sınırlayan koşulları da belirtebilir. Daha fazla bilgi edinmek için Koşullu yayınlamayı yapılandırma başlıklı makaleyi okuyun.

<dist:removable dist:value="true | false" />

Politika ayarlanmadığında veya false değerine ayarlandığında paketleme aracı, paketten bölünmüş APK'lar oluştururken yükleme zamanı modüllerini temel modülle birleştirir. Birleştirme sonucunda daha az bölünmüş APK olacağından bu ayar, uygulamanızın performansını artırabilir.

removable, true değerine ayarlandığında yükleme zamanı modülleri temel modülle birleştirilmez. Gelecekte modülleri kaldırmak istiyorsanız true olarak ayarlayın. Ancak çok fazla modülü kaldırılabilir olarak yapılandırmak uygulamanızın yükleme süresini uzatabilir.

Varsayılan değer false'dir. Bu değeri manifest dosyasında yalnızca bir özellik modülü için birleştirmeyi devre dışı bırakmak istiyorsanız ayarlamanız gerekir.

Not: Bu özellik yalnızca Android Gradle eklentisi 4.2 veya komut satırından bundletool 1.0 sürümü kullanılırken kullanılabilir.

</dist:install-time>  
<dist:on-demand /> Modülün, isteğe bağlı indirme olarak kullanılabilir olması gerektiğini belirtir. Yani modül, yükleme sırasında kullanılamaz ancak uygulamanız daha sonra indirilmesini isteyebilir.

İsteğe bağlı indirmeler hakkında daha fazla bilgi edinmek için İsteğe bağlı yayınlamayı yapılandırma başlıklı makaleyi okuyun.

</dist:delivery>
</dist:module>
<application
android:hasCode="true | false">
...
</application>
Özellik modülü DEX dosyası oluşturmuyorsa (yani daha sonra DEX dosya biçiminde derlenen kod içermiyorsa) aşağıdakileri yapmanız gerekir (aksi takdirde çalışma zamanı hataları alabilirsiniz):
  1. Özellik modülünün manifest dosyasında android:hasCode değerini "false" olarak ayarlayın.
  2. Temel modülünüzün manifest dosyasına aşağıdakileri ekleyin:
    <application
      android:hasCode="true"
      tools:replace="android:hasCode">
      ...
    </application>
...
</manifest>

Ek kaynaklar

Özellik modüllerini kullanma hakkında daha fazla bilgi edinmek için aşağıdaki kaynakları inceleyin.

Blog yayınları

Videolar

Hizmet Şartları ve Veri Güvenliği

Play Feature Delivery Kitaplığı'na erişerek veya kullanarak Play Core Yazılım Geliştirme Kiti Hizmet Şartları'nı kabul etmiş olursunuz. Kitaplığa erişmeden önce lütfen geçerli tüm şartları ve politikaları okuyup anlayın.

Veri Güvenliği

Play Core kitaplıkları, uygulamanızın Google Play Store ile çalışma zamanı arayüzüdür. Bu nedenle, uygulamanızda Play Core'u kullandığınızda Play Store, Google Play Hizmet Şartları'na tabi olan verilerin işlenmesi de dahil olmak üzere kendi süreçlerini yürütür. Aşağıdaki bilgilerde, Play Core kitaplıklarının uygulamanızdan gelen belirli istekleri işlemek için verileri nasıl kullandığı açıklanmaktadır.

Ek diller API'si

Kullanımla ilgili toplanan veriler Yüklü dillerin listesi
Veri toplama amacı Toplanan veriler, uygulamanın farklı dil sürümlerini sunmak ve uygulama güncellemesinden sonra yüklü dilleri korumak için kullanılır.
Veri şifreleme Veriler şifrelenir.
Veri paylaşımı Veriler üçüncü taraflara aktarılmaz.
Veri silme Veriler, sabit bir saklama süresinin ardından silinir.

Play Özellik Dağıtımı

Kullanımla ilgili toplanan veriler Cihaz meta verileri
Uygulama sürümü
Veri toplama amacı Toplanan veriler, cihaza doğru modülü sunmak ve güncelleme, yedekleme ve geri yükleme işlemlerinden sonra yüklü modülleri korumak için kullanılır.
Veri şifreleme Veriler şifrelenir.
Veri paylaşımı Veriler üçüncü taraflara aktarılmaz.
Veri silme Veriler, sabit bir saklama süresinin ardından silinir.

Olabildiğince şeffaf olmayı hedeflesek de uygulamanızın kullanıcı verilerini toplama, paylaşma ve güvenlikle ilgili yaklaşımları hakkında Google Play'in Veri Güvenliği bölümü formuna nasıl yanıt vereceğinize karar vermek tamamen sizin sorumluluğunuzdadır.