Zum Inhalt springen
WebViewGold Vibe Coding in den App Store
Deutsch
WebViewGold holen

Replit + Gerätespeicher

Nativer Speicher und eine Geräte-ID für deine Replit-App

Nutzer erwarten, dass sich eine App an sie erinnert. Cookies und localStorage halten deine Replit-App meist eingeloggt, sind aber Web-Speicher und verschwinden mit dem Cache. WebViewGold ergänzt zwei kleine native Helfer: einen dauerhaften Wertespeicher (writevalue:// und readvalue://) für Einstellungen und das Wiederherstellen der Session sowie eine Geräte-UUID (get-uuid://) für gerätegebundene Lizenzen, vertrauenswürdige Geräte und Einstellungen pro Gerät auf deinem Server.

Ab $109 einmalig pro Plattform, oder unser Team erledigt alles ab $698.

  • Genehmigungsgarantie – oder Geld zurück innerhalb von 14 Tagen
  • Kein Programmieren nötig
  • Einmalzahlung, kostenlose Updates
  • 24/7 Support von echten Menschen
  • Made in Germany seit 2014 · ISO 27001

Zwei native Helfer

Read/Write Value API

writevalue:// speichert alles nach dem Schema als einen einzigen String im privaten Speicher der App; readvalue:// injiziert ihn wieder in die Seite, als window.storedValues auf iOS und window.appSettings auf Android. Die Werte überstehen Neustarts und das Leeren des Caches und verschwinden, wenn die App deinstalliert wird (auf Android auch, wenn ihre App-Daten gelöscht werden).

UUID API

get-uuid:// setzt die JavaScript-Variable uuid, eine nicht personenbezogene, eindeutige Geräte-ID. Alternativ hängst du sie einmal als ?uuid=XYZ an die erste Anfrage an (enhanceUrlUUID / UUID_ENHANCE_WEBVIEW_URL) oder injizierst sie auf jeder Seite (autoInjectVariable / AUTO_INJECT_VARIABLES).

Was es nicht ist

Nicht über Geräte synchronisiert, keine Datenbank, kein Passwort-Tresor. Halte die Werte klein (Einstellungen, Flags, ein widerrufbares Token), lass Nutzerdaten in Express-/Flask-/FastAPI-Backends mit Replit Postgres oder externen Datenbanken und betrachte die UUID nie als Identitätsnachweis.

Prompt für Replit

Füge das in Replit ein, um die Web-App-Seite umzusetzen. Prüfe das Ergebnis, veröffentliche und teste dann in der WebViewGold-App.

Prompt zum Einfügen in Replit Agent
Mach diese Replit-App gerätebewusst für den nativen Wrapper WebViewGold. Erstelle im Frontend einen Helper, der nur dann, wenn navigator.userAgent mein WebViewGold-Token enthält, die globale Variable uuid liest (einmal zu get-uuid:// navigieren, falls sie undefined ist) und sie nach dem Replit-Auth-Login zusammen mit der Plattform per POST an /api/devices schickt. Ergänze im Backend eine Tabelle devices in Postgres (user_id, device_uuid, platform, first_seen, last_seen), schreib bei diesem Aufruf per Upsert hinein und füge GET /api/devices und DELETE /api/devices/:id für einen Bildschirm „Geräte verwalten“ hinzu. Setz auf dem Server als weiches Limit eine kostenlose Testphase pro device_uuid durch. Lass das Session-Cookie 30 Tage mit fortlaufender Verlängerung gelten. Füge einen Helper für Einstellungen hinzu, der Theme, Einheiten und Onboarding-Status mit writevalue://theme=dark;units=metric;onboarded=1 speichert und sie beim Start mit readvalue:// wiederherstellt (nach 250 ms window.storedValues auf iOS oder window.appSettings auf Android parsen), mit localStorage als Fallback in Browsern.

Mit einer gut optimierten Version Ihrer Web-App können Sie innerhalb von wenigen Minuten eine beeindruckende mobile App erstellen. Zusätzlich dazu ist der Kundenservice sehr nett und hilfsbereit! Ich kann WebViewGold nur empfehlen :-)

Julian Koch · Mitbegründer von DuelDonkey · CodeCanyon

Wo es einen Unterschied macht

Eingeloggt bleiben

Schreib nach dem Login ein widerrufbares Refresh-Token. Ist die Web-Session nach dem Leeren des Caches weg, liest du es beim Start zurück und stellst die Session unbemerkt wieder her, statt den Login-Bildschirm zu zeigen.

Einstellungen, die sofort greifen

Theme, Sprache, Einheiten, „Onboarding erledigt“, der zuletzt geöffnete Workspace: beim Start lokal gelesen, bevor dein Backend antwortet, und sogar offline.

Gerätegebundene Lizenzen

„Pro läuft auf zwei Geräten“: Registriere die UUID bei der Aktivierung, zähle die aktiven Geräte auf dem Server und biete einen Bildschirm „Geräte verwalten“ an, um einen Platz freizugeben.

Vertrauenswürdige Geräte

Überspring den zweiten Faktor oder den E-Mail-Code auf einem Gerät, das der Nutzer bereits bestätigt hat, und zeig „Angemeldet auf: iPhone, Pixel“ mit einer Abmeldung pro Gerät.

Kiosks und geteilte Tablets

Ein iPad am Empfang oder ein Scanner-Smartphone im Lager, das immer denselben Standort oder dieselbe Station öffnen soll: Speichere die Stations-ID pro Gerät.

In eine Replit-App einbauen

Rund eine Stunde, plus eine Geräte-Tabelle in deinem Backend.

  1. Die App erkennen

    Leg einen eigenen User Agent in Config.swift (useragent_iphone, useragent_ipad) und Config.java (USER_AGENT) fest und ruf die Schemes nur auf, wenn er passt. Im Browser greifst du auf localStorage zurück.

  2. Ein sicheres Format wählen

    Alles nach writevalue:// wird unverändert als ein String gespeichert, nutze also ein einfaches Format key=value;key=value mit URL-sicheren Werten (Buchstaben, Ziffern, Punkt, Bindestrich, Unterstrich). Jeder Schreibvorgang ersetzt den ganzen String, schreib also immer alle Keys.

  3. Beim Start lesen

    Navigiere zu readvalue://, warte einen Moment (die Doku nutzt 200 ms) und parse window.storedValues (iOS) oder window.appSettings (Android). Wende zuerst Theme und Sprache an und stell dann bei Bedarf die Login-Session wieder her.

  4. Das Gerät registrieren

    Lies nach dem Login uuid aus (nach get-uuid:// oder automatisch mit der Auto-Inject-Option) und speichere sie beim Nutzer in Express-/Flask-/FastAPI-Backends mit Replit Postgres oder externen Datenbanken: User-ID, UUID, Plattform, zuletzt gesehen. Setz Gerätelimits auf dem Server durch, nie im Client.

  5. Aufräumen

    Schreib den Wert beim Logout ohne das Token neu und widerrufe es auf dem Server. Bei der Kontolöschung löschst du auch die Gerätezeilen (Guide zur Kontolöschung).

  6. Die iOS-Regel „ein Aufruf pro Durchlauf“ beachten

    iOS verarbeitet pro Skriptdurchlauf nur eine Schema-Navigation, verkette Aufrufe also mit kurzen Verzögerungen (oder nutze multiapicall://, das get-uuid unterstützt), statt sie im selben Tick abzufeuern.

Ein kleiner Wrapper für beide Plattformen

Dieselbe API in der App und im Browser. Ersetze YourAppToken durch deinen eigenen User Agent.

javascript
var inApp = navigator.userAgent.indexOf("YourAppToken") !== -1;

function nativeWrite(values) {                 // { rt: "abc123", theme: "dark", lang: "de" }
  var str = Object.keys(values).map(function (k) { return k + "=" + (values[k] || ""); }).join(";");
  if (!inApp) { try { localStorage.setItem("appValues", str); } catch (e) {} return; }
  window.location.href = "writevalue://" + str;
}

function parseValues(str) {
  var out = {};
  String(str || "").split(";").forEach(function (pair) {
    var i = pair.indexOf("=");
    if (i > 0) out[pair.slice(0, i)] = pair.slice(i + 1);
  });
  return out;
}

function nativeRead(callback) {
  if (!inApp) { callback(parseValues(localStorage.getItem("appValues"))); return; }
  window.location.href = "readvalue://";
  setTimeout(function () {
    callback(parseValues(window.storedValues || window.appSettings));  // iOS || Android
  }, 250);
}

function nativeDeviceId(callback) {
  if (!inApp) { callback(null); return; }
  if (typeof uuid !== "undefined") { callback(uuid); return; }        // automatisch injiziert
  window.location.href = "get-uuid://";
  setTimeout(function () { callback(typeof uuid !== "undefined" ? uuid : null); }, 250);
}

Datenschutz und Review

  • Wenn du die UUID auf deinem Server speicherst, gib in App Privacy „Geräte-ID“ an (mit dem Nutzer verknüpft, wenn du sie beim Konto speicherst) und im Data-safety-Formular von Google Play „Geräte- oder andere IDs“.
  • Nutze sie nur für deine eigenen Features. Sie an Werbenetzwerke oder Datenhändler weiterzugeben oder mit Daten anderer Unternehmen zu verknüpfen, ist Tracking im Sinne von Guideline 5.1.2 und braucht die ATT-Abfrage (App Tracking Transparency).
  • Kombiniere die UUID nicht mit anderen Gerätesignalen, um Nutzer per Fingerprinting wiederzuerkennen; Apple erlaubt kein Fingerprinting, weder mit noch ohne Abfrage.
  • Sag es in deiner Datenschutzerklärung und deinen AGB: „Diese Lizenz kann auf bis zu zwei Geräten genutzt werden; dafür speichern wir eine Gerätekennung.“
  • Behandle den Wertespeicher wie eine Einstellungsdatei der App: gut für Einstellungen und widerrufbare Tokens, falsch für Passwörter oder Zahlungsdaten.

Häufig gestellte Fragen

Warum nicht einfach Cookies und localStorage nutzen?

Nutze sie zuerst; in der App bleiben sie so erhalten wie in einem Browser. Der native Wertespeicher ist das Backup für alles, was das Leeren des Caches überstehen muss, etwa ein widerrufbares Geräte-Token, der Onboarding-Status oder die Sprachwahl, und er steht beim Start zur Verfügung, sogar offline.

Ist die WebViewGold-UUID dasselbe wie die Werbe-ID?

Nein. Sie ist eine nicht personenbezogene Gerätekennung für deine eigene App-Logik, nicht die IDFA oder die Android-Werbe-ID, und das Auslesen löst keine ATT-Abfrage aus. Würdest du sie nutzen, um Nutzer über Apps anderer Unternehmen hinweg zu verfolgen, oder sie an Werbenetzwerke weitergeben, wäre das Tracking, und die ATT-Regeln würden gelten.

Werden gespeicherte Werte auf die anderen Geräte des Nutzers synchronisiert?

Nein. Die Werte gelten pro Installation und pro Gerät. Alles, was dem Nutzer folgen soll (Profil, Einstellungen, Käufe), gehört in dein Backend; der Gerätespeicher beschleunigt nur den Start und hält ein Gerät eingeloggt.

Was passiert nach einer Neuinstallation oder auf einem neuen Smartphone?

Gespeicherte Werte sind nach einer Deinstallation weg, und du solltest auch nicht davon ausgehen, dass die UUID gleich bleibt. Lass Nutzer sich neu anmelden, registriere das Gerät neu und gib alte Geräte in Express-/Flask-/FastAPI-Backends mit Replit Postgres oder externen Datenbanken nach einer Zeit der Inaktivität oder über einen Bildschirm „Geräte verwalten“ frei.

Kann ich das im Browser oder in einer Vorschau testen?

Nur den Fallback. Die Schemes funktionieren in der WebViewGold-App, nicht in einem Desktop-Browser oder einer Replit-Vorschau. Erkenne den eigenen User Agent, nutze im Browser den localStorage-Fallback und teste den echten Ablauf auf einem Smartphone mit einem Build der App.

Drei Wege, deine App in die Stores zu bringen

Gleiches Ergebnis, unterschiedlich viel Arbeit auf deiner Seite. Alle drei kommen mit Genehmigungsgarantie und 24/7 Support von echten Menschen.

Selbst machen

$109 pro Plattform, einmalig

Die WebViewGold-Lizenz: ein fertiges Xcode- oder Android-Studio-Projekt. URL einfügen, Name und Icon setzen, Features einschalten, bauen und einreichen. Kostenlose Updates für immer.

Pakete auf der Hauptseite ansehen

Full Service

$698 pro Plattform $798

Schick uns deine URL und dein Icon. Unser Team konfiguriert, baut und liefert deine App innerhalb von 72 Stunden, White-Label, inklusive Quellprojekten. Beide Plattformen für $1,158.

Full-Service-Details Powered by WeSetupYourWebViewApp

Winter-Sale-Preise gültig bis 31. Dezember 2026.

Bereit, deine Replit-App zu veröffentlichen?

App Store & Google Play Genehmigungsgarantie – oder Geld zurück innerhalb von 14 Tagen

Lieber abgeben? Full Service: Wir konfigurieren, bauen und liefern innerhalb von 72 Stunden, ab $698 pro Plattform. Fragen? Chatte mit uns – 24/7.

Erstattungen erfolgen zu den in unseren FAQ genannten Bedingungen: eine nicht inhaltsbedingte Ablehnung durch Apple und/oder Google, geltend gemacht innerhalb von 14 Tagen nach dem Kauf.