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 estos comandos y sigue las instrucciones de cada plataforma:
bun add @capgo/capacitor-share-targetbunx cap syncImportar
Sección titulada “Importar”import { CapacitorShareTarget } from '@capgo/capacitor-share-target';Escuchar temprano (arranque en frío)
Sección titulada “Escuchar temprano (arranque en frío)”Registrarse shareReceived en cuanto tu app se inicie, antes de dirigir a los usuarios a pantallas que consuman contenido compartido. En iOS, la capa nativa retiene el evento hasta que JavaScript lo consume, lo que cubre los compartidos que llegan mientras el WebView aún está iniciándose.
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 espeja el mismo App Group en tu Share Extension. Consulta el README del plugin en GitHub para ver un ejemplo de code de la extensión.
Errores comunes
Sección titulada “Errores comunes”- Configuración nativa: los intents solo funcionan tras los pasos de manifest y Xcode del README.
- Arranque en frío: bufferiza las comparticiones hasta que tu router esté listo.
- URIs de archivo: copia al almacenamiento de la app antes del upload; acceso puede caducar.
Resumen de API
Sección titulada “Resumen de API”addListener
Sección titulada “addListener”Escucha el evento shareReceived.
Registra un listener que se llamará cuando se comparta contenido con la aplicación desde otra app. El callback recibe los datos del evento que contienen 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 del plugin nativo 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 plugin src/definitions.ts. Vuelve a ejecutar el sync cuando el API público cambie en upstream.
Continúa desde Getting Started
Sección titulada “Continúa desde Primeros pasos”Si estás usando Primeros pasos para planificar las operaciones del dashboard y 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 los detalles de implementación en API Overview, Introducción para los detalles de implementación en la Introducción, Claves de API para los detalles de implementación en las claves de API, y Dispositivos para el detalle de implementación en Devices.