メインコンテンツへスキップ

はじめに

GitHub

AIアシストセットアップを使用してプラグインをインストールできます。次のコマンドを使用して、Capgo のスキルをAIツールに追加してください:

ターミナル
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

次に、以下のプロンプトを使用してください:

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

手動でのセットアップを希望する場合は、以下のコマンドを実行してプラグインをインストールし、各プラットフォームごとの手順に従ってください:

ターミナル
bun add @capgo/capacitor-share-target
bunx cap sync
import { CapacitorShareTarget } from '@capgo/capacitor-share-target';

早期リスニング (コールドスタート)

「Listen early (cold start)」セクション

登録 shareReceived アプリの起動直後、共有コンテンツを消費する画面へユーザーをルーティングする前に実行してください。iOSでは、JavaScriptがイベントを消費するまでネイティブレイヤーがイベントを保持するため、WebViewの起動中に届いたシェアもカバーできます。

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

設定 appGroupId で capacitor.config および、Share Extensionでも同じApp Groupをミラーリングしてください。拡張機能のサンプル code については、GitHub のプラグインREADMEを参照してください。

  • ネイティブ設定: intentはREADMEにあるmanifestとXcodeの設定完了後にのみ動作します。
  • コールドスタート: ルーターの準備ができるまで共有をバッファリングします。
  • File URI: upload前にアプリのストレージにコピーしてください。アクセス権が失効する場合があります。

shareReceived イベントをリッスンします。

他のアプリからアプリへコンテンツが共有された際に呼び出されるリスナーを登録します。コールバックでは、title、texts、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();

このプラグインのすべてのリスナーを削除します。

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

ネイティブの Capacitor プラグインのバージョンを取得します。

ネイティブプラグイン実装の現在のバージョンを返します。

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

コンテンツがアプリケーションに共有された際に受信するイベントデータ。

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

アプリケーションに共有されたファイルを表現します。

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 of Truth)

「Source Of Truth」というタイトルのセクション

このページはプラグインの src/definitions.ts から生成されています。アップストリームの公開 API が変更された場合は、再度同期を実行してください。

以下を使用している場合: はじめに ダッシュボードや API の運用を計画するには、これと連携させてください @capgo/capacitor-share-target を使用する Using @capgo/capacitor-share-target のネイティブ機能については、 API の概要 API Overview の実装詳細については、 はじめに Introduction の実装詳細については、 API キー API Keys の実装詳細については、 デバイス Devices の実装詳細については、