In the Previous article, we learned how to add additional non-default Full Screens to your app, via the use of Full Screen Plugins.
In this article, we will discuss the scenario of how to locate the Screen ID of a Full Screen generated from a plugin. The main use case for this, would be if we would want to open this specific screen via a URL Scheme (for example as part of a Push Notification).
Let's say you have a Full Screen added to your app.
For example the "Nilo" Full Screen was added to your app.
This type of Full Screen is added to the app in the form of a Full Screen Plugin, and then becomes available in the "Add Screen" menu:
As such, upon being added, it Does NOT have a Screen ID parameter, as the rest of the default UI Builder screens.
How to Locate the Screen ID?
Given the scenario above, what do we do in case we want to send a Push Notification that opens directly the Nilo Screen? How to we achieve this, if we don't know the Screen ID?
Here is how to locate the Screen ID of the Nilo screen (or any other Plugin-Generated screen), even when it does not appear in the Screen itself in the UI builder:
1) Open the river.json JSON file of the specific app version you are working on.
The Json file can be located by:
i- Click on the Info button from the Dropdown menu of the relevant version
ii- Click on the "Revel Build Parameters" button:
iii- Scroll down to the bottom part of the popup screen, where you will find the rivers.json URL under "rivers_url=xxxxxxxxxxx"
2) Open the rivers.json URL and locate the Screen you are interested in.
For example, here we are searching for the screen called "Ahora":
3) the "target" parameter inside the screen, is the de-facto Screen ID.
4) Now you can use the URL Scheme to send the push:
When you open a Screen in your app using a URL Scheme and the Screen ID, the Screen Name does not appear in the Navigation Bar.
In order to solve this (works in Android Only), please add the following parameter to your URL Scheme:
Notice that if the screen name has special characters or spaces, it needs to be encoded
(you can use this simple online tool to encode your title: https://www.urldecoder.org/)