Primeros pasos
Copia un prompt de configuración con los pasos de instalación y la guía completa en markdown para este plugin.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-share-target`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/share-target/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
Instalar
Sección titulada “Instalación”Puedes usar nuestro setup asistido por IA para instalar el plugin. Añade las skills de Capgo a tu herramienta de IA con el siguiente comando:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsLuego usa el siguiente prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-share-target` plugin in my project.Si prefieres la configuración manual, instala el plugin ejecutando los siguientes comandos y sigue las instrucciones específicas para cada plataforma a continuación:
bun add @capgo/capacitor-share-targetbunx cap syncImportar
Sección titulada “Importar”import { CapacitorShareTarget } from '@capgo/capacitor-share-target';Escucha temprana (cold start)
Sección titulada “Escucha pronto (cold start)”Registrarse shareReceived tan pronto como arranque tu app, antes de redirigir a los usuarios a pantallas que consuman el contenido compartido. En iOS, la capa nativa retiene el evento hasta que JavaScript lo consume, lo que cubre los shares que llegan mientras el WebView aún se está iniciando.
import { CapacitorShareTarget } from '@capgo/capacitor-share-target';
const shareListener = await CapacitorShareTarget.addListener('shareReceived', (event) => { routeSharedPayload(event.title, event.texts, event.files);});
// When tearing down the handler:await shareListener.remove();Configurar appGroupId en capacitor.config y refleja el mismo App Group en tu Share Extension. Consulta el README del plugin en GitHub para ver el ejemplo de la extensión code.
Errores comunes
Sección titulada “Errores comunes”- Configuración nativa: los intents solo funcionan tras completar los pasos de manifest y Xcode del README.
- Arranque en frío: almacena shares en búfer hasta que tu router esté listo.
- URIs de archivos: copiar al almacenamiento de la app antes de subir; el acceso puede expirar.
Resumen de API
Sección titulada “Descripción general de API”addListener
Sección titulada “addListener”Escucha el evento shareReceived.
Registra un listener que se ejecutará cuando se comparta contenido con la aplicación desde otra app. El callback recibe los datos del evento, incluyendo título, textos y archivos.
import { CapacitorShareTarget } from '@capgo/capacitor-share-target';
const listener = await CapacitorShareTarget.addListener('shareReceived', (event) => { console.log('Title:', event.title); console.log('Texts:', event.texts); event.files?.forEach(file => { console.log(`File: ${file.name} (${file.mimeType})`); });});
// To remove the listener:await listener.remove();removeAllListeners
Sección titulada “removeAllListeners”Elimina todos los listeners de este plugin.
import { CapacitorShareTarget } from '@capgo/capacitor-share-target';
await CapacitorShareTarget.removeAllListeners();getPluginVersion
Sección titulada “getPluginVersion”Obtén la versión nativa del plugin Capacitor.
Devuelve la versión actual de la implementación del plugin nativo.
import { CapacitorShareTarget } from '@capgo/capacitor-share-target';
const { version} = await CapacitorShareTarget.getPluginVersion();console.log('Plugin version:', version);Referencia de tipos
Sección titulada “Referencia de tipos”ShareReceivedEvent
Sección titulada “ShareReceivedEvent”Datos del evento recibidos cuando se comparte contenido con la aplicación.
export interface ShareReceivedEvent { /** * The title of the shared content. * * @since 0.1.0 */ title: string;
/** * Array of text content shared to the application. * * @since 0.1.0 */ texts: string[];
/** * Array of files shared to the application. * * @since 0.2.0 */ files: SharedFile[];}SharedFile
Sección titulada “SharedFile”Representa un archivo compartido con la aplicación.
export interface SharedFile { /** * The URI of the shared file. On Android/iOS this will be a file path or data URL. * On web this will be a cached URL accessible via fetch. * * @since 0.1.0 */ uri: string;
/** * The name of the shared file, with or without extension. * * @since 0.1.0 */ name: string;
/** * The MIME type of the shared file. * * @since 0.1.0 */ mimeType: string;}Fuente de verdad
Sección titulada “Fuente de verdad”Esta página se genera a partir del src/definitions.ts. Vuelve a ejecutar el sync cuando el API público cambie en el upstream.
Continúa desde Primeros pasos
Sección titulada “Continúa desde Primeros pasos”Si estás usando Primeros pasos para planificar el dashboard y las operaciones de API, conéctalo con Uso de @capgo/capacitor-share-target para la capacidad nativa en Uso de @capgo/capacitor-share-target, Resumen de API para el detalle de implementación en Resumen de API Overview, Introducción para el detalle de implementación en Introducción, Claves de API para el detalle de implementación en Claves de API, y Dispositivos para el detalle de implementación en Dispositivos.