Willkommen » Blog » Content-Plattform für ein Netz von Android-Apps
CRM Mobile Apps / Eigenprodukt

Content-Plattform für ein Netz von Android-Apps

Seganiko
Kunde Seganiko
Branche Mobile Apps / Eigenprodukt
Typ CRM
Verwendete Technologien Laravel, Filament-Backend, REST-API nur zum Lesen, Schlüssel und Ratenbegrenzung, Versionsmarken, WebP-Umwandlung, Store- und Werbenetz-Abgleich
Kontext

Die Herausforderung

Die Inhalte von vierundzwanzig Apps führen, ohne jede Textkorrektur in ein neues Store-Release zu verwandeln — und das Ganze auf Shared Hosting unterbringen, ohne Root und ohne Container.
Unser Ansatz

Was wir geliefert haben

Die App liest nur: sie holt ein Manifest und ein Paket von Einträgen in ihrer Sprache und schreibt nichts als anonyme Ereignisse. Eine Versionsmarke auf der Antwort verhindert das erneute Laden von Unverändertem — alle drei Formen der Marke mussten akzeptiert werden, weil ein komprimierender Proxy sie umschreibt. Bilder werden beim Hochladen nach WebP gewandelt, und die Zahlen aus Store und Werbenetz liegen neben den Inhalten.
Projektdetails

Ein Backend für ein ganzes Netz von Apps

Bei zwei Apps kann man die Inhalte in Dateien innerhalb jeder App halten. Bei vierundzwanzig wird jede Korrektur an einer Textzeile zu einem neuen Release bei Google Play und einer Woche Wartezeit.

Wir haben eine Plattform gebaut, in der die Inhalte getrennt von den Apps leben: eine Redakteurin ändert sie im Backend, und die Telefone holen sich das aktualisierte Paket selbst — ohne die App zu aktualisieren.

Dashboard der App-Plattform: Anzahl der Einträge und Inhaltsversion je App

Jede Kachel ist eine App: wie viele Einträge sie hält und welche Inhaltsversion gerade veröffentlicht ist.

Worum es geht

  • Produkt: Eigenentwicklung von Seganiko
  • Zweck: Inhaltsplattform für ein Netz von Android-Apps
  • Umfang: 24 Apps, Hunderttausende Einträge
  • Umgebung: gewöhnliches Hosting, ohne Root und ohne Container

Ziele

  • Inhalte ändern, ohne die App zu veröffentlichen.
  • Eine neue App in Minuten aufsetzen statt in einer Woche.
  • Nicht mit Datenvolumen für das bezahlen, was sich nicht geändert hat.
  • Statistik erheben, ohne personenbezogene Daten zu erheben.

Was drinsteckt

  • Ein Backend mit einem Eintragstyp für jedes Format.
  • Eine API nur zum Lesen, mit Schlüssel und Ratenbegrenzung.
  • Eine Medienstrecke: Original und Vorschaubild in WebP.
  • Zahlen aus Store und Werbenetz an einem Ort zusammengeführt.

Die App liest nur

Die zentrale Architekturentscheidung ist einfach: das Telefon schreibt nichts in die Plattform außer anonymen Ereignissen. Es holt das Manifest, holt das Paket der Einträge in seiner Sprache, und das war es. Keine Konten, keine Synchronisierung, keine Konflikte.

Deshalb entsteht eine neue App fast ohne Code: im Backend einen Eintrag anlegen, ein Schlüssel wird erzeugt, Kategorien und Einträge füllen, auf Veröffentlichen drücken — und die Inhaltsversion steigt um eins. Schlüssel und Adresse kommen in die App, danach läuft sie von selbst.

Die Stadien sind in der Liste sichtbar: Idee, Konzept fertig, in Entwicklung, veröffentlicht. Die Plattform hält nicht nur das, was schon im Store ist, sondern auch das, was noch im Rückstand liegt — samt den Kategorien und Einträgen, die dafür vorbereitet werden.

Vierundzwanzig Apps in einer Tabelle

Jede hat ihren Zugriffsschlüssel, ihren Satz an Sprachen, ihre Inhaltsversion und ihren Zustand. Man sieht, was veröffentlicht ist, was in Arbeit steckt und was noch eine Idee ist. Das ist keine Schauwand, sondern die Arbeitsliste, aus der das ganze Netz geführt wird.

App-Liste mit Stadien, Kategorien, API-Schlüsseln und Inhaltsversionen

Einträge verschiedener Form

Ein Rezept, eine Anleitung, eine Quizfrage, eine Spielkarte, ein Fehlercode, ein Rätsel, eine Tatsache — jedes Format hat sein eigenes Bearbeitungsformular, nicht ein einziges Feld namens „Text“. Hundert Einträge lassen sich per Import ergänzen: ein Array einfügen, Typ und Sprache wählen, und das System meldet Zeile für Zeile, was angenommen wurde, was nicht und warum.

Bereich Einträge: Rezepte, Quizfragen, Karten und Nachschlagewerke über die Apps hinweg

Nicht bezahlen für das, was gleich geblieben ist

Das Paket einer App umfasst Hunderte Kilobyte. Es bei jedem Start herunterzuladen ergibt keinen Sinn, deshalb trägt die Antwort eine Versionsmarke: hat das Telefon bereits das aktuelle Paket, antwortet der Server „nichts geändert“ und sendet nichts.

Hier lag die Falle, die die Ersparnis lautlos zunichtemachte: ein Proxy, der Antworten komprimiert, schreibt die Marke in ihre „schwache“ Form um, und der strenge Vergleich passt nicht mehr. Das Telefon lud jedes Mal alles neu. Dem Vergleich musste beigebracht werden, alle drei Formen der Marke zu akzeptieren — die strenge, die schwache und die kommagetrennte.

Medien, die die App nicht aufblähen

Jedes Bild wird beim Hochladen nach WebP umgewandelt und in zwei Größen gehalten: vollständig bis 1200 Pixel und ein Vorschaubild bis 400. Der Server liefert sie mit langem Cache aus, und die App erhält fertige Adressen — keine Umwandlung auf dem Telefon.

Mediathek der Plattform mit WebP-Umwandlung und Vorschaubildern

Statistik ohne personenbezogene Daten

Die Apps senden anonyme Ereignisse — ein Öffnen, ein Wechsel, eine Aktion. Keine Kennungen einer Person, keine Kontakte. Höchstens fünfzig Ereignisse je Anfrage, und fehlerhafte Zeilen werden schlicht verworfen, statt den ganzen Aufruf scheitern zu lassen.

Daneben führt die Plattform die Zahlen aus dem App-Store und dem Werbenetz zusammen — damit Installationen und Erlöse dort gelesen werden, wo auch die Inhalte liegen, und nicht in drei verschiedenen Konsolen.

Projektablauf

1
Phase 1
Inhaltsmodell
App, Kategorie, Eintrag, Sprache. Ein Eintragstyp je Format, jeder mit eigenem Bearbeitungsformular.
2
Phase 2
API
Nur Lesen, ein Schlüssel je App, Ratenbegrenzung, Versionsmarke auf der Antwort und eine Veröffentlichen-Aktion, die die Inhaltsversion anhebt.
3
Phase 3
Medien und Import
WebP-Umwandlung mit Vorschaubildern, langer Cache, Array-Import mit zeilenweisem Bericht.
4
Phase 4
Zahlen
Anonyme Ereignisse aus den Apps sowie Installationen und Erlöse aus Store und Werbenetz.

Unter der Haube

Plattform

Laravel mit einem Filament-Backend. Es lebt auf gewöhnlichem Hosting: ohne Root, ohne Container, Warteschlange und Cache in der Datenbank, Bilder werden beim Hochladen umgewandelt.

API

Vier Lesepunkte, ein Schlüssel im Header, Grenzen je Schlüssel und je Adresse, eine Versionsmarke mit der Antwort „nichts geändert“. Fehler sind schlichtes JSON mit einem Code.

Ablage

Ein eigener Ort für Builds und Store-Material: Symbole, Bildschirmfotos, Beschreibungen. Dazu Querverweise zwischen den Apps des Netzes.

Das Ergebnis

Ein Netz aus vierundzwanzig Apps, in dem eine Textkorrektur den Nutzer in Minuten erreicht statt in einer Woche. Eine neue App entsteht im Backend in wenigen Minuten: anlegen, füllen, veröffentlichen, Schlüssel einsetzen.

Und das alles läuft auf gewöhnlichem Hosting — ohne eigenen Server, ohne Warteschlangen im Arbeitsspeicher und ohne Container, für die es dort ohnehin keinen Platz gäbe.


Ein ähnliches Projekt?

Lassen Sie uns Ihre Ziele besprechen.

Kostenloses Angebot anfordern →
Fragen?

Besprechen wir
Ihr Projekt.

Erstes Gespräch kostenlos und unverbindlich.