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-contacts`
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/contacts/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:
npx 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-contacts` plugin in my project.Wenn du ein manuelles Setup bevorzugst, installiere das Plugin mit den folgenden Befehlen und befolge die plattformspezifischen Anweisungen unten:
npm install @capgo/capacitor-contactsnpx cap syncImportieren
Abschnitt mit dem Titel „Import“import { CapacitorContacts } from '@capgo/capacitor-contacts';Quickstart
Abschnitt „Quick start“Zugriff anfordern und Kontakte dann mit einer sinnvollen Seitengröße laden, anstatt das gesamte Adressbuch auf einmal abzurufen.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
await CapacitorContacts.requestPermissions();const { contacts } = await CapacitorContacts.getContacts({ limit: 50, offset: 0 });// Increase offset by limit for the next page instead of loading the full address book.Häufige Stolperfallen
Abschnitt „Häufige Fallstricke“- Begründung: Erkläre vor dem Dialog, warum der Kontaktzugriff nötig ist.
- Paginierung: Vermeide es, ganze Adressbücher auf einmal zu laden.
- Writes: Das Erstellen von Kontakten erfordert Schreibberechtigung.
API Übersicht
Abschnitt „API Übersicht“countContacts
Abschnitt mit dem Titel „countContacts“Zähle die Gesamtzahl der Kontakte auf dem Gerät.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
const result = await CapacitorContacts.countContacts();console.log(result);createContact
Abschnitt mit dem Titel „createContact“Erstelle einen neuen Kontakt programmatisch.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
const result = await CapacitorContacts.createContact({ contact: {} });console.log(result);createGroup
Abschnitt mit dem Titel „createGroup“Erstelle eine neue Kontaktgruppe.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
const result = await CapacitorContacts.createGroup({ group: { name: 'example' } });console.log(result);deleteContactById
Abschnitt mit dem Titel „deleteContactById“Lösche einen Kontakt per ID.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
await CapacitorContacts.deleteContactById({ id: 'id-123' });deleteGroupById
Abschnitt mit dem Titel „deleteGroupById“Lösche eine Gruppe per ID.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
await CapacitorContacts.deleteGroupById({ id: 'id-123' });displayContactById
Abschnitt „displayContactById“Zeige einen Kontakt im nativen Kontakt-Viewer an.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
await CapacitorContacts.displayContactById({ id: 'id-123' });displayCreateContact
Abschnitt „displayCreateContact“Zeigt die native UI zum Erstellen von Kontakten an.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
const result = await CapacitorContacts.displayCreateContact();console.log(result);displayUpdateContactById
Abschnitt „displayUpdateContactById“Zeigt die native UI zum Aktualisieren eines bestimmten Kontakts an.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
await CapacitorContacts.displayUpdateContactById({ id: 'id-123' });getAccounts
Abschnitt „getAccounts“Ruft alle auf dem Gerät verfügbaren Accounts ab.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
const result = await CapacitorContacts.getAccounts();console.log(result);getContactById
Abschnitt mit dem Titel „getContactById“Ruft einen bestimmten Kontakt anhand der ID ab.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
const result = await CapacitorContacts.getContactById({ id: 'id-123' });// The result holds sensitive values: use it without logging it.getContacts
Abschnitt mit dem Titel „getContacts“Ruft alle Kontakte vom Gerät ab.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
const result = await CapacitorContacts.getContacts();// The result holds sensitive values: use it without logging it.getGroupById
Abschnitt mit dem Titel „getGroupById“Ruft eine bestimmte Gruppe anhand der ID ab.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
const result = await CapacitorContacts.getGroupById({ id: 'id-123' });console.log(result);getGroups
Abschnitt mit dem Titel „getGroups“Ruft alle Kontaktgruppen ab.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
const result = await CapacitorContacts.getGroups();console.log(result);isAvailable
Abschnitt mit dem Titel „isAvailable“Prüfen, ob Kontakte auf dem Gerät verfügbar sind.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
const result = await CapacitorContacts.isAvailable();console.log(result);isSupported
Abschnitt mit dem Titel „isSupported“Prüfen, ob das Plugin auf der aktuellen Plattform unterstützt wird.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
const result = await CapacitorContacts.isSupported();console.log(result);openSettings
Abschnitt mit dem Titel „openSettings“Die Kontakteinstellungen des Geräts öffnen.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
await CapacitorContacts.openSettings();pickContact
Abschnitt mit dem Titel „pickContact“Einen einzelnen Kontakt über den nativen Kontaktauswahl-Dialog auswählen.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
const result = await CapacitorContacts.pickContact();// The result holds sensitive values: use it without logging it.pickContacts
Abschnitt mit dem Titel „pickContacts“Wähle einen oder mehrere Kontakte mit dem nativen Kontakt-Auswahl-Dialog aus.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
const result = await CapacitorContacts.pickContacts();// The result holds sensitive values: use it without logging it.updateContactById
Abschnitt mit dem Titel „updateContactById“Bestehenden Kontakt anhand der ID aktualisieren.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
await CapacitorContacts.updateContactById({ id: 'id-123', contact: {},});checkPermissions
Abschnitt „checkPermissions“Prüfe den aktuellen Berechtigungsstatus für Kontakte.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
const result = await CapacitorContacts.checkPermissions();console.log(result);requestPermissions
Abschnitt „requestPermissions“Berechtigungen für den Zugriff auf Kontakte anfordern.
import { CapacitorContacts } from '@capgo/capacitor-contacts';
const result = await CapacitorContacts.requestPermissions();console.log(result);Typreferenz
Abschnitt mit dem Titel „Typreferenz“CountContactsResult
Abschnitt mit dem Titel „CountContactsResult“Ergebnis des Zählens von Kontakten.
export interface CountContactsResult { /** * Total number of contacts. * * @since 1.0.0 */ count: number;}CreateContactOptions
Abschnitt mit dem Titel „CreateContactOptions“Optionen zum Erstellen eines Kontakts.
export interface CreateContactOptions { /** * Contact information to create. The 'id' field will be generated automatically. * * @since 1.0.0 */ contact: Omit<Contact, 'id'>;}CreateContactResult
Abschnitt mit dem Titel „CreateContactResult“Ergebnis des Erstellens eines Kontakts.
export interface CreateContactResult { /** * The ID of the newly created contact. * * @since 1.0.0 */ id: string;}CreateGroupOptions
Abschnitt mit dem Titel „CreateGroupOptions“Optionen zum Erstellen einer Gruppe.
export interface CreateGroupOptions { /** * Group information to create. The 'id' field will be generated automatically. * * @since 1.0.0 */ group: Omit<Group, 'id'>;}CreateGroupResult
Abschnitt mit dem Titel „CreateGroupResult“Ergebnis der Gruppenerstellung.
export interface CreateGroupResult { /** * The ID of the newly created group. * * @since 1.0.0 */ id: string;}DeleteContactByIdOptions
Abschnitt mit dem Titel „DeleteContactByIdOptions“Optionen zum Löschen eines Kontakts per ID.
export interface DeleteContactByIdOptions { /** * The ID of the contact to delete. * * @since 1.0.0 */ id: string;}DeleteGroupByIdOptions
Abschnitt mit dem Titel „DeleteGroupByIdOptions“Optionen zum Löschen einer Gruppe per ID.
export interface DeleteGroupByIdOptions { /** * The ID of the group to delete. * * @since 1.0.0 */ id: string;}DisplayContactByIdOptions
Abschnitt mit dem Titel „DisplayContactByIdOptions“Optionen zum Anzeigen eines Kontakts anhand der ID.
export interface DisplayContactByIdOptions { /** * The ID of the contact to display. * * @since 1.0.0 */ id: string;}DisplayCreateContactOptions
Abschnitt mit dem Titel „DisplayCreateContactOptions“Optionen zum Anzeigen der nativen UI zum Erstellen eines Kontakts.
export interface DisplayCreateContactOptions { /** * Optional pre-filled contact information for the create UI. * * @since 1.0.0 */ contact?: Omit<Contact, 'id'>;}DisplayCreateContactResult
Abschnitt mit dem Titel „DisplayCreateContactResult“Ergebnis der Anzeige der nativen UI zum Erstellen eines Kontakts.
export interface DisplayCreateContactResult { /** * The ID of the created contact, if one was created. Undefined if the user cancelled. * * @since 1.0.0 */ id?: string;}DisplayUpdateContactByIdOptions
Abschnitt mit dem Titel „DisplayUpdateContactByIdOptions“Optionen zum Anzeigen der nativen UI zum Aktualisieren eines Kontakts.
export interface DisplayUpdateContactByIdOptions { /** * The ID of the contact to update. * * @since 1.0.0 */ id: string;}GetAccountsResult
Abschnitt mit dem Titel „GetAccountsResult“Ergebnis beim Abrufen von Konten.
export interface GetAccountsResult { /** * List of accounts available on the device. * * @since 1.0.0 */ accounts: Account[];}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 Nutzung von @capgo/capacitor-contacts für die native Funktion bei der Nutzung von @capgo/capacitor-contacts, 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.