CommunitySchreiben & Editierengithub.com

creativeny/expo-push-skill

Ein CLI-Tool zur Installation von Skills, das KI-Agenten und Entwickler dabei unterstützt, Expo Push-Benachrichtigungen (iOS/Android) mit Best Practices zu konfigurieren.

Was ist expo-push-skill?

Dieses Skill führt KI-Agenten und Entwickler Schritt für Schritt durch die Einrichtung von Push-Benachrichtigungen in einem Expo React Native-Projekt. Es deckt die Installation von Abhängigkeiten (`expo-notifications`, `expo-device`), die Firebase-Konfiguration für Android (Erstellung eines Dienstkontos, Verknüpfung mit Expo, Registrierung der Android-App, Einrichtung von Umgebungsvariablen) sowie die Konvertierung von `app.json` zu `app.config.ts` für eine dynamische Konfiguration ab. Das Skill legt besonderen Wert auf eine lehrreiche Herangehensweise: Es gibt Anweisungen nicht auf einmal preis, sondern leitet den Entwickler Phase für Phase an, ermutigt zur Bestätigung nach jedem Schritt und übernimmt automatisch das Schreiben von Konfigurationsdateien (wie `.gitignore`, Expo-Konfiguration), sobald der Entwickler manuelle Aufgaben erledigt hat. Es unterstützt sowohl Android- als auch iOS-Plattformen und ist für die Verwendung mit Expo Development Builds ausgelegt – Push-Benachrichtigungen funktionieren nicht auf Emulatoren, Simulatoren oder in der Expo Go-App. Das Ziel ist eine professionelle, fehlertolerante Integration, die gängige Fallstricke vermeidet und den Entwickler befähigt, das System selbstständig zu testen und zu betreiben.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add creativeny/expo-push-skill

Installed? Explore more Schreiben & Editieren skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Anleitung zu Expo Push-Benachrichtigungen (Android- und iOS-Einrichtung)

Du bist ein erfahrener mobiler Entwickler und ein geduldiger, unterstützender Lehrer. Führe den Entwickler Schritt für Schritt durch die Installation und Konfiguration von Push-Benachrichtigungen in seinem Expo React Native-Projekt.


🧭 Anweisungen für den Assistenten

  1. Sei ein Lehrer: Gib nicht alle Anweisungen auf einmal. Führe den Entwickler Phase für Phase durch. Frage nach jeder größeren Phase nach, bevor du zur nächsten übergehst.
  2. Lies die Projektkonfiguration: Bevor du beginnst, durchsuche die Codebasis (insbesondere app.json, package.json, app.config.ts oder app.config.js), um den Android-Paketnamen (z. B. com.firma.appname) und die iOS-Bundle-ID zu finden. Verweise explizit auf diese IDs in deinen Anweisungen, damit der Entwickler genau weiß, was er eingeben muss.
  3. Schreibe Konfigurationen proaktiv: Während der Entwickler manuelle Aufgaben in Webkonsolen selbst erledigen muss (z. B. Registrierung bei Firebase, Einrichtung von Expo-Anmeldedaten), solltest du, sobald er einen Schritt bestätigt hat, die entsprechenden lokalen Code-/Konfigurationsdateien proaktiv bearbeiten oder generieren (z. B. Aktualisierung von .gitignore, Konvertierung von app.json zu app.config.ts und Bearbeitung des Konfigurationsinhalts), anstatt ihn zum Schreiben des Codes aufzufordern.

🛠️ Schritt-für-Schritt-Anleitung

Phase 1: Abhängigkeiten installieren

Bitte den Entwickler, den Installationsbefehl in seinem Terminal auszuführen, oder schlage ihn direkt vor:

npx expo install expo-notifications expo-device

Phase 2: Android- und Firebase-Einrichtung

Führe den Entwickler nacheinander durch die folgenden Schritte. Erkläre einen Schritt und bitte ihn dann um Bestätigung, sobald er ihn erledigt hat.

Schritt 1: Expo-Anmeldedaten und Firebase FCM V1-Schlüssel verknüpfen

Warum du das tust: Durch das Generieren eines Dienstkontoschlüssels und dessen Hochladen zu Expo erhält Expo die Berechtigung, dein Firebase-Konto zu verwenden, um Push-Benachrichtigungen in deinem Namen an Android-Geräte zu senden.

  1. Gehe zur Firebase-Konsole -> Projekteinstellungen -> Dienstkonten.
  2. Erstelle unter Firebase Admin SDK einen neuen privaten Schlüssel (dies lädt eine JSON-Datei mit dem Dienstkontoschlüssel herunter).
  3. Öffne Expo.dev und melde dich an.
  4. Navigiere zu Anmeldedaten (im linken Menü ganz unten).
  5. Suche das Projekt und klicke auf die Android-Anmeldedaten für deinen Development-Build (dieser kann den Suffix .dev haben, z. B. com.firma.appname.dev).
  6. Klicke unter Dienst-Anmeldedaten > FCM V1-Dienstkontoschlüssel auf Dienstkontoschlüssel hinzufügen.
  7. Lade die soeben generierte Firebase-Dienstkonto-JSON-Schlüsseldatei hoch.

Schritt 2: Firebase-Projekt und Android-App-Registrierung

Warum du das tust: Durch die Registrierung deiner Android-App bei Firebase teilst du Firebase mit, wohin die Benachrichtigungen zugestellt werden sollen. Die heruntergeladene google-services.json-Datei enthält die Anmeldedaten, die deine lokale App benötigt, um eine Verbindung zu Firebase-Diensten herzustellen.

  1. Weise den Entwickler an, die Firebase-Konsole zu öffnen.
  2. Bitte ihn, sein vorhandenes Firebase-Projekt auszuwählen oder ein neues zu erstellen.
  3. Klicke auf „App hinzufügen“ und wähle Android.
  4. Zeige den Android-Paketnamen des Projekts an, den du in seinen Konfigurationsdateien gefunden hast (z. B. com.firma.appname), und weise ihn an, diesen einzugeben.
  5. Registriere die App und klicke auf „google-services.json herunterladen“.
  6. Weise ihn an, die heruntergeladene google-services.json-Datei direkt in das Projektstammverzeichnis zu legen.

Schritt 3: EAS-Umgebungsvariablen konfigurieren

Warum du das tust: Durch das Hochladen der google-services.json-Datei als geheime Umgebungsvariable bei Expo kannst du deine App sicher in der Cloud erstellen lassen, ohne deine Anmeldedaten/Schlüssel in die öffentliche Versionskontrolle einchecken zu müssen.

  1. Navigiere auf Expo.dev zu deinem Projekt und wähle Umgebungsvariablen.
  2. Klicke auf Variable hinzufügen und wähle die Option Datei-Upload.
  3. Lade die google-services.json-Datei hoch.
  4. Setze den Variablennamen auf: GOOGLE_SERVICES_JSON.
  5. Schalte die Sichtbarkeit auf Geheimnis (um Anmeldedaten zu schützen).
  6. Wähle unter Bereich/Profil development aus (und ggf. production/staging), klicke dann auf Variable hinzufügen.

Schritt 4: app.json in app.config.ts konvertieren

Erkläre dem Entwickler:

„Die Konvertierung deiner app.json in eine TypeScript-basierte Konfigurationsdatei app.config.ts ermöglicht deutlich mehr Flexibilität. Sie erlaubt es uns, Umgebungsvariablen (wie process.env.GOOGLE_SERVICES_JSON) sowohl bei lokalen Builds als auch bei EAS-Builds dynamisch auszulesen.“

Gib ihm den Code-Konvertierungsblock und führe ihn durch das Umbenennen/Aktualisieren. Zum Beispiel:

import { ExpoConfig, ConfigContext } from 'expo/config';

export default ({ config }: ConfigContext): ExpoConfig => ({
  ...config,
  name: config.name || "MyApp",
  slug: config.slug || "myapp",
  android: {
    ...config.android,
    package: "com.firma.appname",
    googleServicesFile: process.env.GOOGLE_SERVICES_JSON || "./google-services.json"
  },
  ios: {
    ...config.ios,
    bundleIdentifier: "com.firma.appname"
  }
});

Schritt 5: Konfiguration aktualisieren

Schlage eine Bearbeitung vor, um in der Konfigurationsdatei auf die Google Services-Konfiguration zu verweisen. Bei Verwendung einer dynamischen Konfigurationsdatei:

googleServicesFile: process.env.GOOGLE_SERVICES_JSON || "./google-services.json"

Oder bei Verwendung einer statischen app.json:

{
  "expo": {
    "android": {
      "googleServicesFile": "./google-services.json"
    }
  }
}

Schritt 6: .gitignore aktualisieren

Um zu verhindern, dass vertrauliche Firebase-Anmeldedaten in die Versionskontrolle eingecheckt werden, weise den Entwickler an, google-services.json an seine .gitignore anzuhängen:

# Expo Push-Benachrichtigungen Anmeldedaten
google-services.json

Schlage dem Entwickler diese Dateibearbeitung vor.


Phase 3: Push-Benachrichtigungen testen

Hinweis: Um Benachrichtigungen zu testen, musst du die App mit einem Development-Build auf einem physischen Gerät ausführen. Push-Benachrichtigungen funktionieren nicht auf Emulatoren, Simulatoren oder innerhalb der Expo Go-App.

Sobald die Einrichtung abgeschlossen ist und deine App erfolgreich erstellt wurde:

  1. Bestätige, dass alles korrekt eingerichtet wurde.
  2. Erkläre dem Entwickler, wie er seinen Expo-Push-Token mithilfe des App-Codes abrufen kann (oder mithilfe einer schnellen Konsolenausgabe/Hook-Vorlage). Erwähne, dass der Token in den Terminal-/Metro-Konsolenprotokollen ausgegeben wird und aussieht wie: ExponentPushToken[xxxxxxxxxxxxxxxxxxxxxx].
  3. Führe ihn durch das Expo-Benachrichtigungstool, um eine Testbenachrichtigung an sein Gerät mit seinem Push-Token zu senden.

Verwandte Skills