Android ショートカットを使用すると、ユーザーはアプリ内でアクションを実行したりコンテンツにアクセスしたりするための簡単な方法を利用できます。アシスタントは、関連性の高いタイミングで事前にユーザーに Android 動的ショートカットを提示できるので、ユーザーが音声対応機能を簡単に見つけてリプレイできます。
たとえば、ユーザーがメモアプリで作成したメモごとにショートカットをプッシュできます。プロジェクトに Google Shortcuts Integration Jetpack ライブラリを追加すると、ダイナミック リンクをアシスタントなどの Google サーフェスに表示できるようになります。このライブラリを使用すると、
ShortcutManagerCompat
クラス:
ShortcutManager
API。
アプリで Google Shortcuts Integration ライブラリを使用する場合、
Google にプッシュしたショートカットは、音声ショートカットの候補としてユーザーに表示されます
。動的ショートカットをいくつでもプッシュできる
Google Cloud の pushDynamicShortcut()
メソッドを使用するアシスタント
ShortcutManagerCompat
ライブラリ。
開発プロジェクトを構成する
動的ショートカット機能をアプリに追加するには、 Google Shortcuts Integration ライブラリ(Android Jetpack ライブラリです)。 このセクションでは、アプリ開発プロジェクトを次のように構成する方法について説明します。 使用できます。
この Jetpack ライブラリを追加してプロジェクトを構成する手順は次のとおりです。
Jetpack ライブラリを処理するように、
gradle.properties
ファイルを更新します。gradle.properties
android.useAndroidX=true # Automatically convert third-party libraries to use AndroidX android.enableJetifier=true
Jetpack ライブラリの依存関係を
build.gradle
に追加します。app/build.gradle
dependencies { implementation "androidx.core:core:1.6.0" implementation "androidx.core:core-google-shortcuts:1.0.1" ... }
上記のサンプルコードでは、依存関係として 2 つの Jetpack ライブラリをリストしています。
androidx.core:core:1.6.0
ライブラリには、ShortcutManagerCompat
クラス: 動的ショートカットを Googleandroidx.core:core-google-shortcuts:1.0.1
は、Google Shortcuts Integration Library です。このライブラリには、デベロッパー向けの API は含まれていません。依存関係として追加することで、アシスタントはShortcutManagerCompat
クラスを使用してプッシュする動的ショートカット。
動的ショートカットをプッシュする
アシスタントに表示可能な動的ショートカットをプッシュするには、次の操作を行います。
まず、ShortcutInfoCompat.Builder()
を使用してショートカットを作成します。
クラスです。
ショートカットをプッシュするには、
ShortcutManagerCompat.pushDynamicShortcut()
メソッドを使用します。ショートカットがプッシュされます
ユーザーがアプリ内で関連するアクションを完了するたびに次のサンプル
ユーザーがメモとリストアプリでリストを作成するたびに、コードからショートカットがプッシュされる。
ExampleOrderActivity
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);
上記のサンプルコードの ShortcutInfoCompat.Builder
メソッドで参照される id
は、生成されるショートカット オブジェクトの shortcutId
を定義しています。このid
一意の文字列リテラルにする必要があります。詳しくは、Android ショートカットのドキュメントをご覧ください。
上記の例では、addCapabilityBinding
メソッドにより、shortcuts.xml
で定義された同じ android:name
の capability
に動的ショートカットがバインドされています。この方法では、ショートカットを
セマンティック 組み込みインテント(BII)パラメータ。
特定の BII パラメータなしで動的ショートカットがプッシュされることがある
関連付けられていますユーザーがアシスタントを呼び出すと、アシスタントはショートカットに定義された intent
をトリガーして、アクションを遂行します。次の例は、パラメータへの関連付けのない動的ショートカットを示しています。
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);
アシスタントで動的ショートカットをテストする
Google アシスタントがアプリから動的ショートカットを正常に取り込むと、そのショートカットは、アシスタント Android アプリに音声ショートカット候補として表示できるようになります。アシスタント アプリは、アプリによってプッシュされた最新のショートカットを提示します。
アシスタントで動的ショートカットをテストする手順は次のとおりです。
- App Actions のプレビューを作成し、テストデバイスを準備するか、 エミュレータを使用して、同じ手順に沿ってアクションをテストします。 Google アシスタント プラグインと同じセットアップ要件があります。
- アプリを開き、プッシュする動的ショートカットを定義します。操作を完了します。 たとえば、メモ作成アプリでメモを作成するたびにショートカットをプッシュする場合は、新しいメモを作成します。
- デバイスのアシスタント設定アプリで、ショートカットを開きます。お客様の アプリのリストに動的ショートカットが表示されます。