Wie ich an einem Tag ein komplettes Empfehlungssystem in React Native aufgebaut habe
Gestern habe ich 8 Stunden damit verbracht, etwas zu programmieren, das nichts mit dem Produkt selbst zu tun hat. Keine neue Funktion. Keine Fehlerbehebung. Keine Optimierung. Ein Empfehlungssystem.
Ich entwickle TAMSIV, einen sprachgesteuerten Aufgabenmanager für Android. Alleiniger Entwickler, über 660 Commits, 6 Monate Arbeit. Ich habe 12 Alpha-Tester im Play Store und ich brauche, dass diese Zahl wächst – organisch.
Das Konzept
Einfach: Jeder Benutzer hat einen einzigartigen Empfehlungscode. Sie teilen ihn. Wenn sich jemand damit anmeldet, erhalten beide 1 Monat kostenloses Pro. Und das summiert sich – 10 Empfehlungen = 10 kostenlose Monate, die nacheinander in die Warteschlange gestellt werden.
Die 3 Erfassungsquellen
Der schwierigste Teil ist nicht das Generieren der Codes. Es ist das zuverlässige Erfassen der Codes.
1. Deep Links über die Website
Wenn jemand tamsiv.com/invite/CODE besucht, leitet Next.js zum Play Store mit dem integrierten Empfehlungscode weiter.
2. Android App Links (direkte Öffnung)
Wenn die App bereits installiert ist, öffnet tamsiv://invite/CODE sie direkt. Dies erfordert die Konfiguration der AndroidManifest.xml mit den entsprechenden Intent-Filtern und einer assetlinks.json-Datei auf der Website zur Verifizierung.
3. Play Store Install Referrer
Dies ist die am meisten unterschätzte Quelle. Wenn jemand auf einen Play Store-Link mit dem Parameter &referrer=CODE klickt, speichert Android diese Zeichenfolge. Selbst wenn die Person die App 3 Tage später installiert, können wir den Code immer noch lesen.
Gestapelte Belohnungen
Die meisten Empfehlungssysteme geben eine einmalige Belohnung. Ich wollte, dass sich die Belohnungen ansammeln. Jede Empfehlung fügt 30 Tage Pro hinzu, die nach Ablauf der vorherigen in die Warteschlange gestellt werden.
Push-Benachrichtigungen in 6 Sprachen
Wenn jemand Ihren Code verwendet, erhalten Sie eine Push-Benachrichtigung. In Ihrer Sprache. Da TAMSIV 6 Sprachen spricht, überprüft das Backend die Sprachpräferenz des Werbers, bevor es über FCM sendet.
In Zahlen
- 22 Dateien geändert (Backend, Frontend, Website, Android-Manifest)
- 1.324 Zeilen hinzugefügt
- 1 Tag konzentrierter Arbeit
- 6 Sprachen unterstützt
- 3 Erfassungsquellen für maximale Abdeckung
Was ich gelernt habe
Die Verifizierung von Android App Links ist fragil. Die Datei assetlinks.json muss genau am richtigen Ort mit dem exakten SHA256 Ihres Signaturschlüssels bereitgestellt werden.
Der Play Store Install Referrer wird unterschätzt. Die meisten Tutorials überspringen ihn, aber es ist die einzige Möglichkeit, Empfehlungen über verzögerte Installationen zu erfassen.
Das Stapeln von Belohnungen erhöht die Komplexität. Ein einfaches „gibt 1 Monat kostenlos“ ist einfach. Das Warteschlangen von mehreren Belohnungen erfordert die Verwaltung von Start- und Enddaten sowie die Beziehung zu RevenueCat.