QR codes that route to the appropriate app store

(matthuggins.com)

15 points | by matthuggins 1 hour ago

7 comments

  • classictraffic 14 minutes ago
    I agree with the other commenters that this is a pretty simple engineering problem, but I still enjoyed reading about edge cases the author worked to address (they could have taken the easy road with this but tried not to). I forgot that Safari on iPad doesn't specify iPad in user agent headers
  • Tiberium 40 minutes ago
    Is this a whole blog post for a simple backend that just routes based on the User-Agent?
  • m4tthumphrey 33 minutes ago
    Err wut... redirecting based on user agents?
  • elendilm 18 minutes ago
    For our apps Slyp and SlypBusiness, we had the same QR code for each app open Playstore/Appstore page of the app depending on the phone. Hopefully, we will start rolling out Slyp next week.

    Just have a branded link (like https://slyp.app/Slyp or https://slyp.app/SlypBusiness) to the official web page and have the js in that page open the original Playstore/Appstore page.

    And yes, we used userAgent for identifying the platform.

    If anyone is interested, here is the code

        window.addEventListener('DOMContentLoaded', (event) => {
            let app = 'Slyp'
    
            var userAgent = navigator.userAgent.toLowerCase();
            if (userAgent.indexOf('android') > -1) {
              window.location.href = `https://play.google.com/store/apps/details?id=com.ndcurve.${app}`;
            } else if (userAgent.indexOf('iphone') > -1 || userAgent.indexOf('ipod') > -1 || userAgent.indexOf('ipad') > -1 || userAgent.indexOf('mac') > -1) {
                  if (app === "Slyp")
                    window.location.href = 'https://apps.apple.com/app/<app_id>';
                  else if (app === "SlypBusiness")
                    window.location.href = 'https://apps.apple.com/app/<app_id>';
                  else
                    window.location.href = 'https://slyp.app';
            } else {
              window.location.href = `https://play.google.com/store/apps/details?id=com.ndcurve.${app}`;
            }
        });
  • arccy 37 minutes ago
    it's just a server side redirect based on the user agent headers
  • MengerSponge 26 minutes ago
    I hate QR codes. I don't trust them.
  • Svoka 38 minutes ago
    I thought it was something clever, but it shows as URL in QR Scanner, not an APP, which opens browser after activating it, then user would have to confirm redirect to App Store on empty page

    TL;DR: it is HTTP redirect based on User-Agent header