Premiers pas
Copiez un prompt de configuration avec les étapes d'installation et le guide markdown complet pour ce 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.
Installer
Section intitulée « Installation »Vous pouvez utiliser notre configuration assistée par IA pour installer le plugin. Ajoutez les skills Capgo à votre outil d'IA avec la commande suivante :
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsUtilisez ensuite le prompt suivant :
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-share-target` plugin in my project.Si vous préférez la configuration manuelle, installez le plugin avec les commandes suivantes, puis suivez les instructions spécifiques à chaque plateforme ci-dessous :
bun add @capgo/capacitor-share-targetbunx cap syncImporter
Section intitulée « Import »import { CapacitorShareTarget } from '@capgo/capacitor-share-target';Écouter tôt (cold start)
Section intitulée « Écouter tôt (cold start) »S'inscrire shareReceived dès le démarrage de votre application, avant de diriger les utilisateurs vers les écrans qui consomment le contenu partagé. Sur iOS, la couche native conserve l'événement jusqu'à ce que le JavaScript le consomme, ce qui permet de gérer les partages arrivant pendant que la WebView est encore en cours de démarrage.
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();Configurer appGroupId dans capacitor.config et utilisez le même App Group dans votre Share Extension. Consultez le README du plugin sur GitHub pour un exemple d'extension code.
Erreurs courantes
Section intitulée « Pièges courants »- Configuration native: les intents ne fonctionnent qu'après les étapes du README concernant le manifest et Xcode.
- Démarrage à froid: buffer shares until your router is ready.
- URI de fichiers: copier dans le stockage de l'app avant l'upload, l'accès peut expirer.
Aperçu de API
Section intitulée « Vue d'ensemble de API »addListener
Section intitulée « addListener »Écouter l'événement shareReceived.
Enregistre un listener qui sera appelé lorsque du contenu est partagé vers l'application depuis une autre app. Le callback reçoit les données de l'événement contenant le titre, les textes et les fichiers.
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
Section intitulée « removeAllListeners »Supprimer tous les écouteurs de ce plugin.
import { CapacitorShareTarget } from '@capgo/capacitor-share-target';
await CapacitorShareTarget.removeAllListeners();getPluginVersion
Section intitulée « getPluginVersion »Récupérer la version du plugin natif Capacitor.
Renvoie la version actuelle de l'implémentation du plugin natif.
import { CapacitorShareTarget } from '@capgo/capacitor-share-target';
const { version} = await CapacitorShareTarget.getPluginVersion();console.log('Plugin version:', version);Référence de type
Section intitulée « Référence de type »ShareReceivedEvent
Section intitulée « ShareReceivedEvent »Données de l'événement reçues lorsque du contenu est partagé vers l'application.
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
Section intitulée « SharedFile »Représente un fichier partagé vers l'application.
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;}Source de vérité
Section intitulée « Source de vérité »Cette page est générée à partir du src/definitions.ts. Relancez la synchronisation lorsque l’API public change en amont.
Continuer depuis Getting Started
Section intitulée « Aller plus loin après Getting Started »Si vous utilisez Premiers pas pour planifier les opérations du dashboard et de API, connectez-l’à Utiliser @capgo/capacitor-share-target pour la capacité native dans Utiliser @capgo/capacitor-share-target, Aperçu de API pour les détails d'implémentation dans l'aperçu de API, Introduction pour les détails d'implémentation dans l'Introduction, Clés API pour les détails d'implémentation dans les clés API, et Appareils pour le détail d’implémentation dans Devices.