Does anyone know if it is possible and how can I create a URLScheme for my mobile application?
Pedro Santos wrote:
To define a deep link to a Screen (<screen>) of a Module (<module>) of a Mobile App use the following syntax:
<screen>
<module>
<app-identifier>://<module>/<screen>
Where <app-identifier> is the App identifier you defined when generating your Mobile App Package in lowercase.
<app-identifier>
Ref below for more detail:
https://success.outsystems.com/Documentation/Development_FAQs/How_to_Define_Mobile_App_Deep_Links
assif_tiger wrote:
Where <app-identifier>
Thanks assif, it works fine, but it's not enough for me.
I need to redirect users to my app and, when it is not install, I'd like them to be directed to App Store (this problem only occours for iOS users).
I think that with a URL Scheme, I will be redirect to store automatically if the app is not install.
I’m sharing solution now so that other developers working on mobile apps in OutSystems can pick the right approach based on their needsSolution 1 : Yes, you can launch the app by using the scheme like:
This works if the app is installed. But if the app is not installed, Safari (and some other browsers) will show an alert like:
"Cannot open the page because the address is invalid."
To handle this, there is one approach :
Using iFrame + Timeout (Workaround)
You can avoid the Safari error popup by using an invisible iframe and adding a fallback to the App Store/Play Store. Create a web page with iframe html node and on the ready of the screen inside Javascript node
(function(){ var iframe = document.getElementById($parameters.iframe); iframe.src = "<app-identifier>://<module>/<screen>"; setTimeout(function() { window.location.href = "App store URL"; //change here }, 2000);})();
🔹 How it works
If the app is installed → it opens immediately.
If not installed → after 2 seconds, the user is redirected to the App Store without seeing Safari’s error popup.
👉 This is the easiest solution if you want a quick fix.
Solution 2: Universal Links (Recommended by Apple & Android)
The official way is to use Universal Links (iOS) and App Links (Android). For this, you need to host a file (apple-app-site-association on iOS / assetlinks.json on Android) on your server.
Challenges in OutSystems / Custom Hosting
The file must be hosted at the root of your domain:
https://yourdomain.com/apple-app-site-association
It must be served with MIME type application/json.
It must have no .json extension.
No redirects allowed (301/302).
OutSystems doesn’t directly allow uploading a file without an extension, so you may need:
Support from IT/Ops team to configure the server, or
A workaround with an external web server (like AWS S3/CloudFront, Azure Blob, etc.) to serve the file properly.
✨ Summary
Solution 1 (iframe + timeout): Quick workaround, handles Safari popup issue.
Solution 2 (Universal/App Links): Official, recommended by Apple/Google, but requires correct file hosting setup and has extra configuration challenges.