Android kısayolları, kullanıcıların hızlı bir şekilde yöntemleri kullanabilirsiniz. Asistan, Android dinamik kısayollarını şuradaki kullanıcılara proaktif olarak önerebilir: Böylece kullanıcılar, alakalı anlarda kolayca bulup tekrar oynatabilirler. ses özellikli işlevsellik.
Örneğin, bir kullanıcının
uygulamanız olabilir. Çok iyi gidiyorsunuz,
Google platformlarında gösterilmeye uygun dinamik bağlantılar (ör. Asistan,
projenize Google Kısayolları Entegrasyonu Jetpack kitaplığını ekleyerek.
Bu kitaplık, Asistan'ın
için bir Jetpack sarmalayıcı olan ShortcutManagerCompat
sınıfı
ShortcutManager
API.
Uygulamanızda Google Kısayolları Entegrasyonu kitaplığını kullandığınızda,
Google'a aktardığınız kısayollar, kullanıcılar tarafından sesli kısayol önerileri olarak görülebilir
açın. Şuraya sınırsız sayıda dinamik kısayol aktarabilirsiniz:
Şu cihazın pushDynamicShortcut()
yöntemini kullanan Asistan
ShortcutManagerCompat
kitaplığı.
Geliştirme projenizi yapılandırma
Uygulamanıza dinamik kısayollar işlevi eklemek için Android Jetpack kitaplığı olan Google Kısayolları Entegrasyonu kitaplığı. Bu bölümde, uygulama geliştirme projenizi aşağıdakileri içerecek şekilde nasıl yapılandıracağınız açıklanmaktadır: bu kitaplıktan faydalanabilirsiniz.
Bu Jetpack kitaplığını eklemek ve projenizi yapılandırmak için şu adımları izleyin:
gradle.properties
dosyanızı Jetpack kitaplıklarını kullanacak şekilde güncelleyin:gradle.properties
android.useAndroidX=true # Automatically convert third-party libraries to use AndroidX android.enableJetifier=true
Jetpack kitaplığı bağımlılıklarını
build.gradle
dosyanıza ekleyin:app/build.gradle
dependencies { implementation "androidx.core:core:1.6.0" implementation "androidx.core:core-google-shortcuts:1.0.1" ... }
Önceki örnek kodda iki Jetpack kitaplığını aşağıdaki gibi ve bildirmeyi konuştuk.
androidx.core:core:1.6.0
kitaplığı şunu içerir: Dinamik kısayolları aktarmak için kullandığınızShortcutManagerCompat
sınıfı Google'a dokunun.androidx.core:core-google-shortcuts:1.0.1
, Google'ın Kısayollar Entegrasyonu kitaplığı. Bu kitaplıkta geliştiricilere yönelik API bulunmuyor. Bu sınıfı bağımlı olarak ekleyerek Asistan'ınShortcutManagerCompat
sınıfını kullanarak gönderdiğiniz dinamik kısayolları almasını sağlarsınız.
Push dinamik kısayolları
Asistan'da gösterilmeye uygun dinamik kısayolları aktarmak için:
önce ShortcutInfoCompat.Builder()
tuşunu kullanarak kısayolu oluşturursunuz
sınıfını kullanır.
Ardından kısayolu kullanarak
ShortcutManagerCompat.pushDynamicShortcut()
yöntemini çağırın. Kullanıcılar uygulamanızda alakalı bir işlem tamamladığında kısayollar yayınlanır. Aşağıdaki örnek kod, kullanıcı notlar ve listeler uygulamasında her liste oluşturduğunda bir kısayol yayınlar.
ÖrnekSipariş Etkinliği
Kotlin
// Define the dynamic shortcut for an item var intent = Intent(context, DisplayOrderActivity::class.java) intent.action = Intent.ACTION_VIEW var shortcutInfo = ShortcutInfoCompat.Builder(context, id) .setShortLabel("Running") .setLongLabel("Start running") .addCapabilityBinding( "actions.intent.CREATE_ITEM_LIST", "itemList.name", Arrays.asList("My First List") ) .setIntent(intent) // Push the shortcut .build() // Push the shortcut ShortcutManagerCompat.pushDynamicShortcut(context, shortcutInfo)
Java
// Define the dynamic shortcut for an item Intent intent = new Intent(context, DisplayOrderActivity.class); intent.setAction(Intent.ACTION_VIEW); ShortcutInfoCompat.Builder shortcutInfo = new ShortcutInfoCompat.Builder(context, id) .setShortLabel("Running") .setLongLabel("Start running") .addCapabilityBinding( "actions.intent.CREATE_ITEM_LIST", "itemList.name", Arrays.asList("My First List")) .setIntent(intent) .build(); // Push the shortcut ShortcutManagerCompat.pushDynamicShortcut(context, shortcutInfo);
Yukarıdaki ShortcutInfoCompat.Builder
yönteminde referans verilen id
örnek kod, sonuç olarak elde edilen kısayol nesnesinin shortcutId
öğesini tanımlar. Bu id
benzersiz bir değişmez dize değeri olmalıdır. Ayrıntılar için Android kısayolları belgelerine bakın.
Yukarıdaki örnekte addCapabilityBinding
yöntemi,
içinde tanımlanmış aynı android:name
öğesinin capability
kısayolu
shortcuts.xml
. Bu yöntem, kısayolu bir
anlamsal yerleşik intent (BII) parametresi.
Dinamik kısayollar bazen belirli bir BII parametresi olmadan aktarılır
ilişkilendirmesine yardımcı olur. Asistan, kullanıcı tarafından çağrıldığında, tanımlanan intent
öğesini tetikler
tuşuna basarak işlemi tamamlayabilirsiniz. Aşağıdaki örnekte, parametre ilişkilendirmesi olmayan dinamik bir kısayol gösterilmektedir:
Kotlin
var intent: Intent = Intent(context, DisplayOrderActivity::class.java) intent.setPackage(this, "com.sample.app") intent.setAction(Intent.ACTION_VIEW) var shortcutInfo: ShortcutInfoCompat = ShortcutInfoCompat.Builder(context, id) .setShortLabel("Create a list") .setLongLabel("Create a list") .addCapabilityBinding("actions.intent.CREATE_ITEM_LIST") .setIntent(intent) .build() ShortcutManagerCompat.pushDynamicShortcut(context, shortcutInfo);
Java
Intent intent = new Intent(context, DisplayOrderActivity.class); intent.setPackage(this, "com.sample.app"); intent.setAction(Intent.ACTION_VIEW); ShortcutInfoCompat shortcutInfo = new ShortcutInfoCompat.Builder(context, id) .setShortLabel("Create a list") .setLongLabel("Create a list") .addCapabilityBinding("actions.intent.CREATE_ITEM_LIST") .setIntent(intent) .build(); ShortcutManagerCompat.pushDynamicShortcut(context, shortcutInfo);
Dinamik kısayolları Asistan'la test edin
Google Asistan, bu kısayol, Asistan Android uygulaması. Asistan uygulaması en son kısayolları önerir aktarılmıştır.
Dinamik kısayollarınızı Asistan'la test etmek için şu adımları uygulayın:
- Uygulama İşlemlerinizin bir önizlemesini oluşturun ve test cihazınızı hazırlayın veya emülatörü kullanarak aynı yolu izleyerek Google Asistan Eklentisi ile ilgili kurulum şartlarına bakın.
- Uygulamanızı açın ve aktarmak için dinamik bir kısayol tanımlayın. Ardından bir işlem tamamlayın. Örneğin, not alma uygulamanızda oluşturulur, ardından yeni bir not oluşturun.
- Cihazınızdaki Asistan Ayarları uygulamasında Kısayollar'ı açın. Sizin dinamik kısayol uygulamanızın listesinde görünür.