Template 5.2

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

iOS Support: iOS 11 - iOS 13


Onboarding configuration enhancements

Using version 5.2 there are new ways to configure onboarding to be more flexible on how to

The onboarding can now be configured to reopen via a configuration in the dynamic resources. To do this, a key "onboarding_version" must be assigned its own value in a JSON file config.json. This value is saved by the app when the onboarding is finished and is compared with the current key in the configuration at every app start. If the values differ, the onboarding will be displayed again.

Article swiper navigation

One step towards apps that combine articles with magazine style UX has been taken in version 5.2. Now it’s possible to create a navigation through an arbitrary set of articles (e.g. all articles of an issue or a category) having a completely flexible navigation between these articles.

A specific use case for this feature is having a table of contents for that set of articles. So the user is allowed to swipe through the set but also to directly navigate to one specific entry.

Hide publications from the native storefront

In case there is a setup with a native storefront combined with an HTML based storefront, with version 5.2 there is the option to hide specific publications from the native storefront but still access them in the HTML storefront. This way only a subset of publications is accessible through the native UX and the others may be shown in a way that combines articles with issues in an HTML based UX.


This can be set in the publication settings by activating the last checkbox on the page “hide in native storefront”

Transfer app template version identifiers for Crashlytics

In order to have a connection between crash reports and the corresponding Purple app template version from version 5.2 onwards the version identifier of the Purple Kit are transferred to Crashlytics to be shown in reports.


Access external identifier of articles and issues using JS API

In a case of content synchronisation from external CMS or the Purple DS HUB to Purple apps a so called “external” identifier is added to every content piece in the app context. This external identifier reflects the unique identifier of the external source. It may be used to created links between contents in the external system. To be able to preserve these links in the app context special links are interpreted by the app template. If links or navigation between articles is built up dynamically with JavaScript in the HTML storefront or article/issue contents, this external identifier is now available using the JavaScript API.

Hide top bar in article context

As already available in issue views, it’s now possible to hide the top bar also in article context. This allows articles to build up their own navigation. You can find this in the following section


App Design/Advanced/Actionbar/06. Hide action bar in article content

Configure Readmode data through dynamic content

Starting with Template 5.2 you can publish and manage custom Purple DS Readmode data through the dynamic content.

You need to place all adjusted data into a "readmode" folder on root level


Improved access to dynamic resources

With version 5.1 it is possible to access files within the dynamic resources in InApp Browser & Content WebViews using the resource schema. These URLs must have the following structure:


The path should point to a file within the dynamic resources. These paths are resolved based on the preferred languages of the device. 

The same applies to all relative paths if the html itself was loaded with this scheme. This allows to reduce the total size of the dynamic resource bundle by storing common files in the default folder and localization related files in the respective folders (e.g. de, en, ....). Individual resources for languages can now be overwritten.


Relative urls to other local folders don't work anymore (e.g. "../default/onboarding.html")

If you update the app to template 5.1, this scheme must be resolved (see graphic).

Configuration of the purchase proposal in preview issues

The buttons "Buy" and "Download" in the purchase suggestion for preview issues are now configurable. It is now possible to display one Custom HTML page at a time. The HTML pages are loaded from the dynamic resources.

You can find this setting in:


App Design/Advanced/Purchase Suggestion from Issue

Extension of the Storefront-Javascript-API for querying individual outputs

There is a new getIssueById method that returns issue information about an issue ID. If the issue ID belongs to a preview output, the corresponding output is returned.

New action URL to open storefront in "Kiosk" context

The new action URL works like the previous action URL purple://app/resource/dynamic. Additionally the current output is closed and the Storefront-HTML is displayed in the "Kiosk".

The Firebase Instance ID/token can now be retrieved via the Metadata JavaScript API

With the key "firebase_instance_id" the Firebase Instance ID can be retrieved. This ID can be used to test InAppMessages with Firebase.

With the key "firebase_instance_token" the Firebase Instance Token can be retrieved. This token can be used to test Push (Cloudmessaging) at Firebase.


Change to WKWebView

WKWebView will be in Purple DS Apps in the future the replacement for the no longer supported UIWebView.

With the introduction of these new webview technologies some bugs will be fixed, among others the handling of audio controls, opening new windows and offline thumbnails in HTML storefronts.

Supported 3rd Party SDK-Versions

Android Version
iOS Version
Firebase Analytics17.
Firebase Messaging19.
Firebase In-App Messaging18.
Adobe Mobile4.
Appboy / Braze3.
Facebook SDK
AWS Pinpoint2.
Buzz SDK3.
Play Store Billing Library2.0.3/

Discontinued Purple DS Modules

Support for iOS 10 removed

As a replacement for the UIWebView which is no longer supported by Apple, a change to newly used technologies such as the WKWebView is necessary. This requires iOS 11 as the minimum operating system.

Support for Amazon Kindle devices removed

Amazon Kindle is no longer supported. Apps can no longer be launched on Kindle devices.

Hockey support removed

As Crashlytics is now the de-facto standard for crash reports the remaining Hockey feature of crash reporting has been removed. Thus, the Hockey SDK has been eliminated from building app templates.