Removal of sending submissions via SMS in Collect

In October 2018, the Google Play Store announced that they would restrict the use of high risk or sensitive permissions, including the SEND_SMS permission that ODK Collect uses for automated/background sending of submissions over SMS.

Over the last few months, we have spoken with our contacts at Google to see if Collect could be provided an exception given the humanitarian nature of our work. Despite much back and forth, an exception has not been granted.

If we continue to use SEND_SMS, Collect will be removed from the Play Store. A removal would be a catastrophe for every user and, for that reason, Collect v1.20 and later will disable the SMS sending feature until we can find a viable way forward.

We know this change will make it very difficult for users who rely on SMS to transfer data in places with no Internet connection. If you need to use SMS, your best option is to not upgrade (or download the APK). You can also continue to send SMS during a form filling session through specifying a URI as intent data.

Hi @yanokwa,

Is Specifying a URI as intent data also restricted?

1 Like

No since then we start the default SMS app we can still do that.

1 Like

Hi all, is there any follow up on this? I saw that there is a GitHub issue to figure out how to move forward with the SMS related code, but haven't seen much discussion.

As you can probably tell, I am keen to maintain the SMS sending feature in some way, so would like to have this figured out before it gets removed from the codebase.

Are we better off discussing here in the forum, GitHub, Slack, or elsewhere?

@abbyad If a contributor did the work to split off the functionality, it might be possible to keep around.

I'm a little concerned that Google will go even further and prevent apps with prohibited features that are served for sideloading from even being in the Play Store.

Thanks @LN, I get the hint :slight_smile:

If anyone else is already looking at this please reach out here. We'd also like to hear opinions on the approaches discussed on the issue:

  1. Use a build variant (aka product flavor) to include the SMS permission and code.
  2. Falling back to using an Android Intent when SMS permissions are not available