onebusaway-ios
onebusaway-ios copied to clipboard
Lite experiences (App Clips)
It'd be great to create a standard way to invoke lite versions of the app. @barbeau Is Google Play Instant the appropriate equivalent?
Registered URL format:
-
lite.onebusaway.co/${region}/stop/${stop}
-
lite.onebusaway.co/${region}/route/${route}
For iOS, we'd register lite.onebusaway.co
on ITC for App Clip functionality and in Xcode for Full App functionality.
For Android, ?
If an unsupported platform opens the URL (e.g. iOS 13), then lite.onebusaway.co
can attempt to open the app, but fallback to the mobile website if all else fails. The goal is to get the user the information ASAP, so skip promoting the app.
iOS 14+ Example:
- User (iOS 14) scans QR code with URL
https://lite.onebusaway.co/1/stop/1_431
. - iOS invokes the App Clip.
Other iOS Example:
- User (iOS 13) scans QR code with URL
https://lite.onebusaway.co/1/stop/1_431
. - If the user has OneBusAway installed, then iOS will open the app. End.
- iOS opens Safari,
lite.onebusaway.co/1/stop/1_431
will redirect tohttp://pugetsound.onebusaway.org/where/iphone/stop?id=1_431
.
Android 5.0+ Example:
- User (Android) scans QR code with URL
https://lite.onebusaway.co/1/stop/1_431
. -
https://lite.onebusaway.co/1/stop/1_431
redirects to open Google Play Instant.
Other Android Example:
- User (Android) scans QR code with URL
https://lite.onebusaway.co/1/stop/1_431
. - If the user has OneBusAway installed, then Android will open the app. End.
- Android opens Web,
https://lite.onebusaway.co/1/stop/1_431
. will redirect tohttp://pugetsound.onebusaway.org/where/iphone/stop?id=1_431
.
Unsupported platform:
-
https://lite.onebusaway.co/1/stop/1_431
will redirect tohttp://pugetsound.onebusaway.org/where/iphone/stop?id=1_431
.
In terms of work needed for iOS, the app is currently at 8.4 MB download, 11.7 MB installed, as reported by ITC. The maximum uncompressed size is 10 MB, so perhaps if we should have just the stop and route VCs, it will meet the size requirement.
I think this all makes sense.