Erste Schritte
Kopiere einen Setup-Prompt mit den Installationsschritten und dem vollständigen Markdown-Guide für dieses Plugin.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-photo-library`
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/photo-library/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.
Installieren
Abschnitt „Installation“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:
bunx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsNutze dann diesen Prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-photo-library` plugin in my project.Wenn du ein manuelles Setup bevorzugst, installiere das Plugin mit den folgenden Befehlen und befolge die plattformspezifischen Anweisungen unten:
bun add @capgo/capacitor-photo-librarybunx cap syncImportieren
Abschnitt mit dem Titel „Import“import { PhotoLibrary } from '@capgo/capacitor-photo-library';Quickstart
Abschnitt „Quick start“import { PhotoLibrary } from '@capgo/capacitor-photo-library';
const result = await PhotoLibrary.checkAuthorization();console.log(result);Beispiel: requestAuthorization
Abschnitt „Beispiel: requestAuthorization“import { PhotoLibrary } from '@capgo/capacitor-photo-library';
const result = await PhotoLibrary.requestAuthorization();console.log(result);Beispiel: getAlbums
Abschnitt „Beispiel: getAlbums“import { PhotoLibrary } from '@capgo/capacitor-photo-library';
const result = await PhotoLibrary.getAlbums();console.log(result);Häufige Stolperfallen
Abschnitt „Häufige Fallstricke“- Nativer Sync: ausführen
bunx cap syncnach Plugin-Upgrades. - Single Source of Truth: Vertrauen
src/definitions.tsim GitHub Repo.
API Übersicht
Abschnitt „API Übersicht“checkAuthorization
Abschnitt „checkAuthorization“Gibt den aktuellen Autorisierungsstatus zurück, ohne den User zu fragen.
import { PhotoLibrary } from '@capgo/capacitor-photo-library';
const result = await PhotoLibrary.checkAuthorization();console.log(result);requestAuthorization
Abschnitt mit dem Titel „requestAuthorization“Fordert bei Bedarf den Zugriff auf die Fotomediathek an.
import { PhotoLibrary } from '@capgo/capacitor-photo-library';
const result = await PhotoLibrary.requestAuthorization();console.log(result);getAlbums
Abschnitt mit dem Titel „getAlbums“Ruft die verfügbaren Alben ab.
import { PhotoLibrary } from '@capgo/capacitor-photo-library';
const result = await PhotoLibrary.getAlbums();console.log(result);getLibrary
Abschnitt mit dem Titel „getLibrary“Ruft die Mediathek-Assets zusammen mit URLs ab, die in der WebView angezeigt werden können.
import { PhotoLibrary } from '@capgo/capacitor-photo-library';
const result = await PhotoLibrary.getLibrary();console.log(result);getPhotoUrl
Abschnitt mit dem Titel „getPhotoUrl“Ruft eine anzeigbare URL für die Vollauflösungsversion des Assets ab.
Falls du bereits aufgerufen hast getLibrary mit includeFullResolutionData, brauchst du diese Methode normalerweise nicht.
import { PhotoLibrary } from '@capgo/capacitor-photo-library';
const result = await PhotoLibrary.getPhotoUrl({ id: 'id-123' });console.log(result);getThumbnailUrl
Abschnitt mit dem Titel „getThumbnailUrl“Ruft eine anzeigbare URL für ein skaliertes Thumbnail des Assets ab.
import { PhotoLibrary } from '@capgo/capacitor-photo-library';
const result = await PhotoLibrary.getThumbnailUrl({ id: 'id-123' });console.log(result);pickMedia
Abschnitt mit dem Titel „pickMedia“Öffnet den nativen System-Picker, damit der Nutzer Medien auswählen kann, ohne vollen Zugriff auf die Fotobibliothek zu gewähren. Die ausgewählten Dateien werden in den Anwendungscache kopiert und mit portablen URLs zurückgegeben.
import { PhotoLibrary } from '@capgo/capacitor-photo-library';
const result = await PhotoLibrary.pickMedia();console.log(result);Typreferenz
Abschnitt mit dem Titel „Typreferenz“PhotoLibraryAuthorizationState
Abschnitt mit dem Titel „PhotoLibraryAuthorizationState“export type PhotoLibraryAuthorizationState = 'authorized' | 'limited' | 'denied' | 'notDetermined';PhotoLibraryAlbum
Abschnitt mit dem Titel „PhotoLibraryAlbum“export interface PhotoLibraryAlbum { id: string; title: string; assetCount: number;}GetLibraryOptions
Abschnitt mit dem Titel „GetLibraryOptions“export interface GetLibraryOptions { /** * Number of assets to skip from the beginning of the query. */ offset?: number; /** * Maximum number of assets to return. Omit to return everything that matches. */ limit?: number; /** * Include images in the result. Defaults to `true`. */ includeImages?: boolean; /** * Include videos in the result. Defaults to `false`. */ includeVideos?: boolean; /** * Include information about the albums each asset belongs to. Defaults to `false`. */ includeAlbumData?: boolean; /** * Include assets stored in the cloud (iCloud / Google Photos). Defaults to `true`. */ includeCloudData?: boolean; /** * If `true`, use the original filenames reported by the OS when available. */ useOriginalFileNames?: boolean; /** * Width of the generated thumbnails. Defaults to `512`. */ thumbnailWidth?: number; /** * Height of the generated thumbnails. Defaults to `384`. */ thumbnailHeight?: number; /** * JPEG quality for generated thumbnails (0-1). Defaults to `0.5`. */ thumbnailQuality?: number; /** * When `true`, copies the full sized asset into the app cache and returns its URL. * Defaults to `false`. */ includeFullResolutionData?: boolean;}GetLibraryResult
Abschnitt mit dem Titel „GetLibraryResult“export interface GetLibraryResult { assets: PhotoLibraryAsset[]; /** * Total number of assets matching the query in the library. `assets.length` can be less * than this value when pagination is used. */ totalCount: number; /** Whether more assets are available when using pagination. */ hasMore: boolean;}PhotoLibraryFile
Abschnitt mit dem Titel „PhotoLibraryFile“export interface PhotoLibraryFile { /** Absolute path on the native file system. */ path: string; /** * URL that can be used inside a web view. Usually produced by `Capacitor.convertFileSrc(path)`. */ webPath: string; mimeType: string; /** Size in bytes if known, otherwise `-1`. */ size: number;}PickMediaOptions
Abschnitt mit dem Titel „PickMediaOptions“export interface PickMediaOptions { /** * Maximum number of items the user can select. Use `0` to allow unlimited selection. * Defaults to `1`. */ selectionLimit?: number; /** Allow the user to select images. Defaults to `true`. */ includeImages?: boolean; /** Allow the user to select videos. Defaults to `false`. */ includeVideos?: boolean; /** Width of the generated thumbnails for picked items. Defaults to `256`. */ thumbnailWidth?: number; /** Height of the generated thumbnails for picked items. Defaults to `256`. */ thumbnailHeight?: number; /** JPEG quality for generated thumbnails (0-1). Defaults to `0.7`. */ thumbnailQuality?: number;}PickMediaResult
Abschnitt mit dem Titel „PickMediaResult“export interface PickMediaResult { assets: PhotoLibraryAsset[];}PhotoLibraryAsset
Abschnitt mit dem Titel „PhotoLibraryAsset“export interface PhotoLibraryAsset { id: string; fileName: string; type: PhotoAssetType; width: number; height: number; duration?: number; creationDate?: string; modificationDate?: string; latitude?: number; longitude?: number; mimeType: string; /** Size in bytes reported by the OS for the underlying asset, if available. */ size?: number; albumIds?: string[]; thumbnail?: PhotoLibraryFile; file?: PhotoLibraryFile;}PhotoAssetType
Abschnitt mit dem Titel „PhotoAssetType“export type PhotoAssetType = 'image' | 'video';Source of Truth
Abschnitt mit dem Titel „Source of Truth“Diese Seite wird aus dem Plugin generiert src/definitions.ts. Führe den Sync erneut aus, wenn sich das öffentliche API upstream ändert.
Weiter geht's nach Getting Started
Abschnitt: „Weiter geht’s mit Getting Started“Wenn du es nutzt Erste Schritte um Dashboard- und API-Operationen zu planen, verbinde es mit @capgo/capacitor-photo-library verwenden für die native Funktion in „@capgo/capacitor-photo-library verwenden“, 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.