Hi @LN !
We finally got around to prototyping this during a tech team meeting with NAXA.
@zestyping was able to pull together a quick working solution for loading entities via an intent.
To answer your specific questions:
Do all deep links have to be registered with the Play Store?
They only have to be registered on the Play Store if they are HTTP links.
If using the URL protocol as collect://xxx
, this isn't an issue.
If the requirement is to have the links identified and hyperlinked within other apps (like whatsapp), then we probably need to use http://
as the protocol and register a verified link on the Play Store, but this is more involved.
Are there any considerations that have to be made up front if we'd like the same links to eventually be deferred deep links that open the Play Store if collect is not installed? Or maybe supporting these links offline is not important because forms have to be downloaded for any work to be possible anyway.
- I don't think this is an issue if using a custom protocol
collect://
. - Further research may need to be done around loading the Play Store ODK Collect listing via an intent, if this is required.
- The URL example links to an entity, but to better align with the Central API convention, we may want to use a structure like: /project/ID/entity/ID.
Additional Considerations
- The PR allows us to build a custom ODK Collect APK and launch directly with an entity pre-loaded.
- We could potentially do what we need without using the entities feature, but think it is best to integrate with the existing entity-based solution (I assume this would be useful to a wider range of users).
Discussion
- Are other users potentially interested in this feature?
- If we fleshed out the PR and added test cases etc, would this be something you are willing to support in Collect?