URL scheme for IOS app


#1

happy to have the new app :slight_smile:

I use apps like Workflow and Launcher that require a URL scheme to interact with apps. This could for example allow me to create a button in launcher to any item in my Dynalist document and open it in the app.

This is a “Developers” request because it probably won’t affect the average user but would allow better integration between the Dynalist app and other apps.


Gathering API v0.1 ideas
#2

For basic launching, you can make the url scheme very simple for users to create. For example, this is a legal url scheme:

dynalist://https://dynalist.io/d/xxxxxxxxx

Just a matter of pasting the url onto dynalist://, no parsing or encoding req’d.


#3

@Matt_Groth, thanks for creating this topic! Do I mind if I move it to “Features”, as this is useful to all iOS app users, and not just devs?


#4

@Erica, while you are definitely correct that this would be useful for all users, I think it might also be good to have a topic about it here so developers can weigh in with our ideas for how the url scheme syntax could be mos tuseful. :slight_smile:

I think @rawbytz has a great point that basic launching would be a simple endeavor .But perhaps it can be even simpler by removing redundant name space stuff?

dynalist://d/xxxxx


#5

Vehemently disagree. :smile: The method I propose uses two URL schemes:

dynalist://https://

With two schemes, you don’t need to snip and encode… you just pre-pend the original URL with dynalist://

https://dynalist.io/d/xxxxxxxxxxxxxx#z=xxxxxxxxxxxxxxx
… becomes
dynalist://https://dynalist.io/d/xxxxxxxxxxxxxx#z=xxxxxxxxxxxxxxx
It may be uglier, but it is way simpler, and faster to create.

With a single url scheme, first you must snip the Dynalist path and hash:
d/xxxxxxxxxxxxxx#z=xxxxxxxxxxxxxxx

Then encode it to this:
d%2Fxxxxxxxxxxxxxx%23z%3Dxxxxxxxxxxxxxxx

Then prepend with the scheme, command and parameter
dynalist://open?path=d%2Fxxxxxxxxxxxxxx%23z%3Dxxxxxxxxxxxxxxx


#6

True, but is there any reason we can’t make both work?


#7

… I was going to mention that, but felt my post was long enough already :wink:

And for other stuff, like creating new bullets commands and parameters and encoding will be required.


#8

Ah, didn’t know that’s where you were coming from. I totally understand now!


#9

Any progress with this? I’m using Drafts 5 a lot sice it came out and would love to be able to integrate it with Dynalist …


#10

Yes I would also very much be interested in this. Especially if there is a fast way to add to inbox for pro users. Thanks!


#11

Sorry for the late reply! It’s on the our queue of mobile improvements, but allow us to fix up/down keys on iOS and also the keyboard jumping issue first! :smile:

Roger that! Thanks for the feedback :ok_hand:


#12

Just adding one more upvote – URL scheme + the API are mission critical for me. I subscribe to Pro, but I’ll never be able to use Dynalist as a core part of my system until the URL scheme and API are available and good.

As you make plans for the URL scheme, please consider making it consistent across both the iOS and macOS apps. For services with applications on both platforms, it’s super annoying when one has a URL scheme and the other doesn’t, or the URL schemes are inconsistent with each other.


#13

Ok, we’ll keep that in mind!

Also, to be sure for your vote to double count, please like the main post as well. That way it’s easier to tell from a glance how much interest it receives. Thanks!


#14

iOS has a system for registering URLs schemes as well. Some URL schemes, like “http” and “mailto” are reserved by Apple to point to their own Safari and Mail apps, but apps installed from the App Store can register to handle other arbitrary URL schemes.

  • Check your registering part of the URL as the scheme. The bit of the URL before the first colon is the scheme (http or https typically). To use a custom scheme you need to make up a new scheme for the URL and output that URL.

  • Tests"canOpenUrl", canOpenUrl just checks whether you are allowed to open the URL. It’s my guess that your app doesn’t work because it doesn’t have the permissions to open that URL.

  • Check the URL Scheme is deprecated or not.