Android Ayarları uygulaması, Android 8.0'daki kullanıcılara bir öneri listesi sunar. Bu öneriler genellikle telefonun özelliklerini tanıtır ve özelleştirilebilirdir (örneğin, "Rahatsız Etmeyin programını ayarla" veya "Wi-Fi Aramasını Aç"). Bu özellik, herhangi bir bağlamsal sinyale veya kullanıcının önerilerle geçmişteki etkileşimlerine dayalı olarak önerilerin sıralamasını sağlar.
Mevcut varsayılan Android Açık Kaynak Projesi (AOSP) sıralama modeli, kullanıcının öneriyle önceki etkileşimlerine dayanmaktadır; bu, etkileşim sinyallerini uygun şekilde ağırlıklandırmak için lojistik regresyonla eğitilmiş basit bir doğrusal modeldir. Varsayılan uygulama, önerileri sıralamak ve kullanıcının bu önerilerle etkileşimini tahmin etme şansını artırmak için gösterge olarak gösterilen, tıklanan veya reddedilen önerileri ve bu etkinliklerin güncelliğini kullanır. Bu model, sınırlı miktarda kayıtlı kullanıcı verisiyle oluşturulmuştur. Cihaz üreticileri (OEM'ler), toplanan verilere dayanarak kendi sıralama modellerini geliştirebilir ve potansiyel olarak bağlamsal sinyalleri dahil edebilir ve sıralamayı kalibre edebilir.
Uygulama
AOSP'de varsayılan packages/apps/Settings/src/com/android/settings/dashboard/suggestions/SuggestionRanker.java
uygulamasını bulun.
Bu özellik, varsayılan olarak false değerine ayarlanan isSmartSuggestionEnabled
bayrağıyla korunur. Etkinleştirilirse (true olarak ayarlanır), özellik, varsayılan AOSP uygulamasını kullanarak ek değişiklik yapılmadan çalışır. OEM'ler bu özelliği etkinleştirmek için varsayılan uygulamayı kullanabilir veya kendi uygulamalarını tanıtabilir.
OEM'ler platform/packages/apps/Settings/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProvider.java
özelliğini uygulayarak ve dosyanın rankSuggestions
yöntemini geçersiz kılarak bu özelliği özelleştirebilir. Bu yöntem, öneri Kutucuklarını ve karşılık gelen öneri kimliklerini içeren iki liste alır. Bu yöntem, listedeki döşemeleri yalnızca istenen sıralama puanına göre yeniden sıralamalıdır. Öneri kimlikleri, önerileri benzersiz bir şekilde tanımlamak ve sıralama uygulamasına (örneğin, bu özel öneriyle etkileşimin yeniliği) bağlı olarak öneri hakkında gerekli geçmiş bilgileri çıkarmak için kullanılabilir.
Doğrulama
Uygulayıcılar, sıralamayı packages/apps/Settings/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionRankerTest.java
benzeri kendi birim testlerini yazarak, özellik sürümlerinin amaçlandığı gibi çalışmasını sağlayabilirler.