1. Systemübersicht
- Firebase Hosting: statische Auslieferung von Loader und Creatives.
- Tracking Service (Cloud Run): Event-Erfassung auf
/track.
- Creative Admin (Cloud Run): Login, Kundenverwaltung, ZIP-Upload, TechTag-Generator.
- Firestore: persistente Speicherung von Nutzern, Kunden und Creative-Metadaten.
- Cloud Storage (optional): sofortige Live-Auslieferung nach ZIP-Upload.
2. Rollen & Accounts
- superadmin: Kundenkonten anlegen, Impression-Ziel (1k bis 1.5 Mio) setzen und alle Creatives verwalten.
- customer: nur eigene Kampagnen hochladen und eigene TechTags sehen.
Superadmin kommt aus Env-Variablen:
SUPERADMIN_EMAIL=admin@deinefirma.com
SUPERADMIN_PASSWORD=starkes-passwort
AUTH_SECRET=langes-zufaelliges-secret
3. Firebase/Firestore Setup
Im Blaze-Projekt drastik-ads-mvp sicherstellen:
- Firestore aktiviert (Native Mode)
- Cloud Run Service Account hat Firestore-Rechte
- Admin-Deploy mit
USE_FIRESTORE=true
4. Deploy-Runbook
gcloud run deploy drastik-admin \
--source ./creative-admin \
--project drastik-ads-mvp \
--region europe-west6 \
--allow-unauthenticated \
--clear-base-image \
--command node \
--args server.js \
--set-env-vars SUPERADMIN_EMAIL=admin@deinefirma.com,SUPERADMIN_PASSWORD=starkes-passwort,AUTH_SECRET=langes-secret,HOSTING_ORIGIN=https://drastik-ads-mvp.web.app,TRACKING_ENDPOINT=https://drastik-tracking-803043015619.europe-west6.run.app/track,USE_FIRESTORE=true,CREATIVE_BUCKET=drastik-ads-mvp-creatives,CREATIVE_HOST_ORIGIN=https://storage.googleapis.com/drastik-ads-mvp-creatives
Auto-Live:
- Mit
CREATIVE_BUCKET ist Upload sofort live (kein Hosting-Deploy nötig).
- Ohne
CREATIVE_BUCKET weiterhin npm run deploy:hosting.
5. Tagesbetrieb
- Superadmin loggt sich ein
- Kunde wird angelegt (Name, E-Mail, Passwort, Impression-Ziel)
- Kunde loggt sich ein und lädt ZIP hoch
- Impression-Fortschritt wird im Dashboard als Balken angezeigt
- TechTag aus UI kopieren und an Publisher geben
- Bei Bucket-Modus: sofort live testen, sonst Hosting deployen und testen
6. Publisher Snippet
Wird im Admin automatisch pro Creative erzeugt und ist dort direkt kopierbar.
7. Creative Template
templates/creative-template/
- index.html
- styles.css
- creative.js
8. Troubleshooting
- Keine Einträge im Admin: Upload noch nicht durchgeführt oder falscher Nutzerkontext.
- Kunde kann alles sehen: prüfen, ob Nutzer wirklich Rolle
customer hat.
- v2 nicht erreichbar: im Nicht-Bucket-Modus fehlt Hosting-Deploy; im Bucket-Modus Bucket/Origin prüfen.