Template 5.2

Android Support: 5.0 (Lollipop) - 10.0 (Q)

iOS Support: iOS 11 - iOS 13


Neuerungen


Verbesserungen der Onboarding-Konfiguration

Mit der Version 5.2 gibt es neue Möglichkeiten, das Onboarding flexibler zu konfigurieren, wie z.B.


Das Onboarding kann nun über eine Konfiguration in den dynamischen Ressourcen wieder geöffnet werden. Dazu muss einem Schlüssel "onboarding_version" in einer JSON-Datei config.json ein eigener Wert zugewiesen werden. Dieser Wert wird von der App nach Beendigung des Onboardings gespeichert und bei jedem Start der App mit dem aktuellen Schlüssel in der Konfiguration verglichen. Wenn die Werte abweichen, wird das Onboarding wieder angezeigt.


Artikel Swiper-Navigation

Ein Schritt in Richtung Apps, die Artikel mit UX im Magazinstil kombinieren, wurde in Version 5.2 unternommen. Jetzt ist es möglich, eine Navigation durch eine beliebige Menge von Artikeln (z.B. alle Artikel einer Ausgabe oder einer Kategorie) zu erstellen, wobei die Navigation zwischen diesen Artikeln völlig flexibel ist.


Ein spezieller Anwendungsfall für diese Funktion ist das Vorhandensein eines Inhaltsverzeichnisses für diesen Satz von Artikeln. So kann der Benutzer durch die Menge blättern, aber auch direkt zu einem bestimmten Eintrag navigieren.


Publikationen im nativen Kiosk ausblenden

Für den Fall, dass es eine Konfiguration mit einer nativen Storefront in Kombination mit einer HTML-basierten Storefront gibt, gibt es mit Version 5.2 die Möglichkeit, bestimmte Publikationen im nativen Storefront auszublenden, aber dennoch im HTML-Storefront zu öffnen. Auf diese Weise ist nur eine Teilmenge von Publikationen über die native UX zugänglich und die anderen können in einer Weise angezeigt werden, die Artikel mit Ausgaben in einer HTML-basierten UX kombiniert.

 

Dies kann in den Publikationseinstellungen durch Aktivieren des letzten Kontrollkästchens auf der Seite "in der nativen Schaufensterumgebung verbergen" eingestellt werden.


App Template Version Identifier zu Crashlytics übertragen

Um eine Verbindung zwischen den Crash-Berichten und der entsprechenden Version des Purple-App-Templates ab Version 5.2 herzustellen, werden die Version Identifier des Purple-Kits an Crashlytics übertragen, damit sie in den Berichten angezeigt werden können.


Zugriff auf externe Identifier von Artikeln und Ausgaben über die JS API

Im Falle einer Inhaltssynchronisation von einem externen CMS oder dem Purple DS HUB zu Purple Apps wird jedem Inhalt im App-Kontext ein so genannter "externer" Identifikator hinzugefügt. 

Dieser externe Identifikator spiegelt die eindeutige Kennung der externen Quelle wider. Er kann verwendet werden, um Links zwischen Inhalten im externen System zu erstellen. Um diese Links im App-Kontext zu erhalten, werden spezielle Links von der App-Vorlage interpretiert. 

Wenn Links oder die Navigation zwischen Artikeln dynamisch mit JavaScript in der HTML Storefront oder den Inhalten der Artikel/Ausgaben aufgebaut werden, steht diese externe Kennung nun über die JavaScript-API zur Verfügung.


Topbar im Artikelkontext ausblenden

Wie bereits in den Ausgabenansichten verfügbar, ist es nun möglich, die obere Leiste auch im Artikelkontext auszublenden. Dies erlaubt es den Artikeln, eine eigene Navigation aufzubauen. Sie finden diese im folgenden Abschnitt


App Design/Erweitert/Aktionsleiste/06. Aktionsleiste im Artikelinhalt ausblenden


Konfigurieren von Daten im Lesemodus durch dynamischen Inhalt

Beginnend mit Vorlage 5.2 können Sie benutzerdefinierte Purple DS Readmode-Daten über den dynamischen Inhalt veröffentlichen und verwalten.


Sie müssen alle angepassten Daten in einem "readmode"-Ordner auf Root Ebene ablegen.




Verbesserter Zugriff auf dynamische Ressourcen

Ab Version 5.1 ist es möglich, mit Hilfe des Ressourcenschemas auf Dateien innerhalb der dynamischen Ressourcen in InApp-Browser & Content-WebViews zuzugreifen. Diese URLs müssen die folgende Struktur aufweisen:


Ressource://dynamisch/<Pfad>


Der Pfad sollte auf eine Datei innerhalb der dynamischen Ressourcen zeigen. Diese Pfade werden basierend auf den bevorzugten Sprachen des Geräts aufgelöst. 


Das gleiche gilt für alle relativen Pfade, wenn das html selbst mit diesem Schema geladen wurde. Dies ermöglicht es, die Gesamtgröße des dynamischen Ressourcenbündels zu reduzieren, indem gemeinsame Dateien in den Standardordner und lokalisierungsbezogene Dateien in den jeweiligen Ordnern (z.B. de, en, ....) abgelegt werden. Es können nun also einzelne Ressourcen für Sprachen überschrieben werden.



WICHTIG!


Relative Urls zu anderen Local Ordnern funktionieren nicht mehr (z.B. "../default/onboarding.html")

Bei einem App-Update auf Template 5.1 muss dieses Schema aufgelöst werden (siehe Grafik)





Konfiguration des Kaufvorschlags in Vorschauausgaben

Die Buttons "Kaufen" bzw. "Herunterladen" im Kaufvorschlag bei Vorschauausgaben sind ab sofort konfigurierbar. Es ist jetzt möglich, jeweils eine Custom-HTML-Seite anzuzeigen. Die HTML-Seiten werden dabei aus den dynamischen Ressourcen geladen.


Erweiterung der Storefront-Javascript-API zur Abfrage einzelner Ausgaben

Es gibt eine neue getIssueById-Methode, die Issue-Informationen zu einer Issue-ID liefert. Sollte die Issue-ID zu einer Preview-Ausgabe gehören, wird die dazugehörende Ausgabe zurückgegeben.


Neue Action-URL um Storefront in "Kiosk"-Kontext zu öffnen

Die neue Action-URL funktioniert wie die bisherige Action-URL purple://app/resource/dynamic. Zusätzlich wird bei Aufruf innerhalb von Ausgaben, die aktuelle Ausgabe geschlossen wird und das Storefront-HTML im "Kiosk" angezeigt wird.


Die Firebase Instance ID/Token kann nun über die Metadata-JavaScript-API abgefragt werden

Über den Key "firebase_instance_id" kann die Firebase Instance ID abgefragt werden. Diese ID kann zum Testen von InAppMessages bei Firebase genutzt werden.


Über den Key "firebase_instance_token" kann der Firebase Instance Token abgefragt werden. Dieser Token kann zum Testen von Push (Cloudmessaging) bei Firebase genutzt werden.



iOS


Wechsel zu WKWebView

WKWebView wird in Purple DS Apps zukünftig der Ersatz für die nicht mehr unterstützte UIWebView sein.

Mit Einführung dieser neuen Webview Technologien werden einige Fehler behoben, unter Anderem das Handling von Audio Controls, Öffnen neuer Fenster und offline Thumbnails in HTML Storefronts.


Unterstützte 3rd Party SDK-Versionen


Library
Android Version
iOS Version
Firebase Analytics17.2.06.10.0
Firebase Messaging19.0.16.10.0
Firebase In-App Messaging18.0.26.10.0
Crashlytics2.10.13.14.0
Adjust4.18.04.18.3
Adobe Mobile4.13.54.18.8
Appboy / Braze3.6.03.20.3
Facebook SDK 5.2.05.8.0
Flurry11.7.110.0.2
AWS Pinpoint2.14.22.11.2
Buzz SDK3.0.83.1.0
Play Store Billing Library2.0.3/



Entfernung alter Purple DS Module


Unterstützung für iOS 10 entfernt

Als Ersatz für die nicht mehr von Apple unterstützte UIWebView ist ein Wechsel zu neu eingesetzten Technologien wie die WKWebView notwendig. Diese setzt als minimales Betriebssystem iOS 11 voraus.


Unterstützung für Amazon Kindle Geräte entfernt

Amazon Kindle wird nicht mehr unterstützt. Apps können nicht mehr auf Kindle-Geräten gestartet werden.


Hockey-Unterstützung entfernt

Da Crashlytics jetzt der De-facto-Standard für Crash-Berichte ist, wurde die verbleibende Hockey-Funktion der Crash-Berichte entfernt. Daher wurde das Hockey-SDK aus der Erstellung von Anwendungsvorlagen entfernt.