General Information


In Purple DS Apps you have to the option to customise the menu used in the app.


In addition to the basic entries such as the newsstand and if necessary a newsfeed etc, you can add further menu entries to your app.


Examples, are among others:


  • Link to an external website, which will be opened in a browser overlay
  • Link to an HTML page in the app (in the dynamic content) such as an imprint or the FAQ
  • Link to a specific issue in the newsstand or newsfeed.



Instructions


In the dynamic content of a Purple DS app, there is always a so-called app_menu.xml file which defines the app menu. 


The XML file is usually structured as follows:




The file consists of the following elements:


Frame:

This is the container in which the components of the app menu are stored and looks like this


<app_menu></app_menu>




Header image

You have the option to place a logo above the entries of the app menu, which will be stored in the app_menu.xml as follows:


    <navigationHeader>


        <image URL="menulogo.png" paddingTop="10.0" height="100.0" />


    </navigationHeader>


You need to specify the exact path to the logo file here, as well as the desired height and a padding.


Menu item

A single entry in the menu (using the "Bookmarks" entry as an example) looks like this:


<navigationNode targetURL="purple://app/bookmarks/open">


    <title>Bookmarks</title>


    <iconURL>menuicons/bookmarks.png</iconURL>


</navigationNode>



  • The "navigationNode" contains a URL, which triggers a certain event. The URL can be a Purple DS deep link, an external URL to a web page or a link to an HTML page in the dynamic content.
  • The "title" tag contains the text for the displayed entry. In the example above, this is "Bookmarks".
  • The "iconURL" refers to the icon for this entry in the dynamic content. This entry can also remain empty, in which case no icon is displayed. Icons must be referenced by their file name. More information about App Menu Icons can be found here.



An overview of possible deep links can be found in the technical documentation