Eine AR-App für die Interaktion mit Berühmtheiten

Eine AR-App für die Interaktion mit Berühmtheiten

Itransition ist eine Partnerschaft mit Holla eingegangen, um sichere AR-Anwendungen für iOS und Android bereitzustellen, die es den Nutzern ermöglichen, mit Avataren von Prominenten zu interagieren und deren Produkte zu kaufen.

Kontext

Der Kunde hatte eine Idee für eine Anwendung, die es Nutzern ermöglichen sollte, mit prominenten Avataren in der erweiterten Realität zu interagieren. Er beauftragte Itransition mit der AR-Entwicklung und der Erstellung von Anwendungen für die Plattformen iOS und Android.

Lösung

Geschäftsanalyse

Wir begannen mit der Ausarbeitung der Anforderungen an die Anwendungen und definierten sie wie folgt: hohe Leistung auf iOS- und Android-Plattformen, hochwertige Grafiken, einfacher Quellcode, Integration mit nativen Mobilgerätefunktionen und Skalierbarkeit.

Ausgehend von den Anforderungen wählten wir als Nächstes den AR-Technologie-Stack für das Projekt aus. Am Ende entschieden wir uns für die ARKit-Entwicklungsplattform für die iOS-App und ARCore für die Android-Lösung, da die Entwicklung mit diesen Plattformen die vollständige Einhaltung der App-Store-Richtlinien, ein einheitliches Erscheinungsbild sowie eine hohe Leistung und Skalierbarkeit gewährleistet.

Für die Android-Anwendung wählten wir das MVVM-Architekturmuster (Model-View-ViewModel) und ein modulares Design, um die Lösung flexibler und skalierbarer zu machen. Bei der iOS-Anwendung entschieden wir uns für das Coordinator-Muster, da es uns ermöglichte, die Anwendungslogik in Schichten zu unterteilen, Abstraktionen zu implementieren und eine effektive Navigation aufzubauen.

Funktionalität

Itransition entwickelte iOS- und Android-Anwendungen für die Interaktion mit prominenten Avataren in Echtzeit und den Kauf ihrer exklusiven Waren. Die Anwendungen bieten mehrere Mitgliedschaftspläne, die sich im Umfang der den Nutzern zur Verfügung stehenden Funktionen unterscheiden. Mit der kostenlosen Version der Anwendung können die Nutzer beispielsweise nur mit einem Avatar kommunizieren, während Abonnenten drei Avatare auswählen und mit ihnen ohne Werbung kommunizieren können.

Interaktion mit Avataren

Sobald der App-Nutzer eine Interaktion mit dem ausgewählten Avatar initiiert, öffnet das System eine Handykamera, um die Umgebung vor dem Gerät zu scannen und den Avatar auf einer horizontalen Fläche zu überlagern.

Die Anwendung empfängt die Dateien mit den Avatar-Daten vom Server über die Rest API HTTP. Mithilfe der Funktionen von ARCore und ARKit ermittelt die App den Standort des Telefons in der realen Welt und ermöglicht realistische Interaktionen zwischen dem 3D-Avatar und horizontalen Flächen. Anschließend importiert die Lösung mithilfe von SceneKit- und Sceneform-Engines 3D-Avatare, die der Nutzer im Raum platzieren, skalieren, drehen und bewegen kann. Die App ermöglicht es den Benutzern auch, den Hintergrund zu ändern, verschiedene Animationen abzuspielen und Fotos mit dem Avatar zu machen.

Die Anwendung ermöglicht es den Nutzern, den Avataren eine Liste von Fragen zu stellen, die wir auf der Grundlage unserer Forschung zusammengestellt und mit Antworten versehen haben. Die Anwendung hört sich die Frage des Benutzers an, wandelt ihre Sprache in Text um und sendet sie an den Server. Der Server verarbeitet diese Daten und sendet die Antwort an den Avatar zurück.

Wenn der Benutzer eine Zeit lang nicht mit dem Avatar kommuniziert, das System die Antwort nicht finden kann oder die Antwortzeit des Servers zu lang ist, spielt die Anwendung eine Reihe von Standardanimationen ab.

Einkauf über Amazon

Die Anwendung ermöglicht es den Nutzern, Waren von Prominenten zu kaufen, indem sie auf den Marker auf dem Outfit des 3D-Modells klicken. Die Anwendung öffnet dann die Vorschau des Artikels, von wo aus die Nutzer auf die Amazon-Seite zugreifen und ihn dort kaufen können.

Der Kaufvorgang unterbricht die Kommunikation mit dem Avatar nicht, der Avatar wird im Hintergrund angezeigt, bleibt aber stumm. Der Nutzer kann einen bestimmten Artikel auch in seiner Favoritenliste speichern.

Benachrichtigungen

Avatare können den Nutzer auch über anstehende Konzerte der Prominenten informieren. Findet das Konzert in der Stadt des Nutzers statt, benachrichtigt die App den Nutzer über die Veranstaltung und das Datum und bietet ihm an, Tickets zu kaufen.

Um diese Benachrichtigungen bereitzustellen, fordert die Anwendung die Erlaubnis an, auf die Geolokalisierungsdaten des Nutzers zuzugreifen und Benachrichtigungen zu senden. Wir haben den nativen Mechanismus verwendet, um lokale Benachrichtigungen zu ermöglichen, und Firebase Cloud Messaging für Push-Benachrichtigungen genutzt.

Werbung

Um die Anzeige von Werbung für Nicht-Abonnenten zu ermöglichen, haben wir die Anwendungen mit dem Amazon Advertising Service integriert. Außerdem haben wir das aspektorientierte Programmier-Framework eingesetzt, um die Punkte zu definieren, an denen wir Anzeigen integrieren wollen und wann die Engine sie anzeigen soll.

Als Ergebnis zeigt die App die Liste der Geschäfte und ein Werbebanner am unteren Rand des Bildschirms an und öffnet es in voller Größe auf einem anderen Bildschirm, den der Benutzer schließen kann.

Designverbesserung

Der Kunde hatte das Design der Anwendungen bereits erstellt, wollte es aber verfeinern und beauftragte unser Team mit dieser Aufgabe. Wir haben einige wichtige Änderungen vorgenommen, z. B. Farbhintergründe erstellt und Elemente der Benutzeroberfläche so konfiguriert, dass sie intuitiver sind.

The application design before
The application design after

Anwendungssicherheit

Wir haben die Sicherheit der App mit den folgenden Tools verstärkt:

  • Themis, eine Bibliothek kryptografischer Dienste für die Verschlüsselung urheberrechtlich geschützter Inhalte
  • AWS Identity and Access Management, ein Dienst zur Verwaltung von Benutzerrechten
  • Amazon Cognito, ein Service für Multi-Faktor-Benutzerauthentifizierung und Verschlüsselung von Daten im Ruhezustand und bei der Übertragung

Wir führten auch umfangreiche Sicherheitstests durch, um potenzielle Schwachstellen und Sicherheitsprobleme in der Anwendung zu ermitteln. Unsere QA-Spezialisten führten die Tests manuell durch und verwendeten halbautomatische Tools für arbeitsintensive Aufgaben wie Fuzzing und Brute-Force-Tests, die Ermittlung offener Ports und mehr. Wir führten auch spezifische Sicherheitsprüfungen durch, wie zum Beispiel:

  • Netzwerktests zur Ermittlung von Sicherheitsschwachstellen im Netz
  • Lokale Speichertests zur Bewertung der Sicherheit von Anwendungsdaten, die auf mobilen Geräten gespeichert sind
  • Bewertung der Interaktion von Anwendungen mit dem jeweiligen Betriebssystem

Technologien

Wir haben die iOS-Anwendung mit Swift und die Android-Anwendung mit Kotlin entwickelt. Wir haben uns auf AWS Lex verlassen, um die Konversationsschnittstellen der Apps für die Sprach- und Textkommunikation zu erstellen.

Wir implementierten die Serverseite der Anwendungen mit AWS, da der Kunde bereits Amazon als Hosting-Provider hatte, und setzten Amazon DynamoDB als Datenbank-Engine für die Speicherung der Systemdaten ein. Für die sichere Speicherung der Anwendungsdaten haben wir den Amazon S3-Dienst eingesetzt.

Unser Team setzte Amazon SNS ein, einen vollständig verwalteten Messaging-Service, um Push-Benachrichtigungen für Anwendungsbenutzer zu ermöglichen. Wir verwendeten auch AWS Fargate, um Aufgaben wie das Senden von Push-Benachrichtigungen und E-Mails für eine große Anzahl von Benutzern zu planen. Zum Hosten von Produktions-, Staging- und Benutzerumgebungen verwendeten wir AWS CloudFormation.

Ergebnisse

Itransition lieferte AR-Mobilanwendungen für Android und iOS, die es Nutzern ermöglichen, mit 3D-Promi-Avataren in Echtzeit zu interagieren und deren exklusive Inhalte und Waren zu kaufen.

Bislang hat der Kunde mit den Anwendungen folgende Ergebnisse erzielt:

  • Mehr als 1 Million Dollar an Investitionen eingeworben
  • 3.000+ registrierte Nutzer

Screenshots