000%
COMMISSION Nº 04 · 2024–25 — ANDROID COMMERCE
BRIGHTMALL · Android

Brightmall Android — die andere Hälfte des Storefronts, derselbe Vertrag wie auf iOS.

Brightmall Android — dieselbe hybride Commerce-Shell wie das iOS-Pendant, in Kotlin und auf derselben Release-Kadenz.

FIG. 01BRIGHTMALL — ANDROID — BRIGHTMALL · Android
COMMISSIONAndroid · Kotlin · Hilt · Coroutines · WebView · Android-11 deep-link2024 — 2025

Ich entwickelte beide Versionen allein und stimmte das Verhalten sowie den Release-Zeitplan der Android-App auf die iOS-App ab.

Die Anwendung ist in Kotlin mit AndroidX-Views, Hilt, Coroutines und einer Deep-Link-Policy auf Android-11-Niveau geschrieben, die das koreanische Bezahl- und Banking-Ökosystem sauber durchläuft. Die Native-Shell trägt den Storefront-Traffic über eine WebView-Surface mit derselben Konfiguration wie bei Certilife.

Der schwierige Teil einer koreanischen Commerce-Shell ist alles rund um das Bezahlen. Seit Android 11 muss eine App vorab deklarieren, welche externen Apps sie überhaupt sehen will — also wird die Shell mit einer expliziten Allowlist für die Bezahl- und Banking-Apps des Landes ausgeliefert. Feuert der Storefront einen Bezahl-Intent, parst ihn die Shell, startet die passende App, wenn sie installiert ist, und weicht andernfalls auf den Store-Eintrag aus — die Schleife „erst installieren, dann bezahlen", die koreanische Payment-Gateways erwarten, erledigt, ohne dass die Web-Schicht etwas davon merkt.

Die Token-Brücke und die Anruf-Brücke spiegeln die iOS-Verträge eins zu eins, die WebView stellt sich dem Server auf dieselbe Weise vor, und selbst das randlose Inset-Handling wurde mit dem Safe-Area-Verhalten von iOS als Referenz geschrieben. Der Foto-Upload aus dem Storefront öffnet einen nativen Auswahldialog — Kamera oder Galerie —, verdrahtet über Androids Scoped-File-APIs, der regelkonforme Weg, ein Web-Datei-Eingabefeld zu bedienen. Und ein Schalter, den es nur im Debug-Build gibt, führt die Shell ohne Rebuild durch die Serverumgebungen.

— FIN —