339
Views
3
Comments
How to create a URL Scheme?
Question

Does anyone know if it is possible and how can I create a URLScheme for my mobile application?

2021-04-09 11-42-43
assif_tiger
 
MVP

Pedro Santos wrote:

Does anyone know if it is possible and how can I create a URLScheme for my mobile application?

To define a deep link to a Screen (<screen>) of a Module (<module>) of a Mobile App use the following syntax:

<app-identifier>://<module>/<screen>

Where <app-identifier> is the App identifier you defined when generating your Mobile App Package in lowercase.


Ref below for more detail:

https://success.outsystems.com/Documentation/Development_FAQs/How_to_Define_Mobile_App_Deep_Links



2019-12-31 17-14-43
Pedro Santos

assif_tiger wrote:

Pedro Santos wrote:

Does anyone know if it is possible and how can I create a URLScheme for my mobile application?

To define a deep link to a Screen (<screen>) of a Module (<module>) of a Mobile App use the following syntax:

<app-identifier>://<module>/<screen>

Where <app-identifier>    


Ref below for more detail:

https://success.outsystems.com/Documentation/Development_FAQs/How_to_Define_Mobile_App_Deep_Links



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.


2023-08-01 16-31-38
Nagaraju Gaddam

I’m sharing solution now so that other developers working on mobile apps in OutSystems can pick the right approach based on their needs

Solution 1 : 

Yes, you can launch the app by using the scheme like:

<app-identifier>://<module>/<screen>

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.


Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.