Kısayol oluşturduktan sonra, bu kısayolların kullanım süresi boyunca en iyi şekilde yararlanabilirsiniz. Örneğin, reklamlarınızın nasıl performans gösterdiğini belirleyip Kullanıcıların kısayollarınızı kullanarak belirli işlemleri tamamlaması sık karşılaşılan bir durumdur. Başka bir örnekte, uygulamanızın belirli bir zamanda işlem yapmasını önlemek için güncel olmayan veya eksik işlemler yapıyor. Şurada referans verilen kısayollar için: kullanıma sunuyorsanız, kullanıcılarınızın dönüşüm gerçekleştirmelerini sağlayan sinyaller kısayol sıralamasıdır.
Bu sayfada, hesabınızı yönetmenin bu ve diğer birkaç yolu açıklanmaktadır. kısayollar.
Kısayol davranışı
Aşağıdaki bölümler, kısayol davranışı hakkında genel bilgiler içerir: görünürlük, gösterilme sırası ve sıralama gibi.
Kısayol görünürlüğü
Statik kısayollar ve dinamik kısayollar, desteklenen bir başlatıcıda veya Asistan belirli bir hareket veya sesli komut gerçekleştirdiğinde Asistan'ı kullanabilir. Şu tarihte: desteklenen başlatıcılar, hareket bir dokunma ve uygulamanın başlatıcı simgesini basılı tutun ancak hareket, diğer başlatıcı uygulamalarında farklı olabilir. Google ile Asistan, kısayollar Asistan'da görüntülenebilir veya bir kullanıcı tarafından başlatılabilir sesli komut.
LauncherApps
sınıfı, başlatıcı uygulamaların erişmesi için API'ler sağlar
kısayollar.
Sabitlenen kısayollar başlatıcıda göründüğünden, her zaman görünür durumdadır. Sabitlenmiş bir kısayol yalnızca aşağıdaki durumlarda başlatıcıdan kaldırılır:
- Kullanıcı bu dosyayı kaldırır.
- Kısayolla ilişkili uygulama kaldırılır.
- Kullanıcı Ayarlar > Uygulamalar ve bildirimler uygulamayı seçin, ardından Depolama > Depolama alanını temizleyin.
Hedefleri paylaşma Android paylaşım sayfası.
![Android Sharesheet'in ekran görüntüsü](https://developer.android.com/static/images/guide/topics/ui/shortcuts/sharesheet.png?hl=tr)
Kısayol görüntüleme sırası
Başlatıcı bir uygulamanın kısayollarını görüntülediğinde, bunların şurada görünmesi gerekir: sipariş:
- Statik kısayollar:
isDeclaredInManifest()
yöntemi olan kısayollartrue
değerini döndürür. - Dinamik kısayollar:
ShortcutInfo.isDynamic()
olan kısayollar yöntemitrue
değerini döndürür.
Her kısayol türünde (statik ve dinamik) kısayollar şuna göre sıralanır:
sıralama ShortcutInfo.getRank
'a göre artıyor. Google Asistan
içerik kısayollarını belirlerken kısayol sırasında da
yardımcı olur.
Sıralamalar negatif olmayan, sıralı tam sayılardır. Statik kısayollar şuradan sıralanır:
shortcuts.xml
dosyanızda göründükleri sırayla birinciden sonuncuya doğru yazın. Dinamik reklamlar için
tuşlarına basarak, bir çağrı yaptığınızda mevcut kısayolların
updateShortcuts(Context, List)
addDynamicShortcuts(Context, List)
,
pushDynamicShortcut(Context, ShortcutInfoCompat)
veya
setDynamicShortcuts(Context, List)
Paylaşım hedeflerinin sırası, geçmiş kullanıcılar da dahil olmak üzere çeşitli faktörlere bağlıdır
geçmiş, yenilik, sıklık,
sıralama ipucu,
kullanımıyla ilişkili görüşmede ayarlanan önceliği,
paylaşma kısayolu.
Paylaşım Kısayolları API'si
Google Analytics 4'te oluşturulan paylaşım hedeflerine
ChooserTargetService
Bu özellik Android 11'de kullanımdan kaldırıldı. Android 12 ve sonraki sürümlerde paylaşım hedefleri
desteği sonlandırılan ChooserTargetService
tarafından oluşturulan artık
paylaşım sayfasını ziyaret edin.
Çoğu başlatıcıda en fazla dört kısayol gösterilir. Aşağıdakilerin herhangi bir kombinasyonu için önceden tanımlanmış statik kısayollar ve dinamik kısayollar varsa başlatıcıda en fazla iki statik kısayol ve iki dinamik kısayol. Örneğin, dört statik kısayol tanımlayın ve programlı olarak üç dinamik kısayol oluşturun Başlatıcı, ilk iki statik kısayolu ve en üst düzey dinamik kısayollardır.
Birden fazla niyeti ve etkinliği yönetin
Kullanıcınız bir öğeyi etkinleştirdiğinde uygulamanızın birden fazla işlem gerçekleştirmesini bu kısayolu, ardışık etkinlikleri tetikleyecek şekilde yapılandırabilirsiniz. Şunları yapabilirsiniz: birden fazla amaç atayarak, bir aktiviteyi başlatmadan önce veya kısayolun türüne bağlı olarak intent işaretleri ayarlamak.
Birden çok amaç ata
ShortcutInfoCompat.Builder
ile kısayol oluştururken şunları kullanabilirsiniz:
setIntent()
yerine setIntents()
. setIntents()
numaralı telefonu arayarak
kullanıcı bir kısayol seçtiğinde uygulamanızda birden fazla etkinlik başlatabilir,
listedeki son etkinlik dışındaki her şeyi arka grupa yerleştirerek. Öğe
Kullanıcı, cihazın geri düğmesine dokunduğunda uygulamanızda başka bir etkinlik görüyorsa
geri dönmek yerine.
Başka bir etkinlik başlatma
Statik kısayolların özel amaç işaretleri olamaz. Bir statik
kısayol her zaman Intent.FLAG_ACTIVITY_NEW_TASK
ve
Intent.FLAG_ACTIVITY_CLEAR_TASK
set. Bu nedenle, uygulamanız
çalışırken, uygulamadaki mevcut tüm etkinlikler kaldırılır.
kısayol başlatılır. Bu davranışı istemiyorsanız trampolin kullanabilirsiniz.
etkinlik - başka bir etkinlik başlatan görünmez bir etkinlik
Activity.onCreate(Bundle)
şu içinActivity.finish()
:
AndroidManifest.xml
dosyasına özellik atamasını ekleyinandroid:taskAffinity=
inç ilkesine göre hareket eder.- Kısayollar kaynak dosyasında, inceleyebilirsiniz.
Trambolin etkinlikleri hakkında daha fazla bilgi için Bir aktivite başlatma başlıklı makaleye bakın. başka bir kanaldan seçim yapın.
Amaç işaretleri ayarla
Dinamik kısayolları herhangi bir Intent
işareti grubuyla yayınlayabilirsiniz.
Tercihen, diğerIntent.FLAG_ACTIVITY_CLEAR_TASK
işaretidir. Aksi halde, uygulamanız açıkken başka bir görev başlatmaya çalışırsanız
hedef etkinlik görünmeyebilir.
Görevler ve amaç işaretleri hakkında daha fazla bilgi edinmek için Görevler ve geri yığını başlıklı makaleye göz atın.
Kısayolları güncelleme
Her uygulamanın başlatıcı simgesi en fazla bir dizi statik ve dinamik içerebilir
ve tüm kısayolların toplamına eşittir.
getMaxShortcutCountPerActivity
. Herhangi bir
uygulamanın oluşturabileceği sabitlenmiş kısayollar.
Bir dinamik kısayol sabitlendiğinde, yayıncı tarafından kaldırılsa bile
bir dinamik kısayolu ile, sabitlenen kısayol görünür ve başlatılabilir halde kalır. Bu şekilde
bir uygulamanın getMaxShortcutCountPerActivity()
taneden fazla kısayolu var.
Aşağıdaki örneğe bakın. Bu örnekte,
getMaxShortcutCountPerActivity()
4
:
- Bir sohbet uygulaması, kullanıcı deneyimi için en önemli dört kısayolu temsil eden dört dinamik kısayol yayınlıyor. son ileti dizileri: c1, c2, c3 ve c4.
- Kullanıcı bu kısayolların dördünü de sabitler.
- Daha sonra kullanıcı üç sohbet daha başlatır: c5, c6 ve c7. İlgili içeriği oluşturmak için kullanılan yayıncı uygulaması dinamik kısayollarını yeniden yayınlar. Yeni dinamik kısayol c4, c5, c6 ve c7 şeklindedir.
Uygulama, dörtten fazla gösteremediğinden c1, c2 ve c3'ü kaldırmalıdır dinamik kısayollar. Ancak c1, c2 ve c3 yine de erişebilir ve başlatabilir.
Böylece kullanıcı, dizindeki etkinliklere bağlantı veren toplam yedi kısayola erişebilir. yayıncı uygulaması. Bunun nedeni, toplamın maksimum sayıda kısayol ve sabitlenmiş üç kısayol.
- Uygulama,
updateShortcuts(Context, List)
kullanarak mevcut yedi kısayol. Örneğin, bu kısayol grubunu güncelleyebilirsiniz. sohbet edenler veya simge değişir. addDynamicShortcuts(Context, List)
ve Mevcut kısayolları güncellemek içinsetDynamicShortcuts(Context, List)
yöntem aynı kimliklere sahip olmalıdır. Ancak, bunları dinamik olmayan, çünkü bu iki yöntem belirli bir dizi görevi her zaman kısayolları da gösterilir.
Şu cihazlarda görüntülenmek üzere aktarılabilecek kısayol sayısı için bir sınırlama yoktur:
Google Asistan gibi asistan uygulamaları. pushDynamicShortcut()
'ı kullanma
ShortcutManagerCompat
Jetpack kitaplığının oluşturma ve güncelleme yöntemi
Asistan uygulamalarında kullanılacak
kısayollar var. Ayrıca, Google Kısayolları Entegrasyonunu da ekleyin
kitaplığını uygulamanıza ekleyebilirsiniz
Asistan
Kısayolları güncelleme de dahil olmak üzere uygulama kısayollarıyla ilgili yönergeler hakkında daha fazla bilgi edinmek için Kısayollarla ilgili en iyi uygulamalar başlıklı makaleyi inceleyin.
Sistem yerel ayarı değişikliklerini işleme
Uygulamalar, bildirim aldıklarında dinamik ve sabitlenmiş kısayolları güncellemelidir:
Sistemde yapılan bir değişikliği gösteren Intent.ACTION_LOCALE_CHANGED
yayını
yerel ayar.
Kısayol kullanımını izleme
Statik ve dinamik kısayolların gösterileceği durumları belirlemek için
başlatıcı, kısayolların etkinleştirme geçmişini inceler. Statik kısayollar için
kullanıcıların uygulamanızda belirli işlemleri ne zaman tamamladığını takip etmek için
reportShortcutUsed()
yöntemini çağırmak ve buna bir
kısayolu ile oluşturabilirsiniz:
- Kullanıcı, verilen kimliğe sahip kısayolu seçer.
- Uygulama içinde kullanıcı, aynı kısayol kullanılır.
Uygulamanız,
pushDynamicShortcut()
yöntemini kullanmak ve
ilgili olay olduğunda Dinamik kısayol kullanımını bu yöntemle aktarmak
Google Asistan gibi asistan uygulamaları, kullanıcılara alakalı kısayollar önerir.
pushDynamicShortcut()
yöntemi çağrıldığında kullanımı raporladığı için çağrı yapmayın
aynı kısayollar için reportShortcutUsed()
yöntemini kullanın.
İleti dizisiyle ilgili kısayollar için, giden iletilerin kullanımını izlemek önemlidir ve gelen iletiler için de geçerlidir. Ayrıntılı bilgi için kullanıcılar ve destek kaynakları için en iyi uygulamaları yardımcı olur.
Kısayolları devre dışı bırak
Uygulamanız ve kullanıcıları, kısayolları cihaz başlatıcısına sabitleyebildiğinden
Sabitlenen bu kısayolların kullanıcıları uygulamanızdaki işlemlere yönlendirmesini
bilgileri güncel tutmasına yardımcı olur. Bu durumu yönetmek için:
kullanıcıların
disableShortcuts
: Belirtilen kısayolları statik klasörden kaldırır.
ve dinamik kısayollar listesine eklenir ve bu kısayolların sabitlenmiş kopyalarını devre dışı bırakır. Siz
yöntemini kabul eden aşırı yüklenmiş bir sürümünü de kullanabilir.
Özel hata mesajı olarak CharSequence
. Bu hata mesajı,
kullanıcılar devre dışı bırakılmış herhangi bir kısayolu başlatmayı denediğinde.
Hız sınırlaması
setDynamicShortcuts(), addDynamicShortcuts()
veya
updateShortcuts()
yöntemleri varsa bu yöntemleri yalnızca
arka plan uygulamasında belirli bir sayıda etkinlik
olmadığı veya hiç etkinlik içermeyen
sahip olması gerekir. Yapabileceğiniz işlem sayısı,
bu yöntemlere hız sınırlaması denir. Bu özellik,
ShortcutManagerCompat
, cihaz kaynaklarının aşırı kullanılmasından kaynaklanıyor.
Hız sınırlaması etkin olduğunda isRateLimitingActive()
, doğru değerini döndürür.
Ancak hız sınırlaması belirli etkinlikler sırasında sıfırlanır. Dolayısıyla, arka plan uygulamaları bile
oran sınırına tekrar ulaşılıncaya kadar ShortcutManager
yöntemlerini çağırabilir. Bu
etkinlikler aşağıdakileri içerir:
- Bir uygulama ön plana çıkar.
- Sistem yerel ayarı değişir.
- Kullanıcı, bir bildirimde satır içi yanıt işlemini gerçekleştirir.
Geliştirme veya test sırasında hız sınırlamasıyla karşılaşırsanız
Geliştirici Seçenekleri > Kısayolların cihazından hız sınırlamasını<br> sıfırlayın
Ayarları'nı tıklayın veya adb
sayfasına şu komutu girin:
$ adb shell cmd shortcut reset-throttling [ --user your-user-id ]
Yedekleme ve geri yükleme
Aşağıdaki durumlarda kullanıcıların uygulamanızda yedekleme ve geri yükleme işlemleri yapmasına izin verebilirsiniz:
android:allowBackup="true
dahil ederek cihazları değiştiriyoruz" ilişkilendirmek
atamasıyla ilgili verileri inceleyin. Yedekleme ve geri yükleme özelliğini destekliyorsanız
uygulama kısayolları hakkında şu noktalara dikkat edin:
- Statik kısayollar, yalnızca kullanıcıdan sonra otomatik olarak yeniden yayınlanır. Uygulamanızı yeni bir cihaza yeniden yükler.
- Dinamik kısayollar yedeklenmediğinden yeniden yayınlamak için uygulamanıza mantık ekleyin Kullanıcı uygulamanızı yeni bir cihazda açtığında
- Sabitlenen kısayollar cihaz başlatıcısına otomatik olarak geri yüklenir ancak sistem, sabitlenmiş kısayollarla ilişkili simgeleri yedeklemez. Bu nedenle, sabitlenmiş kısayollarınız kolayca geri yükleyebilirsiniz. emin olun.
Aşağıdaki kod snippet'i, uygulamanızın dinamik verilerini en iyi nasıl geri yükleyeceğinizi kısayolları ve uygulamanıza ait sabitlenmiş kısayollarının korunup korunmadığını kontrol etme:
Kotlin
class MyMainActivity : Activity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) if (ShortcutManagerCompat.dynamicShortcuts.size == 0) { // Application restored. Re-publish dynamic shortcuts. if (ShortcutManagerCompat.pinnedShortcuts.size > 0) { // Pinned shortcuts are restored. Use updateShortcuts() to make // sure they contain up-to-date information. } } } // ... }
Java
public class MainActivity extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (ShortcutManagerCompat.getDynamicShortcuts().size() == 0) { // Application restored. Re-publish dynamic shortcuts. if (ShortcutManagerCompat.getPinnedShortcuts().size() > 0) { // Pinned shortcuts are restored. Use pdateShortcuts() to make // sure they contain up-to-date information. } } } // ... }