How to integrate classic App Shortcuts with Google Assistant through the new Capabilities API

Overview

Assistant Shortcuts (App Actions)

En este ejemplo, revisaremos el uso de los clásicos Shortcuts de Android repotenciados con Google Assistant, haciendo uso de los nuevos Capabilities API anunciados en el último Google I/O.

El proyecto está separado en ramas progresivas, de tal forma que puedes ir revisando las diferencias entre ellas cuando aprendas un nuevo concepto.

El orden sería:

  1. main : Rama base con un proyecto simple de 3 pantallas (Fragments) unidas con Jetpack Navigation.

    Jetpack Navigation: https://developer.android.com/guide/navigation

  2. ShortcutClassic : Rama donde implementamos Shortcuts, la tecnología de Android que permite "Accesos Directos" desde el launcher (desktop) de nuestro teléfono manteniendo presionado los iconos y desplegándolos.

    Shortcuts: https://developer.android.com/guide/topics/ui/shortcuts

  3. ShortcutCapabilities : Rama donde se integran los clásicos Shortcuts de Android y las acciones de voz App Actions con el nuevo Capabilities API anunciados en el reciente Google I/O 21.

    Capabilities: https://developer.android.com/guide/topics/ui/shortcuts/adding-capabilities

    App Actions: https://developers.google.com/assistant/app/overview

  4. CapabilitiesInAppPromo : Rama donde usaremos In-App Promo SDK para hacer sugerencias directamente en la aplicación del uso o llamado de un flujo específico con Google Assistant.

    In-App Promo SDK : https://developers.google.com/assistant/app/in-app-promo-sdk

  5. WidgetCapabilities : Rama donde haremos uso de Capabilities API para invocar Widgets de Android, directamente en nuestro Google Assistant.

Requerimientos

  • Android Studio 4.2.*
  • Android SDK 25 >
  • Kotlin 1.4.* >
  • Google Assistant Plugin for Android Studio (LINK)
  • Cuenta Google Play Developers (Sólo para lanzar un Internal Testing y Android pueda asociar el ID de la aplicación con el Google Assistant de tu teléfono||emulador.
  • Loguearse con la misma cuenta Gmail de la consola de Google Play Developers, en el teléfono||emulador y en Android Studio para que el plugin de Google Assistant funcione correctamente.

Disclaimer

  • El proyecto esta pensando para trabajar desde Android 7.1 (Nougat | Api 25) debido a que los Shortcuts son una tecnología que recién aparecieron en esta versión de Android y los nuevos Capabilities API trabajan con Shortcuts, sin embargo lo puedes instalar en dispositivos con Android 5 (Lollipop | Api 21) teniendo en cuenta que ni los Shortcuts ni los capabilities van a funcionar.
  • Para poder probar sea en un dispositivo o emulador, recuerda usar una misma cuenta de Gmail, tanto en Google Play Developers, en Android Studio y en tu teléfono.

Colaboración

  • Si tienes dudas o mejoras para el proyecto, no lo pienses y mándame un PR para poder revisarlo juntos.
  • ¿Preguntas acerca de una parte en específico?, me puedes encontrar en Twitter y mándame un DM a: @Tohure_

Screenshots

Menú


Listado


Soporte


Tiempo


Sugerencia


Shortcuts

You might also like...
New-SplashScreen-API - SplashScreen API Implementation Sample

SplashScreen API Implementation Sample Installation - Usage style name="Theme.A

This is a News Application for android mobiles, fetching news through Guardian API.
This is a News Application for android mobiles, fetching news through Guardian API.

News-In-Hand This is a NEWS FEED APP which gives a user regularly-updated news from the Internet. To achieve this, I use the Guardian API. This is a w

jtx Board allows you to manage your Journals (like meeting minutes), Notes and Tasks in one Android app. The app is compatible with the iCal standard (RFC5545) and is integrated with DAVx5 to allow the synchronisation of entries through CalDAV. A recipe app where user can search new recipes from an API
A recipe app where user can search new recipes from an API

Recipe -app This is a recipe app where user can search new recipes from an API, save them, create their own recipes and edit saved recipes. The app is

New version of my Android app that shows you popular movies using themoviedb.org API.
New version of my Android app that shows you popular movies using themoviedb.org API.

New version of my Android app that shows you popular movies using themoviedb.org API. Using Modern Android Develpment skills like Kotlin, Room, Retrofit, Hilt, coroutines, Flow and Jetpack Compose.

App to randomly translate word through different languages

App to randomly translate word through different languages

This document will walk you through the steps for creating your Android app that runs a deep learning image classification model trained in Pocket AutoML and exported in TensorFlow Lite format
This document will walk you through the steps for creating your Android app that runs a deep learning image classification model trained in Pocket AutoML and exported in TensorFlow Lite format

Pocket AutoML: Tutorial for Creating an Android App for Image Classification with Deep Learning Translations English (this document) Русский Overview

Movie Info - MovieInfo app that recieves popular movies and allow the user to search for specific movie through the restapi
Movie Info - MovieInfo app that recieves popular movies and allow the user to search for specific movie through the restapi

Movie_Info MovieInfo app that recieves popular movies and allow the user to sear

xCloud player for Google Chromecast with Google TV
xCloud player for Google Chromecast with Google TV

XCTV Player An awesome Microsoft xCloud player for Google Chromecast with Google

Comments
  • dos preguntas sobre el shortcut del asistente de google

    dos preguntas sobre el shortcut del asistente de google

    Hola, Gracias por su código fuente abierto que es como una luz en la oscuridad para mí. Siempre quiero usar el asistente de Google para controlar la función específica de mi aplicación, pero siempre falla... Luego seguí tu código, pero recibí un mensaje de error "If this is a development build, please make sure to update the preview of your app in App Actions Test Tool". Sería muy apreciado si usted puede responder a estas dos preguntas para mí.

    1. ¿Necesito cargar un archivo aab cada vez que modifico algún código para poder probar? o hay alguna manera de probar esto?
    2. Si sugiero un atajo con éxito, cómo manejar el shortcut para ejecutar la función específica en mi aplicación.

    Realmente no tengo mucha información en línea, así que muchas gracias...

    opened by TONYCHOU81905 1
Owner
Carlo Huamán
#Jesus is the way, the truth and the life | Dad, Android | AoG Developer & Cyclist
Carlo Huamán
Athena - an open source Google Assistant replacement

A free and open source replacement for Google Assistant on Android devices, meant to integrate with the Sapphire Framework. It contains both speech-to-text and text-to-speech services. It does not require Google services or network connectivity

Christopher Carroll 137 Nov 20, 2022
Example app for shortcuts

Android Shortcuts Example app for shortcuts in design library v25 Demo Manifest Add meta-data before </activity> tag in Manifest.xml <meta-data androi

Pamir Cevikogullari 334 Nov 29, 2022
Based on Android + NodeMCU platform to achieve object detection and tracking, AI capabilities come from Google MLKit.

Based on Android + NodeMCU platform to achieve object detection and tracking, AI capabilities come from Google MLKit.

null 1 Apr 4, 2022
Alan AI: In-app voice assistant SDK for Android

Alan AI: In-app voice assistant SDK for Android Alan Platform • Alan Studio • Docs • FAQ • Blog • Twitter Quickly add voice to your app with the Alan

Alan AI 1.3k Dec 31, 2022
Unofficial F-Droid client in the style of the classic one.

Foxy Droid Yet another F-Droid client. Description Unofficial F-Droid client in the style of the classic one. Jump over the lazy dog, manage repositor

null 355 Dec 26, 2022
Your personal pandemic assistant 📱

Your personal pandemic assistant ??

Prasoon Soni 14 May 16, 2021
An Android assistant for personal medication management

Calendula is an Android assistant for personal medication management, aimed at those who have trouble following their medication regimen, forget to take their drugs, or have complex schedules that are difficult to remember.

CiTIUS 191 Dec 21, 2022
An offline assistant for Android phones

The Sapphire Assistant Framework If you are looking for an Android assistant that is easy to use, flexible, and respects your privacy then look no fur

Christopher Carroll 286 Dec 28, 2022
This Android application demonstrates new splash screen API launched by Google last year.

This Android application demonstrates new splash screen API launched by Google last year.

Mohit Rajput 1 Feb 22, 2022
📲💬 react-native-fontext is a lightweight library to integrate fonts in your React Native application that works seamlessly in android and iOS devices.

React Native Fontext react-native-fontext is a lightweight library to integrate fonts in your React Native application that works seamlessly in androi

mroads 9 Dec 3, 2021