Einstieg
Ein Setup-Prompt mit den Installationsanweisungen und der vollständigen Markdown-Dokumentation für diesen Plugin kopieren.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-live-activities`
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/live-activities/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 mit dem Titel „Installieren“bun add @capgo/capacitor-live-activitiesbunx cap syncImportieren
Abschnitt mit dem Titel „Importieren“import { CapgoLiveActivities } from '@capgo/capacitor-live-activities';API Übersicht
Überschrift „API Übersicht“areActivitiesSupported
Überschrift „areActivitiesSupported“Überprüfen Sie, ob Live-Aktivitäten auf diesem Gerät unterstützt werden. Benötigt iOS 16.1+ und Geräteunterstützung.
import { CapgoLiveActivities } from '@capgo/capacitor-live-activities';
const { supported, reason } = await CapgoLiveActivities.areActivitiesSupported();if (supported) { console.log('Live Activities are supported!');} else { console.log('Not supported:', reason);}startActivity
Überschrift „startActivity“Starten Sie eine neue Live-Aktivität mit der angegebenen Layout und Daten.
import { CapgoLiveActivities } from '@capgo/capacitor-live-activities';
const { activityId } = await CapgoLiveActivities.startActivity({ layout: { type: 'container', direction: 'horizontal', children: [ { type: 'text', content: 'Order #{{orderNumber}}', fontSize: 16, fontWeight: 'bold' }, { type: 'text', content: '{{status}}', fontSize: 14, color: '#666666' } ] }, dynamicIslandLayout: { expanded: { leading: { type: 'image', source: 'sfSymbol', value: 'box.truck' }, trailing: { type: 'text', content: '{{eta}}' }, center: { type: 'text', content: '{{status}}' }, bottom: { type: 'progress', value: 'progress' } }, compactLeading: { type: 'image', source: 'sfSymbol', value: 'box.truck' }, compactTrailing: { type: 'text', content: '{{eta}}' }, minimal: { type: 'image', source: 'sfSymbol', value: 'box.truck' } }, data: { orderNumber: '12345', status: 'On the way', eta: '10 min', progress: 0.6 }});console.log('Started activity:', activityId);updateActivity
Überschrift „updateActivity“Aktualisieren Sie eine bestehende Live-Aktivität mit neuen Daten.
import { CapgoLiveActivities } from '@capgo/capacitor-live-activities';
await CapgoLiveActivities.updateActivity({ activityId: 'abc123', data: { status: 'Arrived!', eta: 'Now', progress: 1.0 }, alertConfiguration: { title: 'Delivery Update', body: 'Your order has arrived!' }});endActivity
Abschnitt mit dem Titel “endActivity”Ein Live-Event beenden.
import { CapgoLiveActivities } from '@capgo/capacitor-live-activities';
await CapgoLiveActivities.endActivity({ activityId: 'abc123', data: { status: 'Delivered' }, dismissalPolicy: 'after', dismissAfter: Date.now() + 3600000 // 1 hour from now});getAllActivities
Abschnitt mit dem Titel “getAllActivities”Alle derzeit aktiven Live-Events abrufen.
import { CapgoLiveActivities } from '@capgo/capacitor-live-activities';
const { activities } = await CapgoLiveActivities.getAllActivities();activities.forEach(activity => { console.log(`Activity ${activity.activityId}: ${activity.state}`);});saveImage
Abschnitt mit dem Titel “saveImage”Ein Bild in den gemeinsamen App-Gruppen-Container speichern, um es in Live-Events verwenden zu können. Bilder müssen in den gemeinsamen Container gespeichert werden, um von der Widget-Erweiterung zugänglich zu sein.
import { CapgoLiveActivities } from '@capgo/capacitor-live-activities';
const { success, imageName } = await CapgoLiveActivities.saveImage({ imageData: 'base64EncodedImageData...', name: 'product-image', compressionQuality: 0.8});// Use in layout with: { type: 'image', source: 'saved', value: imageName }removeImage
Abschnitt mit dem Titel “removeImage”Ein gespeichertes Bild aus dem gemeinsamen Container entfernen.
import { CapgoLiveActivities } from '@capgo/capacitor-live-activities';
const { success } = await CapgoLiveActivities.removeImage({ name: 'product-image' });listImages
Abschnitt mit dem Titel „listImages“Alle gespeicherten Bilder in der gemeinsamen Container auflisten.
import { CapgoLiveActivities } from '@capgo/capacitor-live-activities';
const { images } = await CapgoLiveActivities.listImages();console.log('Saved images:', images);cleanupImages
Abschnitt mit dem Titel „cleanupImages“Alle gespeicherten Bilder aus dem gemeinsamen Container entfernen.
import { CapgoLiveActivities } from '@capgo/capacitor-live-activities';
await CapgoLiveActivities.cleanupImages();startTimerSequence
Abschnitt mit dem Titel „startTimerSequence“Einen Timersequenz für Workouts/Sport starten. Auf iOS: Anzeigt sich in Live Activity und Dynamic Island Auf Android: Anzeigt sich als Vordergrundbenachrichtigung mit Timer.
import { CapgoLiveActivities } from '@capgo/capacitor-live-activities';
const { sequenceId } = await CapgoLiveActivities.startTimerSequence({ title: 'HIIT Workout', steps: [ { duration: 30, title: 'Jumping Jacks', subtitle: 'Warm up', color: '#FF6B00', icon: 'figure.jumprope' }, { duration: 10, title: 'Rest', color: '#00C853', icon: 'pause.circle' }, { duration: 45, title: 'Burpees', subtitle: 'High intensity', color: '#FF0000', icon: 'flame.fill' }, { duration: 15, title: 'Rest', color: '#00C853', icon: 'pause.circle' }, { duration: 45, title: 'Mountain Climbers', color: '#FF0000', icon: 'figure.run' }, { duration: 15, title: 'Rest', color: '#00C853', icon: 'pause.circle' }, ], loop: true, loopCount: 3, soundEnabled: true, vibrateEnabled: true, countdownBeeps: true, tapUrl: 'myapp://workout/hiit'});pauseTimerSequence
Abschnitt mit dem Titel „pauseTimerSequence“Die Timersequenz pausieren.
import { CapgoLiveActivities } from '@capgo/capacitor-live-activities';
await CapgoLiveActivities.pauseTimerSequence({ sequenceId: 'abc123' });resumeTimerSequence
Abschnitt mit dem Titel “resumeTimerSequence”Eine unterbrochene Timersequenz wiederherstellen.
import { CapgoLiveActivities } from '@capgo/capacitor-live-activities';
await CapgoLiveActivities.resumeTimerSequence({ sequenceId: 'abc123' });stopTimerSequence
Abschnitt mit dem Titel “stopTimerSequence”Timersequenz stoppen und schließen.
import { CapgoLiveActivities } from '@capgo/capacitor-live-activities';
await CapgoLiveActivities.stopTimerSequence({ sequenceId: 'abc123' });skipTimerStep
Abschnitt mit dem Titel “skipTimerStep”Zur nächsten Schritt in der Sequenz springen.
import { CapgoLiveActivities } from '@capgo/capacitor-live-activities';
await CapgoLiveActivities.skipTimerStep({ sequenceId: 'abc123' });previousTimerStep
Abschnitt mit dem Titel “previousTimerStep”Zurück zur vorherigen Schritt in der Sequenz gehen.
import { CapgoLiveActivities } from '@capgo/capacitor-live-activities';
await CapgoLiveActivities.previousTimerStep({ sequenceId: 'abc123' });getTimerState
Abschnitt mit dem Titel “getTimerState”Ermitteln Sie den aktuellen Zustand einer Timerfolge.
import { CapgoLiveActivities } from '@capgo/capacitor-live-activities';
const state = await CapgoLiveActivities.getTimerState({ sequenceId: 'abc123' });console.log(`Step ${state.currentStepIndex + 1}/${state.totalSteps}: ${state.currentStep.title}`);console.log(`Time remaining: ${state.remainingSeconds}s`);Typenreferenz
Abschnitt mit dem Titel “Typenreferenz”AreActivitiesSupportedResult
Abschnitt mit dem Titel “AreActivitiesSupportedResult”Ermitteln Sie das Ergebnis der Überprüfung, ob Aktivitäten unterstützt werden.
export interface AreActivitiesSupportedResult { /** Whether Live Activities are supported on this device */ supported: boolean; /** Reason if not supported */ reason?: string;}StartActivityOptions
Abschnitt mit dem Titel “StartActivityOptions”Optionen für das Starten einer Live-Aktivität.
export interface StartActivityOptions { /** Main activity layout (lock screen widget) */ layout: ActivityLayout; /** Dynamic Island layout configuration */ dynamicIslandLayout: DynamicIslandLayout; /** Activity behavior settings */ behavior?: LiveActivitiesBehavior; /** Dynamic data for the activity */ data: Record<string, unknown>; /** Stale date timestamp (activity becomes stale after this) */ staleDate?: number; /** Relevance score for activity ordering (0-100) */ relevanceScore?: number;}StartActivityResult
Abschnitt mit dem Titel “StartActivityResult”Ergebnis der Aktivitätsstart.
export interface StartActivityResult { /** Unique activity identifier */ activityId: string;}UpdateActivityOptions
Abschnitt mit dem Titel „UpdateActivityOptions“Optionen für das Aktualisieren einer Live-Aktivität.
export interface UpdateActivityOptions { /** Activity ID to update */ activityId: string; /** Updated data */ data: Record<string, unknown>; /** Optional alert to show with update */ alertConfiguration?: ActivityAlertConfiguration; /** Updated stale date */ staleDate?: number; /** Updated relevance score */ relevanceScore?: number;}EndActivityOptions
Abschnitt mit dem Titel „EndActivityOptions“Optionen für das Beenden einer Live-Aktivität.
export interface EndActivityOptions { /** Activity ID to end */ activityId: string; /** Final data to display */ data?: Record<string, unknown>; /** Dismissal policy */ dismissalPolicy?: 'immediate' | 'default' | 'after'; /** Dismiss after timestamp (when dismissalPolicy is 'after') */ dismissAfter?: number;}GetAllActivitiesResult
Abschnitt mit dem Titel „GetAllActivitiesResult“Ergebnis von getAllActivities.
export interface GetAllActivitiesResult { /** List of activities */ activities: ActivityInfo[];}SaveImageOptions
Abschnitt mit dem Titel „SaveImageOptions“Optionen für das Speichern einer Bilddatei.
export interface SaveImageOptions { /** Base64 encoded image data */ imageData: string; /** Name to save the image as */ name: string; /** JPEG compression quality (0-1, default 0.8) */ compressionQuality?: number;}SaveImageResult
Abschnitt mit dem Titel „SaveImageResult“Erfolgsmeldung beim Speichern einer Bilddatei.
export interface SaveImageResult { /** Whether the save was successful */ success: boolean; /** Saved image name */ imageName: string;}RemoveImageOptions
Abschnitt mit dem Titel „RemoveImageOptions“Optionen für das Löschen einer Bilddatei.
export interface RemoveImageOptions { /** Name of the image to remove */ name: string;}RemoveImageResult
Abschnitt mit dem Titel „RemoveImageResult“Erfolgsmeldung beim Löschen einer Bilddatei.
export interface RemoveImageResult { /** Whether the removal was successful */ success: boolean;}ListImagesResult
Abschnitt mit dem Titel „ListImagesResult“Ergebnis der Bildauflistung.
export interface ListImagesResult { /** List of saved image names */ images: string[];}TimerSequenceOptions
Abschnitt mit dem Titel „TimerSequenceOptions“Optionen für die Startzeit eines Timersequenz
export interface TimerSequenceOptions { /** Array of steps in the sequence */ steps: TimerStep[]; /** Overall title for the sequence (e.g., "HIIT Workout", "Tabata") */ title?: string; /** Whether to loop the sequence when complete */ loop?: boolean; /** Number of times to loop (if loop is true, 0 means infinite) */ loopCount?: number; /** Play sound on step change (default: true) */ soundEnabled?: boolean; /** Vibrate on step change (default: true) */ vibrateEnabled?: boolean; /** Play countdown beeps in last 3 seconds (default: true) */ countdownBeeps?: boolean; /** Deep link URL when tapping the notification/activity */ tapUrl?: string; /** Keep screen on during timer (Android only, default: false) */ keepScreenOn?: boolean;}Quelle der Wahrheit
Abschnitt mit dem Titel „Quelle der Wahrheit“Diese Seite wird von dem Plugin generiert. src/definitions.tsRe-run die Synchronisierung, wenn die öffentliche API sich im Hintergrund ändert.
Weitermachen von Getting Started
Abschnitt mit dem Titel „Weitermachen von Getting Started“Wenn Sie diese verwenden Einstieg um das Dashboard und API-Operationen zu planen, verbinden Sie es mit Mit @capgo/capacitor-live-Activities verwenden für die native Fähigkeit in Mit @capgo/capacitor-live-Activities, API-Übersicht für die Implementierungsdetails in API-Übersicht, Einführung für die Implementierungsdetails in Einführung, API-Schlüssel für die Implementierungsdetails in API-Schlüssel, und Geräte für die Implementierungsdetails in Geräte.