I would like to see the plus sign (+) sign honored as a space when ArcGIS is interpreting URL parameters, so that QR codes for can be used with custom URL parameters that need support for spaces in field values.
For example, with Instant Apps, like Basic, you can configure a custom URL parameter mapped to a field. The values in that field may contain spaces. When creating a URL to use the custom parameter, one would typically replace a space in the field's value with %20.
Unfortunately web browsers will fail to load such URLs correctly when accessed the URL is access via a QR code scanner app, such as the iOS camera app (and other QR code reader apps.) The iOS camera app converts a %20 to a + (plus sign) in the scanned URL before passing it to the device's default web browser.
For example, if I have configured the Basic Instant App with a custom URL parameter of "name" and want to create a URL with a name field value of "Matthaei Botanical Gardens", the resulting URL would be something like:
https://.../apps/instant/basic/index.html?appid=...&name=Matthaei%20Botanical%20Gardens
That URL works fine when entered manually into a web browser.
If providing these URLs using QR codes on public signage for visitors to scan, then they will be using their device's camera app or a QR code reader app to access the URL. When a visitor scans a QR code for the above URL using the iOS camera app (or other apps), and they click to open the URL in their device's default web browser, the URL passed has the plus sign (+), instead of %20, where spaces should be. So the above URL ends up as:
https://...apps/instant/basic/index.html?appid=...&name=Matthaei+Botanical+Gardens
Presumably this is because the iOS camera app is following the specification for application/x-www-form-urlencoded, and using the plus sign (+), instead of %20, to represent the space character.
For ease-of-use it would be great if ArcGIS interpreted the plus sign (+) as a space in field values, as it already does with %20.
I did some quick testing using the Basic/Media app and can't repro the issue. Here's the process and generator I used.
1. Created a basic app with a custom url param that contained spaces. In my example I set it up to use States and my param was South Dakota. Here's the app url
2. Viewed the app in Chrome and used the built-in Chrome QR code generator to generate the QR code
3. Downloaded the QR code and used my iPhone 15 pro with ios 18.6.2 to navigate to the app. The app opened successfully in the default browser on my phone and was using %20 for the spaces between South Dakota.
Also if you have an example QR code that generates the plus signs can you share it here if the app is public or send the the name of the tool you used to create it so I can try to repro the issue so we can work on supporting this use case?
@KellyHutchins thanks for sharing the example. It works for me as well.
It looks like the issue is a bit more complicated, as to how the plus signs are introduced. It seems our URL shortener service generates QR codes that return URLs with the plus sign in them, but not for the shortened URL itself.
Using the URL for your South Dakota example, I've created a shortened URL:
That URL works fine in browsers, including on an iOS mobile device, as the shortener returns the expected URL with %20s:
Here is the QR code from the URL shortener:
Unfortunately the QR code encodes a modified version of the shortened URL:
https://myumi.ch/G2E7E?source=qrcode
When our URL shortener is contacted at this URL, it returns:
So when you scan the QR code, the URL you get doesn't work as expected, as ArcGIS fails to interpret the plus sign as a space.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.