Zum Inhalt springen

Erste Schritte

GitHub

Du kannst unser KI-gestütztes Setup nutzen, um das Plugin zu installieren. Füge die Capgo Skills mit dem folgenden Befehl deinem KI-Tool hinzu:

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

Nutze dann diesen Prompt:

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

Wenn du ein manuelles Setup bevorzugst, installiere das Plugin mit den folgenden Befehlen und befolge die plattformspezifischen Anweisungen unten:

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

Registrieren shareReceived sobald deine App startet, noch bevor die Nutzer auf Screens geleitet werden, die geteilte Inhalte verarbeiten. Unter iOS behält der Native Layer das Event, bis JavaScript es verarbeitet – das deckt auch Shares ab, die eintreffen, während die WebView noch lädt.

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

Konfigurieren appGroupId in capacitor.config und spiegel die gleiche App Group in deiner Share Extension wider. Siehe das Plugin-README auf GitHub für ein Extension-Beispiel code.

  • Native Einrichtung: Intents funktionieren erst nach den Manifest- und Xcode-Schritten im README.
  • Cold Start: puffert Shares, bis dein Router bereit ist.
  • File-URIs: vor dem Upload in den App-Speicher kopieren, da der Zugriff ablaufen kann.

Auf das shareReceived-Event hören.

Registriert einen Listener, der aufgerufen wird, wenn Inhalte von einer anderen App an die Anwendung geteilt werden. Der Callback erhält Event-Daten mit Title, Texts und Files.

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

Entfernt alle Listener für dieses Plugin.

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

Die native Capacitor Plugin-Version abrufen.

Gibt die aktuelle Version der nativen Plugin-Implementierung zurück.

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

Event-Daten, die empfangen werden, wenn Inhalte mit der App geteilt werden.

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

Repräsentiert eine Datei, die mit der App geteilt wurde.

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

Diese Seite wird aus dem Plugin generiert src/definitions.ts. Führe den Sync erneut aus, wenn sich das öffentliche API upstream ändert.

Wenn du es nutzt Erste Schritte um Dashboard- und API-Operationen zu planen, verbinde es mit @capgo/capacitor-share-target nutzen für die native Funktion bei der Nutzung von @capgo/capacitor-share-target, API Übersicht für Details zur Implementierung im API Overview, Einführung für die Implementierungsdetails in der Einleitung, API Schlüssel für das Implementierungsdetail in API Keys und Geräte für das Implementierungsdetail in Devices.