Android – redirect to store if app not installed (launch from website)

Any thoughts on how we can achieve this on android?

Not with a “custom protocol” (or, more correctly, a “custom scheme”). The pattern on Android is for you to use a URL that you control.

For example, the Barcode Scanner app has the following defined for its main scanning activity:

  <!-- Allow web apps to launch Barcode Scanner by linking to http://zxing.appspot.com/scan. -->
  <intent-filter>
    <action android:name="android.intent.action.VIEW"/>
    <category android:name="android.intent.category.DEFAULT"/>
    <category android:name="android.intent.category.BROWSABLE"/>
    <data android:scheme="http" android:host="zxing.appspot.com" android:path="/scan"/>
  </intent-filter>

Then, any links to http://zxing.appspot.com/scan will do one of two things:

  1. If the link is clicked from a browser on an Android device, and Barcode Scanner is installed, the user can choose between displaying the app or displaying the Web page associated with the link

  2. If the link is clicked anywhere else (Android device without the app, other mobile device, desktop, notebook, etc.), the browser brings up the Web page for that URL, in which you can do whatever you want, including optionally redirecting to the Play Store

Leave a Comment