Tasarladığınız malzeme

Android 12'den başlayarak, Material You tasarımı, kullanıcıların ihtiyaçlarına uygun tek, uyumlu bir deneyim oluşturmasına ve sahip olmasına yardımcı olmak amacıyla Android işletim sistemindeki ifadeye ve akıcılığa odaklanıyor. Bir Android iş ortağı olarak, tasarladığınız Materyalleri aşağıdaki alanlarda Android cihazlarınıza dahil etmeniz teşvik edilir:

  • Dinamik renk
  • Hareket
  • Widget'lar

Dinamik renk

Dinamik renk, Material You tasarımının en önemli öğesidir ve Android'in kullanıcılarına başka hiçbir cihazın yapamayacağı şekilde daha basit ve daha derin özelleştirme sunma yönündeki uzun yıllara dayanan stratejisinin önemli bir parçasıdır. Sunduğunuz Malzemeler:

  • Kullanıcılar ve geliştiriciler, herhangi bir Android cihazında mevcut olan tutarlı, zengin bir kişiselleştirme hikayesine sahiptir.

  • Android OEM'leri, sistem kullanıcı arayüzünü ve birinci taraf uygulamalarını donanım ve marka rengine, markasına ve biçimine uygun olacak şekilde yenilemeye devam etme fırsatları.

Dinamik renkten yararlanmak için kullanıcılara yazılım teklifinizin önemli bir parçası olarak Android 12 Material You renk çıkarma hikayesini kullanın. Cihazda, AOSP'deki renk çıkarma mantığını, özellikle de tek bir duvar kağıdı veya tema kaynağı rengini alan ve bunu 65 renk API'si aracılığıyla çıkaran mantığı kullanın. Dinamik renk gereksinimleri için bkz. Dinamik Renk Kullanma .

Tam dinamik renk akışı aşağıda gösterildiği gibi dört adımdan oluşur:

Malzeme Renk Akışı

Şekil 1. Material You dinamik renk akışı

  1. Kullanıcı, OEM seçici aracılığıyla duvar kağıdını veya temayı değiştirir.

  2. Kullanıcı aşağıdakilerden birini seçer:

    • Cihaz teması. Seçildiğinde Android, gereksinimleri karşılayan tek bir kaynak rengi otomatik olarak seçer.

    • Yeni duvar kağıdı + tema. Seçildiğinde, AOSP mantığı seçilen duvar kağıdından otomatik olarak tek bir kaynak rengi seçer.

  3. AOSP, tek kaynak rengini, AOSP mantığına göre her biri 13 ton renk varyantına sahip 5 ton paletine genişletir ve bunlar daha sonra 65 renk niteliğini doldurur.

  4. Uygulama kullanıcı arayüzü, 65 renk özelliğini Android uygulama ekosisteminde tutarlı olacak şekilde kullanır. Cihaz Sistem Kullanıcı Arayüzü ve OEM'e özel uygulamalar için aynı renk paletini kullanmanız önerilir.

Android 12 yamaları

Duvar kağıdı rengini çıkarmak için uçtan uca mantığı elde etmek ve cihazın 65 renkli API'leri ekosistemle tutarlı bir şekilde doldurmasını sağlamak için Android 12 uygulamanıza aşağıdaki yamaları ekleyin:

ThemePicker'da özel renkler belirtme

AOSP ThemePicker uygulamasını kullanıyorsanız, aşağıdaki koşulların her ikisinin de karşılanması durumunda WallpaperPicker uygulaması renk bölümünü gösterir:

  • frameworks/base/packages/SystemUI/res/values/flags.xml üzerindeki flag_monet true .
  • Paket adına sahip bir sistem saplama APK'sı packages/apps/ThemePicker/res/values/override.xml dosyasındaki themes_stub_package dosyasında tanımlanır.

Saplama APK biçimi

Bu APK'nın örnek bir sürümünü packages/apps/ThemePicker/themes konumunda bulabilirsiniz.

Bu APK yalnızca mevcut temel renkleri ve adlarını ayrıntılı olarak açıklayan kaynakları içermelidir.

Saplama res/xml altında aşağıdaki formatta bir XML dosyası içermelidir:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <array name="color_bundles">
        <item>color1</item>
        <item>color2</item>
        <item>color3</item>
        <item>color4</item>
    </array>

    <string name="bundle_name_color1">Blue</string>
    <string name="bundle_name_color2">Red</string>
    <string name="bundle_name_color3">Yellow</string>
    <string name="bundle_name_color4">Green</string>

</resources>

Bu dosyada, aşağıdaki dizeler bundle_name_ item olarak adlandırıldığı sürece color_bundles içindeki her item ayrı bir adı vardır.

Her renk için açıklayıcı bir adla birlikte, her renk için bir bundle_name_ item dizesi bulunmalıdır. Bunlar, karşılık gelen çevrilmiş dizelerin res/values- language code dizinlerine eklenmesiyle çevrilebilir.

Gerçek renk değerleri aynı XML'de veya aşağıdaki formatta ayrı bir kaynak XML dosyasında olabilir:

<resources>
    <color name="color_primary_color1">#0000FF</color>
    <color name="color_secondary_color1">#0000FF</color>

    <color name="color_primary_color2">#ff0000</color>
    <color name="color_secondary_color2">#ff0000</color>

    <color name="color_primary_color3">#ffff00</color>
    <color name="color_secondary_color3">#ffff00</color>

    <color name="color_primary_color4">#00ff00</color>
    <color name="color_secondary_color4">#00ff00</color>
</resources>

Renk paketleri dizisindeki her öğe için bir color_primary_ item ve bir color_secondary_ item girişi bulunmalıdır (ve her iki renk de aynı renkte olmalıdır). Bu color girişlerine ilişkin değerler, her rengin temel renk bölümünde gösterilecek gerçek renk kodlarıdır.

1. Adım: Kullanıcı teması deneyimi oluşturun

Tema seçici, kullanıcıların yeni Material You kişiselleştirme yetenekleriyle etkileşime geçtiği ve potansiyel olarak renk seçenekleri veya ön ayarlar arasında seçim yaptığı yerdir. Ürününüze ve kullanıcı demografinize uygun olduğundan, bir tema seçici veya duvar kağıdı seçici kullanarak kullanıcılara daha zengin bir kişiselleştirme ve renk deneyimi sunabilirsiniz.

  • Duvar kağıdı seçiciyi kullanırken duvar kağıdı rengini çıkarma varsayılan olarak açıktır. Ancak kullanıcıya daha fazla seçenek sunmak için seçicide bazı özelleştirmeler yapabilirsiniz.

2. Adım: Duvar kağıdı rengini kaynak renge çıkarın

Duvar kağıdı rengini çıkarmayı etkinleştirmek için yukarıda listelenen Android 12 yamalarını seçin (bu işlevsellik, gelecekteki bir AOSP sürümünde varsayılan olarak etkinleştirilecektir). Duvar kağıdı çıkartmayı tetikleyen AOSP mantığı frameworks/base/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java adresinde, ThemeOverlayController#mOnColorsChangedListener üzerinde, WallpaperManager#onWallpaperColorsChanged yoluyla başlar. Tutarlı bir geliştirme deneyimi sağlamak için değiştirilmemiş AOSP mantığını kullanmanızı öneririz.

Varsayılan olarak mantık, kullanıma uygun en yüksek frekanslı rengi seçer. Algoritmanın döndürdüğü diğer kaynak renklerden yararlanmak ve bu renkleri tema seçicide kullanıcılara sunmak ColorScheme#getSeedColors(wallpaperColors: WallpaperColors) kullanın.

Kullanıma uygun olması için, bir kaynak rengin (ister duvar kağıdından ister kullanıcı tarafından seçilen bir ön ayardan alınmış olsun) minimum CAM16 renk değeri 5 olmalıdır; bu, kaynak rengin tek bir renkten 65 tonlu renge dönüştürüldüğünde ince koyu tonlardan etkilenmemesini ve kullanıcının tercihini temsil etmeye devam etmesini sağlar. CAM16'daki renkleri okumak ve değiştirmek için Cam#fromInt veya Cam#getInt kullanın.

Dinamik olmayan bir renk paleti kullanma Duvar kağıdı rengini çıkarmayı desteklemeyen cihazlar için, aşağıdakileri yaparak dinamik rengi destekleyen Google uygulamalarının ve üçüncü taraf uygulamalarının harika görünmesini sağlayabilirsiniz:

  • frameworks/base/packages/SystemUI/res/values/flags.xml üzerinde flag_monet devre dışı bırakarak varsayılan Malzeme paletini kullanın.
  • Kullanıcıların önceden ayarlanmış bir tema seçiciyi kullanarak işletim sistemlerini hâlâ kişiselleştirebildiğinden emin olun.

3. Adım: Kaynak rengi renk API'lerine genişletin

Android, önceki adımdan türetilen tek kaynak rengi kullanarak, her biri 13 renk içeren ve her renk farklı parlaklık değerleri (0 ila 1000) içeren 5 benzersiz ton paleti (vurgu 1-3, nötr 1-2) oluşturur. toplam 65 renk. Android 12 yamalarında sağlanan mantık bu renk açılımını doğru şekilde uyguluyor; Aşağıda verilen ayrıntılar uygulamayı açıklamaktadır.

Geliştirici tutarlılığı için, 5 ton paleti (vurgu1, vurgu2, vurgu3, nötr1, nötr2) ve bunlara karşılık gelen 13 renk, aşağıda yazıldığı gibi CAM16 renk ve renk tonu değerlerinde ilgili değişikliklerle birlikte tek kaynak rengi temel almalıdır:

CTS, parlaklık ve renk tonu API çağrılarını doğrulamaya yönelik testler içerir. Çalıştırmak için atest SystemPalette kullanın.

4. Adım: Uygulamalarda ve Sistem Kullanıcı Arayüzünde dinamik renkleri kullanın

Cihazda dinamik renkler ayarlandıktan sonra uygulamalar, renkleri kullanmak için Malzeme yönergelerini izler. Üçüncü taraf uygulamaların benimsemesi için materyal yönergeleri 26 Ekim 2021'e kadar materyal.io'da yayınlanacak. Sistem Kullanıcı Arayüzü ve birinci taraf uygulamalar için, dinamik renklerin kullanıcı deneyimi boyunca donanımınıza ve markanıza uygun olacak ve cihazlarınızı farklılaştırmanıza yardımcı olacak şekilde entegre edilmesini önemle tavsiye ederiz.

Genel dinamik renk kılavuzu için aşağıdakilere bakın:

  • Uygulamalarda ve Sistem Kullanıcı Arayüzünde ön plan öğeleri için vurgu renkleri kullanın:

    @android:color/system_accent1_0 … 1000 // most-used foreground color group
    @android:color/system_accent2_0 … 1000 // alternate accent, used for surfaces
    @android:color/system_accent3_0 … 1000 // playful, analogous color
    
  • Uygulamalardaki ve Sistem Kullanıcı Arayüzündeki arka plan öğeleri için nötr renkler kullanın:

    @android:color/system_neutral1_0 … 1000 // most-used background color group
    @android:color/system_neutral2_0 … 1000 // used for higher-elevation surfaces
    

Material You'nun renkleri nasıl eşlediği ve API'lerin SysUI'de nasıl kullanıldığı hakkında daha fazla bilgi için bkz. Ek Kaynaklar .

5. Adım: AOSP WallpaperPicker uygulamanıza dinamik renk seçenekleri ekleyin

Android 13 ve üzeri için derleme

Android 13'ten itibaren android.theme.customization.accent_color kullanımdan kaldırılmıştır. Farklı renk çeşitlerini desteklemek için yeni bir android.theme.customization.theme_style özelliği eklendi. Şu anda kod tabanında aşağıdaki gibi dört çeşidimiz var:

TONAL_SPOT = Default Material You theme since Android S.
VIBRANT = Theme where accent 2 and 3 are analogous to accent 1.
EXPRESSIVE = Highly chromatic theme.
SPRITZ = Desaturated theme, almost grayscale.

Bunlar, aşağıda JSON'da gösterildiği gibi Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES adresine gönderilir:

{
    "android.theme.customization.system_palette":"B1611C",
    "android.theme.customization.theme_style":"EXPRESSIVE"
}

Android 12 ve daha düşük sürümler için derleme

Özel bir tema seçici kullanıldığında, cihazın aşağıdaki formatta bir JSON dosyası sağlayarak Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES geçerli bir kaynak rengi göndermesi gerekir (burada 746BC1 geçerli bir kaynak rengi örneğidir):

{
      "android.theme.customization.system_palette":"746BC1",
      "android.theme.customization.accent_color":"746BC1"
}

Bunu yapmak duvar kağıdı rengi çıkarma işlemini atlar (2. Adım) ve sağlanan kaynak rengi doğrudan 65 renk niteliğine genişletir (3. Adım).

6. Adım: Bilet gönderin

Sistem entegrasyonunun yanı sıra, bir bildirimde bulunarak marka adınızı ( Build.MANUFACTURER ) bize bildirmeniz gerekmektedir. 3. taraf uygulamaların çoğu, dinamik renkleri göstermek için Android için Malzeme Bileşenleri'ni kullandığından, hangi cihazların Dinamik renk ton paletleri özelliğini entegre ettiğini belirtmek için sabit kodlu bir izin verilenler listesi kullanıyoruz.

Hareket

Akıcı hareket, cihazların modern ve birinci sınıf hissetmesini sağlar. Geliştiricinin güvenini ve mutluluğunu oluşturmak ve sürdürmek için kaydırma ve dalgalanma, akıcı hareketin tutarlı görünmesi ve hissedilmesi gereken iki önemli parçasıdır.

İşletim sisteminizde overscroll'u kullanma

Android 12, kullanıcı bir listenin kenarını kaydırmaya çalıştığında gösterilen, görünüm genişletme biçiminde daha duyarlı, dinamik bir kaydırma hareketi içerir. Aşağıda bir örnek gösterilmiştir:

Fazla Kaydırdığınız Malzeme

Şekil 2. Ayarlar'da gösterildiği gibi Android 12 kaydırma efekti

Geliştirici tutarlılığı için cihazlarınızdaki genel kaydırma efektinin aşağıdakine benzer olduğundan emin olun:

  • ActivityManager.isHighEndGfx() için true değerini döndüren cihazlarda, kaydırma efekti ekranın doğrusal olmayan bir şekilde uzatılmasıdır (yukarıda gösterildiği gibi).

  • Daha düşük performanslı cihazlarda, esneme etkisi doğrusal bir esneme şeklinde basitleştirilmiştir (sistem üzerindeki yükü azaltmak için).

Birinci taraf uygulamalarda kaydırmayı kullanma

Özel görünümleri kullanırken, uzatma efektini kullanan bazı uygulamalarda ve sistem kullanıcı arayüzünde ince ayar yapmanız gerekebilir.

  • Genişletilmiş kaydırmayı desteklemek için en son kitaplıklara yükseltin:

    • androidx.recyclerview:recyclerview:1.3.0-alpha01 RecyclerView için
    • NestedScrollView ve EdgeEffectCompat için androidx.core:core:1.7.0-alpha01
    • ViewPager için androidx.viewpager:viewpager:1.1-alpha01
  • EdgeEffect kullanan özel düzenler için aşağıdaki UX değişikliklerini göz önünde bulundurun:

    • Uzatarak kaydırma ile kullanıcıların düzen uzatılırken düzenin içeriğiyle etkileşimde bulunmaması gerekir. Kullanıcılar yalnızca uzatmanın kendisini yönetebilmeli ve örneğin içerikteki bir düğmeye basamamalıdır.

    • Kullanıcılar EdgeEffect animasyonu gerçekleşirken içeriğe dokunduklarında animasyonu yakalamalı ve uzatmayı değiştirmelerine izin verilmelidir. Geçerli çekme değerine EdgeEffectCompat.getDistance() adresinden ulaşılabilir.

    • Çekme değerini değiştirmek ve tüketilen miktarı döndürmek için onPullDistance() işlevini kullanın. Bu, parmak içeriği başlangıç ​​konumundan sonra uzatırken geliştiricilerin uzatmadan kaydırmaya sorunsuz bir şekilde geçiş yapmasına olanak tanır.

    • İç içe kaydırmayla çalışırken, içerik uzatılırsa uzatmanın, iç içe geçmiş içerikten önce dokunma hareketini tüketmesi gerekir; aksi halde, parmak yön değiştirdiğinde, uzatmayı serbest bırakmak yerine iç içe yerleştirme kaydırılabilir.

Aşırı kaydırmayla ilgili ayrıntılar için Kaydırma Hareketini Canlandırma konusuna bakın.

İşletim sisteminizde dalgalanmayı (dokunmatik geri bildirim) kullanma

Android 12, dokunduğunuzda kullanıcılara geri bildirim sağlamak için daha yumuşak, daha ince bir dokunma dalgası içerir.

Dalgalandırdığınız Malzeme

Şekil 3. Daha yumuşak bir dolgu animasyonuna sahip Android 12 dalgalanma efekti

Geliştiricinin öngörülebilirliği ve harika bir kullanıcı deneyimi sağlamak için cihazlarınızdaki dalgalanma etkisinin yukarıda gösterilen örneğe benzer olduğundan emin olun. Dalgalanma etkilerini desteklemek için herhangi bir özel entegrasyon adımı uygulamanıza gerek olmasa da, uygulamanızda ortaya çıkan istenmeyen gerilemeleri kontrol etmek için cihazlarınızdaki etkiyi test etmelisiniz.

Widget'lar

Widget'lar bir Android cihazının temel bileşenleridir. Android 12, tüm OEM'lerin desteklemesi gereken yeni API'leri ve API yeteneklerini içerir.

Ek kaynaklar

SysUI renk kullanımı

(vurgu1 = A1, vurgu2 = A2, vurgu3 = A3, nötr1 = N1, nötr2 = N2)

Renklendirdiğiniz Malzeme

Şekil 4. Sistem Kullanıcı Arayüzünde dinamik renk kullanımı

Malzeme kitaplığı renk özelliği güncellemeleri

Malzeme, belirli görünümlere renk sağlamak için kullanılan renk rolleri oluşturarak gelecek sürümde tema niteliklerini güncelleyecektir.

Renk rolü Android Tema Özelliği Işık Teması
Dinamik Renk
Koyu Tema
Dinamik Renk
Öncelik renkBirincil system_accent1_600 system_accent1_200
İlköğretimde colorOnPrimary sistem_accent1_0 system_accent1_800
İkincil renkİkincil system_accent2_600 system_accent2_200
İkincilde colorOnSecondary system_accent2_0 system_accent2_800
Hata renk hatası Yok (kırmızı_600) Yok (kırmızı_200)
Hata Durumunda colorOnError Yok (beyaz) Yok (kırmızı_900)
Arka plan android:renkliArkaplan sistem_neutral1_10 system_neutral1_900
Arka Planda RenkliArka Planda system_neutral1_900 system_neutral1_100
Yüzey renkYüzey sistem_neutral1_10 system_neutral1_900
Yüzeyde colorOnSurface system_neutral1_900 system_neutral1_100

Malzeme, durum özelliklerini aşağıdaki işaretçilerle güncelleyecektir:

Renk rolü Android Tema Özelliği Işık Teması
Dinamik Renk
Koyu Tema
Dinamik Renk
Birincil Durum İçeriği colorPrimaryStateContent system_accent1_700 system_accent1_200
Birincil Durum Katmanı colorPrimaryStateLayer system_accent1_600 system_accent1_300
İkincil Durum İçeriği colorSecondaryStateContent system_accent2_700 system_accent2_200
İkincil Durum Katmanı renkİkincilDurumKatmanı system_accent2_600 system_accent2_300
Birincil Durum İçeriği Hakkında colorOnPrimaryStateContent sistem_accent1_0 system_accent1_800
Birincil Durum Katmanında colorOnPrimaryStateLayer system_accent1_900 system_accent1_800
İkincil Durum İçeriği Hakkında colorOnSecondaryStateContent system_accent2_0 system_accent2_800
İkincil Durum Katmanında colorOnSecondaryStateLayer system_accent2_900 system_accent2_800
Birincil Kapsayıcı Durumu İçeriğinde colorOnPrimaryContainerStateContent system_accent1_900 system_accent1_900
Birincil Konteyner Durumu Katmanında colorOnPrimaryContainerStateLayer system_accent1_900 system_accent1_900
İkincil Konteyner Durumu İçeriği Hakkında colorOnSecondaryContainerStateContent system_accent2_900 system_accent2_900
İkincil Konteyner Durumu Katmanında colorOnSecondaryContainerStateLayer system_accent2_900 system_accent2_900
Üçüncül Konteyner Durumu İçeriği Hakkında colorOnTertiaryContainerStateContent system_accent3_900 system_accent3_900
Üçüncül Konteyner Durumu Katmanında colorOnTertiaryContainerStateLayer system_accent3_900 system_accent3_900
Yüzey Durumu İçeriğinde colorOnSurfaceStateContent system_neutral1_900 system_neutral1_100
Yüzey Durumu Katmanında colorOnSurfaceStateLayer system_neutral1_900 system_neutral1_100
Yüzeyde Değişken Durum İçeriği colorOnSurfaceVariantStateContent system_neutral2_700 system_neutral2_200
Yüzeyde Değişken Durum Katmanı colorOnSurfaceVariantStateLayer system_neutral2_700 system_neutral2_200
Hata Durumu İçeriği colorErrorStateContent kırmızı800 kırmızı200

SSS

Renk çıkarma

Kullanıcı bir duvar kağıdını değiştirdiğinde renk çıkarma işlemi otomatik olarak mı yapılıyor yoksa bir yerden tetiklenmesi mi gerekiyor?

Android 12 yamalarında duvar kağıdı rengi çıkarma özelliği varsayılan olarak açıktır .

ThemeOverlayController.java ThemeOverlayController#mOnColorsChangedListener ve WallpaperManager#onWallpaperColorsChanged ile mantığı tetikler.

Canlı Duvar Kağıtları veya Video Duvar Kağıtları için Renk Çıkarma işleminin ekrandaki rengi ne zaman aldığını bilebilir miyiz? Bazı kullanıcılar en çok zaman gösterdiği için son karedeki renkleri isteyebilir.

Kullanıcı duvar kağıdını ayarladığında veya ekran kapatıldıktan sonra ( WallpaperEngine#notifyColorsChanged yanıt olarak) renk çıkarma tetiklenir. Son WallpaperColors olayı (canlı duvar kağıdından), kullanıcı ekranı kapatıp tekrar açtıktan sonra uygulanır.

Tema/duvar kağıdı seçici

Tema seçicinin, kullanıcıların en yüksek frekanslı renk yerine birden fazla kaynak rengi seçmesini nasıl sağlayabilirim? Bu renkleri çıkarma mantığından almanın bir yolu var mı?

Evet. Tema seçicinizde ColorScheme#getSeedColors(wallpaperColors: WallpaperColors) kullanabilirsiniz.

Pixel adlarında temalı Simge olarak bir özellik var. Paylaştığınız üç yama arasında yer alıyor mu? OEM'ler bunu nasıl uygulayabilir?

Hayır. Temalı simgeler Beta sürümündedir ve Android 12'de mevcut değildir.

Google Duvar Kağıdı uygulamasını renk çıkarma ve seçme özellikleri etkinken kullanmanın bir yolu var mı?

Evet. Özellikler, bu sayfada daha önce açıklanan entegrasyon adımları izlenerek Google Duvar Kağıdı uygulamasının en son sürümüne uygulanabilir.

Daha fazla ayrıntı için TAM'inize ulaşın.

Google, OEM'lerin ayarlar menüsünde, Google'ın Duvar Kağıdı seçici uygulamasında gösterilen önizleme bölümüne benzeyen kendi dinamik renk önizleme sürümünü uygulayabilmeleri için uygulamayı veya kaynak kodunu paylaşabilir mi?

Önizlemeyi oluşturan ana sınıflar WallpaperPicker2 ve Launcher3 .

Duvar kağıdı önizleme ekranı WallpaperSectionController .

Google Duvar Kağıdı uygulamasında gösterildiği gibi rengi değiştirdikten sonra Önizleme nasıl uygulanır?

Duvar kağıdı seçici uygulaması, bir ContentProvider Başlatıcı'dan kullanılabilir olmasını bekler ( Launcher3 tabanlı bir başlatıcıda bulunur). Önizleme, Başlatıcı'daki GridCustomizationsProvider tarafından sağlanır ve duvar kağıdı ve stil uygulamasının okuyabilmesi için Başlatıcı'nın ana Faaliyet meta verilerinde buna başvurulması gerekir. Bunların tümü AOSP'nin Launcher3'ünde uygulanmaktadır ve OEM'lerin kullanımına açıktır.