Langsung ke konten

Panduan Memulai

GitHub

Anda bisa menggunakan AI-Assisted Setup kami untuk menginstal plugin ini. Tambahkan skill Capgo ke tool AI Anda dengan command berikut:

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

Lalu gunakan prompt berikut:

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

Jika Anda lebih memilih Manual Setup, instal plugin dengan menjalankan perintah berikut dan ikuti petunjuk khusus platform di bawah ini:

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

Dengarkan lebih awal (cold start)

Bagian berjudul “Listen early (cold start)”

Daftar shareReceived segera setelah aplikasi boot, sebelum mengarahkan pengguna ke layar yang mengonsumsi konten bersama. Di iOS, layer native menyimpan event tersebut sampai JavaScript mengonsumsinya, jadi share yang masuk saat WebView masih start tetap tertangani.

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

Konfigurasi appGroupId di capacitor.config dan gunakan App Group yang sama di Share Extension Anda. Lihat README plugin di GitHub untuk contoh extension code.

  • Setup native: intents hanya berfungsi setelah langkah manifest dan Xcode di README dijalankan.
  • Cold start: menampung share di buffer sampai router Anda siap.
  • URI File: salin ke storage aplikasi sebelum upload, akses bisa kedaluwarsa.

Pantau event shareReceived.

Mendaftarkan listener yang akan dipanggil saat konten dibagikan ke aplikasi dari aplikasi lain. Callback akan menerima data event berisi title, texts, dan 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();

Hapus semua listener plugin ini.

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

Dapatkan versi plugin native Capacitor.

Mengembalikan versi implementasi plugin native saat ini.

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

Data event yang diterima saat konten dibagikan ke aplikasi.

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

Merepresentasikan file yang dibagikan ke aplikasi.

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

Halaman ini dibuat dari plugin src/definitions.ts. Jalankan ulang sync saat API publik berubah di upstream.

Jika Anda menggunakan Panduan Memulai untuk merencanakan operasi dashboard dan API, hubungkan dengan Menggunakan @capgo/capacitor-share-target untuk kemampuan native saat menggunakan @capgo/capacitor-share-target, Ringkasan API untuk detail implementasi di API Overview, Pendahuluan untuk detail implementasi di Introduction, Kunci API untuk detail implementasi di API Keys, dan Perangkat untuk detail implementasi di Devices.