Saltar al contenido principal
@capgo/capacitor-app-intents UI y Sistema Código abierto

App Intents plugin Capacitor

Lanza frases de Siri, Shortcuts, Spotlight, accesos directos de la pantalla de inicio y catálogos de App Intents desde Capacitor sin tener que reconstruir tu capa web para cada acción

Instalar

bun add @capgo/capacitor-app-intents bunx cap sync
npm, pnpm o yarn
  • npm install @capgo/capacitor-app-intents
  • pnpm add @capgo/capacitor-app-intents
  • yarn add @capgo/capacitor-app-intents

Guía

Cómo usar App Intents en Capacitor

Usando @capgo/capacitor-app-intents

Interfaz del plugin App Intents de Capgo.

Instalar

bun add @capgo/capacitor-app-intents
bunx cap sync

bunx cap sync copia el code nativo del plugin en tus proyectos nativos. Ejecútalo de nuevo tras cada actualización del plugin.

Importar

import { CapgoAppIntents } from '@capgo/capacitor-app-intents';

API de un vistazo

Método Descripción
getPendingInvocations Devuelve las invocaciones en cola antes de que JavaScript estuviera listo.
removePendingInvocation Elimina una invocación pendiente después de que tu handler la procese.
setEntityCatalog Persiste un catálogo de entidades para un string de tipo dado.
setHomeScreenShortcutItems Reemplaza las acciones rápidas de la pantalla de inicio (UIApplicationShortcutItems).
indexSpotlightEntities Indexa elementos de Spotlight para el dominio de tu app.
removeSpotlightEntities Elimina elementos de Spotlight por id.
performAppleSchemaTemplate Encola un handler de JavaScript para una plantilla de esquema de Apple en fase alpha.

Ejemplos

getPendingInvocations()

Devuelve las invocaciones en cola antes de que JavaScript estuviera listo.

import { CapgoAppIntents } from '@capgo/capacitor-app-intents';

const result = await CapgoAppIntents.getPendingInvocations();
console.log(result);

removePendingInvocation()

Elimina una invocación pendiente después de que tu handler la procese.

import { CapgoAppIntents } from '@capgo/capacitor-app-intents';

await CapgoAppIntents.removePendingInvocation({ id: 'id-123' });

setEntityCatalog()

Persiste un catálogo de entidades para un string de tipo dado.

import { CapgoAppIntents } from '@capgo/capacitor-app-intents';

await CapgoAppIntents.setEntityCatalog({
  type: 'type',
  entries: [
    {
      id: 'id-123',
      title: 'Hello from Capacitor',
    },
  ],
});

setHomeScreenShortcutItems()

Reemplaza las acciones rápidas de la pantalla de inicio (UIApplicationShortcutItems).

import { CapgoAppIntents } from '@capgo/capacitor-app-intents';

await CapgoAppIntents.setHomeScreenShortcutItems({
  items: [
    {
      type: 'type',
      title: 'Hello from Capacitor',
    },
  ],
});

indexSpotlightEntities()

Indexa elementos de Spotlight para el dominio de tu app.

import { CapgoAppIntents } from '@capgo/capacitor-app-intents';

await CapgoAppIntents.indexSpotlightEntities({
  entities: [
    {
      id: 'id-123',
      title: 'Hello from Capacitor',
      actionName: 'action',
    },
  ],
});

removeSpotlightEntities()

Elimina elementos de Spotlight por id.

import { CapgoAppIntents } from '@capgo/capacitor-app-intents';

await CapgoAppIntents.removeSpotlightEntities({ ids: ['ids'] });

La tabla anterior enumera los 7 métodos principales. Los helpers de versión y listeners, así como el contrato completo de cada método, están documentados en la repositorio GitHub.

Escuchar eventos

addListener devuelve un handle. Llama handle.remove() cuando la pantalla se desmonte, o CapgoAppIntents.removeAllListeners() para limpiar todos los listeners.

Referencia completa

FAQ

Preguntas frecuentes del plugin App Intents

¿Cómo instalo el plugin App Intents en una app Capacitor?

Ejecuta "bun add @capgo/capacitor-app-intents" (o "npm install @capgo/capacitor-app-intents") y luego "bunx cap sync" para que los proyectos de iOS y Android reconozcan el code nativo. Impórtalo desde "@capgo/capacitor-app-intents" en el code de tu app.

¿Es compatible @capgo/capacitor-app-intents con React, Vue y Angular?

Sí. App Intents es un paquete Capacitor, así que funciona con cualquier framework web que corra dentro de Capacitor, incluidos Ionic, React, Vue, Angular, Svelte y JavaScript puro.

¿Qué versión de Capacitor es compatible con @capgo/capacitor-app-intents?

Los plugins de Capgo siguen la versión mayor de Capacitor: usa la versión mayor del plugin que coincida con la versión mayor de tu Capacitor (por ejemplo, el plugin v8 con Capacitor 8). La tabla de compatibilidad del README de GitHub lista las versiones mantenidas.

¿Es @capgo/capacitor-app-intents gratuito y de código abierto?

Sí. El código fuente de code es público en GitHub en https://github.com/Cap-go/capacitor-app-intents/ y el paquete se instala gratis desde npm. Los reportes de bugs y pull requests son bienvenidos.

¿Puedo actualizar code que usa App Intents sin pasar por la revisión de la App Store?

Instalar o actualizar el plugin cambia el code nativo, así que requiere un nuevo build para la tienda. Después, los cambios de JavaScript, HTML y CSS que llamen al plugin se pueden publicar al instante con las live updates de Capgo.

Publica cambios de App Intents sin esperar la revisión de la app

Una vez que el plugin esté en tu store build, Capgo live updates envía tus cambios de JavaScript, HTML y CSS a los usuarios en minutos.

Empieza con Capgo