Vai al contenuto

Guida rapida

GitHub

Puoi usare il nostro Setup assistito dall'AI per installare il plugin. Aggiungi le skill Capgo al tuo tool AI con il comando seguente:

Finestra del terminale
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

Poi usa questo prompt:

Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-share-target` plugin in my project.

Se preferisci il Setup manuale, installa il plugin eseguendo i comandi seguenti e segui le istruzioni specifiche per piattaforma qui sotto:

Finestra del terminale
bun add @capgo/capacitor-share-target
bunx cap sync
import { CapacitorShareTarget } from '@capgo/capacitor-share-target';

Registrati shareReceived non appena l'app si avvia, prima di indirizzare gli utenti verso le schermate che consumano il contenuto condiviso. Su iOS, il layer nativo mantiene l'evento finché JavaScript non lo consuma, il che copre le condivisioni che arrivano mentre la WebView è ancora in avvio.

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();

Configura appGroupId le capacitor.config e usa lo stesso App Group nella tua Share Extension. Consulta il README del plugin su GitHub per l'esempio di estensione code.

  • Configurazione nativa: gli intent funzionano solo dopo i passaggi per manifest e Xcode indicati nel README.
  • Cold start: buffer delle condivisioni finché il router non è pronto.
  • URI dei file: copia nello storage dell'app prima dell'upload, l'accesso potrebbe scadere.

Ascolta l'evento shareReceived.

Registra un listener che verrà chiamato quando un contenuto viene condiviso all'applicazione da un'altra app. Il callback riceve i dati dell'evento contenenti titolo, testi e file.

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();

Rimuovi tutti i listener di questo plugin.

import { CapacitorShareTarget } from '@capgo/capacitor-share-target';
await CapacitorShareTarget.removeAllListeners();

Ottieni la versione nativa del plugin Capacitor.

Restituisce la versione corrente dell'implementazione del plugin nativo.

import { CapacitorShareTarget } from '@capgo/capacitor-share-target';
const { version} = await CapacitorShareTarget.getPluginVersion();
console.log('Plugin version:', version);

Dati dell'evento ricevuti quando il contenuto viene condiviso con l'app.

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[];
}

Rappresenta un file condiviso con l'applicazione.

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;
}

Questa pagina è generata dal src/definitions.ts. Riesegui la sync quando il API pubblico cambia upstream.

Se stai usando Guida rapida per pianificare dashboard e operazioni API, collegalo a Utilizzo di @capgo/capacitor-share-target per la funzionalità nativa in Utilizzo di @capgo/capacitor-share-target, API Panoramica per i dettagli di implementazione in Panoramica di API, Introduzione per i dettagli implementativi nell'Introduzione, Chiavi API per i dettagli implementativi in API Keys, e Dispositivi per i dettagli implementativi in Dispositivi.