Compare commits
3 commits
a388fb2f5f
...
580eaec1fd
| Author | SHA1 | Date | |
|---|---|---|---|
| 580eaec1fd | |||
| 5138b2a411 | |||
| ad252c66c9 |
8 changed files with 81 additions and 21 deletions
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
**Single Source of Truth fürs Marketing.** Vor jeder Aktion hier prüfen, danach updaten — so wird nichts doppelt gemacht, vergessen oder übersehen. Pflege: René + Claude.
|
||||
|
||||
_Stand: 2026-06-03_
|
||||
_Stand: 2026-06-09_
|
||||
|
||||
> Diese Datei = Planung & Checkliste. Für **Live-Daten** (User-Meilenstein, Kanal-Tracking) lohnt zusätzlich ein Marketing-Tab im **Admin-Bereich** — siehe „Ausbau" unten.
|
||||
|
||||
|
|
@ -20,7 +20,7 @@ _Stand: 2026-06-03_
|
|||
| Verzeichnisse / Listings | ⬜ offen | Product Hunt, PWA-Dirs, Google Business EBE |
|
||||
| SEO / KI-Auffindbarkeit | 🟡 technisch optimiert | Backlinks (Blog-Testberichte) |
|
||||
| Landing Page | 🟡 Redesign-Briefing da | 3 Einstiege, Outcomes statt Features |
|
||||
| App Store (iOS) | 🟢 in Review (1.0 (3), 03.06.) | Freigabe abwarten |
|
||||
| App Store (iOS) | 🟢 **LIVE im App Store** (09.06., Apple-ID 6775012705) | Landing bewirbt „Ban Yaro Go" (Hero + iOS-Abschnitt `#ios-app`) + Profil-Hinweis (Settings → App installieren). Offizielles „Laden im App Store"-Badge nachgebaut als `/img/appstore-badge-de.svg` (brauner Rand #C4843A). **Auf STAGING live (v1275)** — Produktion (`make deploy`) erst auf Renés Go |
|
||||
| Play Store (Android) | 🔴 ON HOLD | 12 Closed-Tester / 14 Tage fehlen |
|
||||
| Merch / NFC-Halsband | 💡 recherchiert | 20 Tags für Beta (~33 €) |
|
||||
|
||||
|
|
@ -28,7 +28,7 @@ Legende: 🟢 läuft/erledigt · 🟡 angefangen · ⬜ offen · 💡 Idee ·
|
|||
|
||||
## ⏳ Gates / Trigger (nicht zu früh starten)
|
||||
- **Influencer & Presse Runde 3** erst ab **~50 aktiven Usern** — vorher zu früh (Großredaktionen fragen zuerst nach Zahlen). → Bei jeder Session aktuelle User-Zahl checken.
|
||||
- iOS-App ist nativ gebaut & in Review — **überholt** die alte „iOS erst ab 10k via Rork/PWABuilder"-Strategie.
|
||||
- iOS-App ist nativ gebaut & **live im App Store** — **überholt** die alte „iOS erst ab 10k via Rork/PWABuilder"-Strategie. Web→App-Bewerbung ist erlaubt (anders als App→Web, das Apple wegen Abo-Steering nach 3.1.1 abgelehnt hatte).
|
||||
|
||||
## 📋 Backlog (konkret als Nächstes)
|
||||
- [ ] **Flyer lokal verteilen (Ebersberg)** — Tierärzte (Wartezimmer), Hundeschulen/Welpengruppen, Futterläden, Hundesalons, Tierheim, Hundewiesen-Aushänge, hundefreundliche Cafés. Persönlich erklären; Aufhänger: Giftköder-Radar + „Daten in Deutschland". **Lokal bündeln, nicht streuen** (Community-Dichte für Gassi-Treffen/Giftköder).
|
||||
|
|
@ -40,7 +40,8 @@ Legende: 🟢 läuft/erledigt · 🟡 angefangen · ⬜ offen · 💡 Idee ·
|
|||
|
||||
## ✅ Erledigt
|
||||
- [x] 1000 Flyer A5 (zweiseitig) gedruckt — 03.06.2026
|
||||
- [x] iOS-App nativ gebaut + eingereicht (1.0 (3), in Review) — Details im Repo `banyaro-ios`
|
||||
- [x] iOS-App nativ gebaut + **im App Store freigegeben** (Ban Yaro Go, 09.06.) — Details im Repo `banyaro-ios`
|
||||
- [x] Landing-Promotion für „Ban Yaro Go" gebaut (Hero-Badge + iOS-Abschnitt) — 09.06., develop (URL-Platzhalter offen)
|
||||
- [x] Influencer-Outreach Runde 1 (5) + Runde 2 (13) — Mai 2026
|
||||
- [x] SEO-Grundlagen (llms.txt, Landing About-Section)
|
||||
|
||||
|
|
|
|||
2
VERSION
2
VERSION
|
|
@ -1 +1 @@
|
|||
1273
|
||||
1276
|
||||
6
backend/static/img/appstore-badge-de.svg
Normal file
6
backend/static/img/appstore-badge-de.svg
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 340 100" role="img" aria-label="Laden im App Store">
|
||||
<rect x="2.5" y="2.5" width="335" height="95" rx="17" fill="#000000" stroke="#C4843A" stroke-width="2.5"/>
|
||||
<path transform="translate(38,22) scale(0.057)" fill="#FFFFFF" d="M788.1 340.9c-5.8 4.5-108.2 62.2-108.2 190.5 0 148.4 130.3 200.9 134.2 202.2-.6 3.2-20.7 71.9-68.7 141.9-42.8 61.6-87.5 123.1-155.5 123.1s-85.5-39.5-164-39.5c-76.5 0-103.7 40.8-165.2 40.8s-104.4-57-154.3-127C46.7 790.8 0 663.3 0 542.4c0-194 126.1-296.9 250.2-296.9 65.9 0 120.8 43.3 162.2 43.3 39.4 0 100.8-45.9 175.8-45.9 28.4 0 130.8 2.6 197.9 99.1zM554.1 159.4c31-36.8 52.9-87.9 52.9-139 0-7.1-.6-14.3-1.9-20.1-50.4 1.9-110.4 33.6-146.6 75.6-28.4 32.3-54.9 83.4-54.9 135.2 0 7.8 1.3 15.6 1.9 18.1 3.2.6 8.4 1.3 13.6 1.3 45.2 0 102.1-30.3 135.1-71.1z"/>
|
||||
<text x="105" y="40" fill="#FFFFFF" font-family="-apple-system,BlinkMacSystemFont,'Helvetica Neue',Helvetica,Arial,sans-serif" font-size="20" font-weight="400">Laden im</text>
|
||||
<text x="103" y="83" fill="#FFFFFF" font-family="-apple-system,BlinkMacSystemFont,'Helvetica Neue',Helvetica,Arial,sans-serif" font-size="43" font-weight="500" letter-spacing="-1">App Store</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
|
|
@ -86,14 +86,14 @@
|
|||
<title>Ban Yaro</title>
|
||||
|
||||
<!-- Theme + theme-color Statusleiste vor CSS setzen -->
|
||||
<script src="/js/boot-early.js?v=1273"></script>
|
||||
<script src="/js/boot-early.js?v=1276"></script>
|
||||
|
||||
<!-- CSS: Reihenfolge ist wichtig — ?v= zwingt Browser zur Neuladung -->
|
||||
<link rel="stylesheet" href="/css/design-system.css?v=1273">
|
||||
<link rel="stylesheet" href="/css/layout.css?v=1273">
|
||||
<link rel="stylesheet" href="/css/components.css?v=1273">
|
||||
<link rel="stylesheet" href="/css/utilities.css?v=1273">
|
||||
<link rel="stylesheet" href="/css/lists.css?v=1273">
|
||||
<link rel="stylesheet" href="/css/design-system.css?v=1276">
|
||||
<link rel="stylesheet" href="/css/layout.css?v=1276">
|
||||
<link rel="stylesheet" href="/css/components.css?v=1276">
|
||||
<link rel="stylesheet" href="/css/utilities.css?v=1276">
|
||||
<link rel="stylesheet" href="/css/lists.css?v=1276">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
|
@ -620,11 +620,11 @@
|
|||
<div id="modal-container"></div>
|
||||
|
||||
<!-- JS: Reihenfolge ist wichtig — erst Basis, dann Features -->
|
||||
<script src="/js/api.js?v=1273"></script>
|
||||
<script src="/js/ui.js?v=1273"></script>
|
||||
<script src="/js/app.js?v=1273"></script>
|
||||
<script src="/js/worlds.js?v=1273"></script>
|
||||
<script src="/js/offline-indicator.js?v=1273"></script>
|
||||
<script src="/js/api.js?v=1276"></script>
|
||||
<script src="/js/ui.js?v=1276"></script>
|
||||
<script src="/js/app.js?v=1276"></script>
|
||||
<script src="/js/worlds.js?v=1276"></script>
|
||||
<script src="/js/offline-indicator.js?v=1276"></script>
|
||||
|
||||
<!-- Feature-Seiten werden lazy geladen -->
|
||||
|
||||
|
|
@ -634,7 +634,7 @@
|
|||
|
||||
|
||||
<!-- Boot: Offline-Banner + SW-Registration (extrahiert für CSP) -->
|
||||
<script src="/js/boot.js?v=1273"></script>
|
||||
<script src="/js/boot.js?v=1276"></script>
|
||||
|
||||
|
||||
</body>
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
Router, State-Management, Navigation, Initialisierung.
|
||||
============================================================ */
|
||||
|
||||
const APP_VER = '1273'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen
|
||||
const APP_VER = '1276'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen
|
||||
const APP_VERSION = '1.6.0'; // ← semantische Version, wird bei make release gesetzt
|
||||
window.APP_VER = APP_VER; // global verfügbar für andere Module (z.B. offline-indicator)
|
||||
window.APP_VERSION = APP_VERSION;
|
||||
|
|
|
|||
|
|
@ -900,6 +900,14 @@ window.Page_settings = (() => {
|
|||
<span>Installations-Anleitung</span>
|
||||
<span style="margin-left:auto;color:var(--c-text-secondary)">›</span>
|
||||
</div>
|
||||
<a href="https://apps.apple.com/app/ban-yaro-go/id6775012705" rel="noopener"
|
||||
style="display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);text-decoration:none;border-top:1px solid var(--c-border)">
|
||||
<div style="display:flex;flex-direction:column;gap:1px;flex:1;min-width:0">
|
||||
<span style="font-weight:600;color:var(--c-text)">Ban Yaro Go fürs iPhone</span>
|
||||
<span class="text-xs-secondary">Tracking im Hintergrund, offline dabei</span>
|
||||
</div>
|
||||
<img src="/img/appstore-badge-de.svg" alt="Laden im App Store" style="height:42px;width:auto;flex-shrink:0">
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@
|
|||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="color-scheme" content="light dark">
|
||||
<script src="/js/landing-init.js?v=1273"></script>
|
||||
<script src="/js/landing-init.js?v=1276"></script>
|
||||
<title>Ban Yaro — Die Hunde-App für Deutschland, Österreich & Schweiz</title>
|
||||
<meta name="description" content="Ban Yaro: Die kostenlose All-in-One Hunde-App für DACH. Tagebuch, Giftköder-Alarm, Training mit KI, Forum, Wurfbörse, Stammbaum, Inzucht-Check — DSGVO-konform, offline-fähig, direkt im Browser.">
|
||||
<meta name="description" content="Ban Yaro: Die kostenlose All-in-One Hunde-App für DACH. Tagebuch, Giftköder-Alarm, Training mit KI, Forum, Wurfbörse, Stammbaum, Inzucht-Check — DSGVO-konform, offline-fähig, direkt im Browser oder als native iPhone-App (Ban Yaro Go).">
|
||||
<meta name="keywords" content="Hunde App, Hunde Community, Wurfbörse, Züchter, Welpen kaufen, Stammbaum Hund, Inzuchtkoeffizient, Hundezucht, Impfpass Hund, Giftköder Alarm, Gassi Community, Hundetraining App, Hunde Forum, Hunde KI, Hundefilm Datenbank, Welpen Marktplatz">
|
||||
<meta name="robots" content="index, follow">
|
||||
<link rel="canonical" href="https://banyaro.app/">
|
||||
|
|
@ -79,6 +79,7 @@
|
|||
"Zecken-Warnung regelbasiert (Saison und Temperatur)",
|
||||
"Wetter-Chip in der App (Open-Meteo, ohne API-Key)",
|
||||
"Gassi-Community und GPS-Routen aufzeichnen",
|
||||
"Native iPhone-App (Ban Yaro Go): Tracking im Hintergrund bei gesperrtem Display, Apple Health, Live-Aktivität, GPX-Import",
|
||||
"Täglicher Routenvorschlag (2, 4 oder 6 km via OpenRouteService)",
|
||||
"Hundesitting-Vermittlung (nur 8% Provision)",
|
||||
"NFC-Halsband-Tags mit öffentlichem Hunde-Profil",
|
||||
|
|
@ -731,6 +732,7 @@
|
|||
html.dark tr:nth-child(even) td { background: #141210 !important; }
|
||||
html.dark footer { background: #0d0b09 !important; }
|
||||
html.dark .section-intro { color: #a89880 !important; }
|
||||
html.dark .ios-card { background: #1e1a16 !important; border-color: #2e2620 !important; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
|
@ -1534,6 +1536,49 @@
|
|||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Native iOS-App — Ban Yaro Go -->
|
||||
<section id="ios-app" style="background:var(--bg)">
|
||||
<div class="container">
|
||||
<div class="ios-card" style="background:white;border:2px solid var(--border);border-radius:18px;padding:clamp(1.75rem,5vw,3rem);text-align:center;max-width:780px;margin:0 auto;box-shadow:0 8px 32px rgba(0,0,0,.06)">
|
||||
<span style="display:inline-flex;align-items:center;gap:.45rem;background:var(--primary-light);color:var(--primary);font-weight:700;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;padding:.4rem 1rem;border-radius:999px;margin-bottom:1rem">
|
||||
<svg viewBox="0 0 256 256" style="width:1rem;height:1rem;fill:currentColor"><use href="/icons/phosphor.svg#apple-logo"></use></svg>
|
||||
Jetzt im App Store
|
||||
</span>
|
||||
<h2 style="margin:0 0 .75rem">Lieber nativ? Ban Yaro Go fürs iPhone</h2>
|
||||
<p class="section-intro" style="margin:0 auto 2rem">Die native App ist auf das gemacht, was unterwegs wirklich zählt — und läuft auch dann weiter, wenn der Browser längst aufgegeben hätte.</p>
|
||||
|
||||
<div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.4rem;text-align:left;margin-bottom:2.25rem">
|
||||
<div class="usp-item">
|
||||
<svg class="usp-icon" viewBox="0 0 256 256"><use href="/icons/phosphor.svg#device-mobile"></use></svg>
|
||||
<div>
|
||||
<h3>Track läuft einfach weiter</h3>
|
||||
<p>Die Aufzeichnung läuft im Hintergrund — auch bei gesperrtem Display, in der Hosentasche oder während du telefonierst. Mit Live-Aktivität in der Dynamic Island und automatischer Pause beim Stehenbleiben.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="usp-item">
|
||||
<svg class="usp-icon" viewBox="0 0 256 256"><use href="/icons/phosphor.svg#cloud-slash"></use></svg>
|
||||
<div>
|
||||
<h3>Funkloch-sicher unterwegs</h3>
|
||||
<p>Kein Empfang? Egal. Die Tour wird lokal auf dem iPhone gesichert und automatisch hochgeladen, sobald wieder Netz da ist. Hunde, Touren und Tagebuch sind offline dabei.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="usp-item">
|
||||
<svg class="usp-icon" viewBox="0 0 256 256"><use href="/icons/phosphor.svg#heartbeat"></use></svg>
|
||||
<div>
|
||||
<h3>Tief in iOS integriert</h3>
|
||||
<p>Touren landen auf Wunsch als Spaziergang-Workout in Apple Health, Fotos hängen am richtigen Streckenpunkt, und GPX-Tracks aus Komoot & Co. kommen per Teilen-Menü rein.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<a href="https://apps.apple.com/app/ban-yaro-go/id6775012705" data-appstore aria-label="Ban Yaro Go im App Store laden" style="display:inline-block;line-height:0;margin-top:.5rem">
|
||||
<img src="/img/appstore-badge-de.svg" alt="Laden im App Store" style="height:58px;width:auto">
|
||||
</a>
|
||||
<p style="font-size:.85rem;color:var(--text-muted);margin-top:1rem">Kostenlos · iPhone, iOS 17+ · banyaro.app bleibt im Browser voll nutzbar</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<div class="container" style="text-align:center">
|
||||
<h2>Jetzt kostenlos starten</h2>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
============================================================ */
|
||||
|
||||
// ← EINZIGE Stelle für die Version — STATIC_ASSETS und CACHE_VERSION leiten sich ab
|
||||
const VER = '1273';
|
||||
const VER = '1276';
|
||||
const CACHE_VERSION = `by-v${VER}`;
|
||||
const CACHE_STATIC = `${CACHE_VERSION}-static`;
|
||||
const CACHE_TILES = 'ban-yaro-tiles-v1'; // bleibt über SW-Updates erhalten
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue