187 lines
5.2 KiB
Markdown
187 lines
5.2 KiB
Markdown
# Publishing SkateSpots to Zapstore
|
|
|
|
Zapstore is a permissionless, Nostr-based app store for Android. However, **SkateSpots is a web app (PWA)**, not a native Android APK, so direct Zapstore publishing isn't applicable in the traditional sense.
|
|
|
|
## 🤔 Current Situation
|
|
|
|
**SkateSpots is:**
|
|
- ✅ A Progressive Web App (PWA)
|
|
- ✅ Installable on Android, iOS, and Desktop
|
|
- ✅ Built with React/Vite (web technologies)
|
|
- ❌ NOT a native Android APK
|
|
|
|
**Zapstore is designed for:**
|
|
- ✅ Native Android APK files (.apk)
|
|
- ✅ Apps compiled for Android (Java/Kotlin)
|
|
- ❌ NOT for web apps or PWAs
|
|
|
|
## 🚀 Options to Get SkateSpots on Zapstore
|
|
|
|
### Option 1: Create a Native Android Wrapper (Recommended for Zapstore)
|
|
|
|
Convert the PWA to a native Android app using one of these tools:
|
|
|
|
**A. Capacitor** (Recommended)
|
|
```bash
|
|
npm install @capacitor/core @capacitor/cli
|
|
npx cap init
|
|
npx cap add android
|
|
npm run build
|
|
npx cap copy
|
|
npx cap open android
|
|
```
|
|
|
|
Then build APK in Android Studio and publish to Zapstore.
|
|
|
|
**B. PWA Builder**
|
|
- Visit https://www.pwabuilder.com/
|
|
- Enter your deployed URL: https://skate-spots.com
|
|
- Generate Android APK
|
|
- Sign and publish to Zapstore
|
|
|
|
**C. Trusted Web Activity (TWA)**
|
|
- Create a minimal Android app that wraps your PWA
|
|
- Requires Android development setup
|
|
- More control but more complex
|
|
|
|
### Option 2: Promote PWA Installation (Current Best Option)
|
|
|
|
Since SkateSpots is already a PWA, you can:
|
|
|
|
**On Android:**
|
|
1. Open https://skate-spots.com in Chrome
|
|
2. Tap menu → "Add to Home Screen"
|
|
3. App installs like a native app
|
|
4. Works offline, has app icon, full-screen experience
|
|
|
|
**Advantages:**
|
|
- ✅ Works NOW without any changes
|
|
- ✅ No app store approval needed
|
|
- ✅ Cross-platform (Android, iOS, Desktop)
|
|
- ✅ Instant updates (no app store review)
|
|
- ✅ Users already have it available
|
|
|
|
**Promote this in your marketing:**
|
|
- "Install SkateSpots PWA from your browser"
|
|
- Add installation instructions to homepage
|
|
- QR code linking to https://skate-spots.com
|
|
|
|
### Option 3: Publish as Nostr Event (Alternative Distribution)
|
|
|
|
Even without an APK, you could publish app metadata to Nostr:
|
|
|
|
**Use Zapstore NIPs for visibility:**
|
|
- Kind 32267: App metadata
|
|
- Include your PWA URL
|
|
- Tag as "web app" or "PWA"
|
|
- Zapstore users might discover it even if they can't install via Zapstore
|
|
|
|
This wouldn't enable Zapstore installation but would list your app in the Nostr ecosystem.
|
|
|
|
## 📝 If You Want to Proceed with Native Android (Zapstore-ready)
|
|
|
|
### Step 1: Install Zapstore CLI
|
|
```bash
|
|
npm install -g zapstore-cli
|
|
```
|
|
|
|
### Step 2: Create `zapstore.yaml` in project root
|
|
|
|
```yaml
|
|
# Repository (optional - for open source apps)
|
|
repository: nostr://npub1yrnuj56rnen08zp2h9h7p74ghgjx6ma39spmpj6w9hzxywutevsst7k5cx/git.shakespeare.diy/skate-spots
|
|
|
|
# Name of the app
|
|
name: SkateSpots
|
|
|
|
# App identifier (reverse domain notation)
|
|
identifier: com.skatespots.app
|
|
|
|
# Description
|
|
summary: Decentralized skate spot discovery on Nostr
|
|
|
|
# Icon (path to icon file)
|
|
icon: public/images/icon-512.png
|
|
|
|
# Screenshots
|
|
images:
|
|
- public/images/screenshot-1.png
|
|
- public/images/screenshot-2.png
|
|
|
|
# APK files to publish (regex pattern)
|
|
assets:
|
|
- output/.*.apk
|
|
|
|
# Categories/tags
|
|
tags:
|
|
- skateboarding
|
|
- nostr
|
|
- social
|
|
- sports
|
|
- maps
|
|
|
|
# Remote metadata sources
|
|
remote_metadata:
|
|
- github
|
|
```
|
|
|
|
### Step 3: Build Android APK
|
|
Using Capacitor, PWA Builder, or manual Android development.
|
|
|
|
### Step 4: Publish to Zapstore
|
|
```bash
|
|
zapstore publish
|
|
```
|
|
|
|
You'll be prompted to sign with:
|
|
- Your nsec (secret key)
|
|
- Browser extension (NIP-07)
|
|
- Nostr Connect bunker
|
|
|
|
### Step 5: Published!
|
|
- App goes live immediately (no approval process)
|
|
- Listed on relay.zapstore.dev
|
|
- Discoverable via Nostr social graph
|
|
- Users can zap you directly
|
|
|
|
## 🎯 My Recommendation
|
|
|
|
**For NOW:**
|
|
1. ✅ Keep promoting PWA installation (works great!)
|
|
2. ✅ Add PWA install instructions to homepage
|
|
3. ✅ Create installation guide in docs/FAQ
|
|
|
|
**For FUTURE (if you want native Android):**
|
|
1. Use **Capacitor** to wrap SkateSpots as native Android app
|
|
2. Build signed APK
|
|
3. Create `zapstore.yaml` config
|
|
4. Publish to Zapstore with `zapstore publish`
|
|
|
|
## 🔗 Useful Links
|
|
|
|
- **Zapstore Website**: https://zapstore.dev
|
|
- **Zapstore Docs**: https://zapstore.dev/docs
|
|
- **Zapstore CLI**: https://zapstore.dev/docs/publish
|
|
- **GitHub**: https://github.com/zapstore/zapstore
|
|
- **Download Zapstore App**: https://zapstore.dev (for Android users)
|
|
|
|
## ❓ Questions?
|
|
|
|
**Q: Can I publish a PWA to Zapstore?**
|
|
A: Not directly. Zapstore expects .apk files. You'd need to wrap your PWA as a native Android app first.
|
|
|
|
**Q: Do I need to pay to publish?**
|
|
A: No! Publishing is free and permissionless. Anyone with a Nostr pubkey can publish.
|
|
|
|
**Q: Will users pay for the app?**
|
|
A: Apps can be free or paid. Users can zap (tip) developers directly via Lightning.
|
|
|
|
**Q: How do updates work?**
|
|
A: Run `zapstore publish` again with new APK. Users get notified of updates.
|
|
|
|
**Q: Can iOS users use Zapstore?**
|
|
A: No, Zapstore is Android-only. iOS users can install your PWA via Safari's "Add to Home Screen".
|
|
|
|
---
|
|
|
|
**Bottom line:** SkateSpots is currently a PWA, which is already installable on Android (and iOS/Desktop). To publish to Zapstore, you'd need to create a native Android APK wrapper first. The PWA approach is working great for now! 🛹⚡
|