It's possible to implement what called "App Links" by Android and called "Universal Links" by iOS; @Coffee has linked to the Android development docs on that.
The idea is that every note have a canonical URL that could possibly be opened in an ordinary browser (but it doesn't need to), and if user installed Joplin app, the app can intercept those URLs and open it in the app.
So we could probably have note URLs like:
https://joplincloud.com/note/ebcd30d052bb46bbb87353beeda96089
and configure Joplin app to intercept https://joplincloud.com/note/* and open the corresponding note in the app.
joplincloud.com will need to serve two files to explicitly express that it allow specified app to intercept links to it: /.well-known/assetlinks.json for Android, /apple-app-site-association for iOS, each containing specified app ID/package name and signing certificate's hash.
The issue would be that every user trying to open notes with those URLs will hit joplincloud.com to obtain the association file, and probably will hit those canonical note URLs if user haven't installed the app, intentionally testing it, or unintentionally shared the link.
Those URLs on the server probably need to display a descriptive page saying that these URLs can only be opened in Joplin, probably provide a link to install the app. Serving these files/pages could incur additional cost. And it could have privacy issues too, as the server is possible to get user's IP and the note's IDs they trying to open.
So ... yes, technically it's doable. But it has additional administrative cost on the website need to consider.
1 Like