Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Redirects to app store if app is not installed

Scenario is user will get a link to his email. If user clicks on the link, If app is already installed, app should open and if app is not installed it should redirect to app store.

I've seen deeplinks implementation, but I believe it needs some more implementation in backend too. Can any one help on this?

Redirect to application if installed, otherwise to App Store

gone through this. Is there any better way?

added gif for one more scenario:

in the below gif, from email to app it navigates directly? how?

enter image description here

like image 543
Ramcharan Reddy Avatar asked Jan 24 '19 12:01

Ramcharan Reddy


People also ask

How do I stop getting redirected to the App Store?

Go to Site Settings and find Pop-ups and redirects; Make sure that the toggle next to “Block sites from showing pop-ups and redirects (recommended)” is greyed out. If it is blue and says Allowed, make sure to switch the toggle to OFF.

What happens with a deep link if the app is not installed?

Default deep links only direct users to an app if it's already installed. If the app is not installed, the link can't reach the endpoint of an app then an error message is displayed.

What are app redirects?

An app store redirect is a link that redirects users to the correct app store for their device. App store links work by reading the request header of the user's device when they visit a link, and sending the appropriate redirect.


1 Answers

I'm assuming the link you want to pass by email is an https link. If that's the case, for iOS to be able to redirect it to your app, you'll need to implement universal links. This implementation requires you to register the domain you want to respond to on your entitlements file and add an apple-app-site-association file to your backend. This way Apple can verify the domain you're trying to respond to is really yours.

As a result, when the app gets installed, it can be invoked by your domain links via deeplinking.

Now when there's no installed app able to respond to a specific https domain link, the system will simply open it on a web browser. Consequently, you cannot force iOS to open such links on AppStore directly. What you can do is to check whether the running device is iOS when your website gets accessed and ask the system to show your app on AppStore.

And to request iOS to launch AppStore from a website you can use itms-apps:

const iOS = !!navigator.platform && /iPad|iPhone|iPod/.test(navigator.platform);

if (iOS) {
  // Just replace `https://` with `itms://` on your app's AppStore link.
  window.location.href = "itms://itunes.apple.com/us/app/google-maps-transit-food/id585027354?mt=8";
}

// In this example I'm redirecting to Google Maps app page on AppStore.

Note: This is just a simple example used to demonstrate the concept. For a real application, you may want to use a device detection library for browsers, like mobile-detect.js

like image 179
Murilo Paixão Avatar answered Oct 17 '22 21:10

Murilo Paixão