I\'ve a website which is already developed using PHPFox and it\'s working fine. Now, iOS development team has created a mobile app in iOS for the same funct
You do not have to do anything. Ask your iOS developers to read about URL Schemes
which seems to have been explained in the link you mentioned based on which the iOS team has contacted you. That link shows how you can make your app capable of being launched from another place(app-in your case the mail app). The reason why the email takes the user to the website and not the app is because the hyperlink mentions your web link and says nothing about the app.
Basically similar to how your website has a link of the form sayhttp://youwebsite.com/
, the app also has a link of the for yourapp://
which works on the device once the iOS app has integrated URL scheme
. So you need to mention this URL in the email hyperlink.
Refer to this answer which might help you to setup the mail link.
So to sum up,
P.S.: Use the link above for figuring out how the link is to work, haven't explained it here for 2 reasons,
a) Its beyond the scope of the questions, you needed to know if you need to do any change as PHP developer, So Answer is NO.
b) It is already addressed in this answer
As my Understanding the solution is simple.
Whenever user request for forgot password or create new account..etc. you have to identify that user send request from iPhone or Website
, if the User send request from website you have to pass activation link for web-page else you have to send link for app like this "itms-apps://itunes.apple.com/app/idyourappID", according to me for identified this PHP team have to get one more parameters from development team which is used to identify the device like 'web'
or 'mobile'
so that your problem will be solve.
Hope this will help you.
Using javascript, you can have a landing page to tunnel the users:
You can redirect the user to an app scheme using the following:
document.location="myApp://myUrl";
If the browser does not find the uri scheme, you can use a setTimeout to redirect the user to your webpage
setTimeout(function() {
document.location="/path/inside/website.html";
}, 100);
Another good solution would be to test the existence of the url schema using an iframe on a small test file, and redirect the current page if the iframe can be loaded
<iframe id="ifrm" src="" style="display:none"></iframe>
<script>
window.frames['ifrm'].onload = function() {
document.location="myApp://myUrl";
};
window.frames['ifrm'].src = "myApp://myUrl/ok.txt";
</script>
You'll never know from where the user will open the link app or desktop until the user actually opens it.
So I would try to proxy the URL based on the user agent.
Here is an example on how to do it in nginx.
You (or your iOS-team) need to add an URL scheme to the iOS app to make deep linking possible. Then you need a website which checks if this URL scheme (and therefore the iOS app) is available on the device. If yes, then you forward to the app, if no you forward to the website. Then you embed the link to the check website in your emails.
There are services, which can help you with the whole setup. One I know is https://branch.io but I'm sure there are more out there.
Edit:
Deep Linking in iOS: http://blog.originate.com/blog/2014/04/22/deeplinking-in-ios/
From that link: "To enable deep linking, go to the Info tab in the Xcode project. In the URL Types section, click on the + button, and then add an identifier and a URL scheme. Ensure that the identifier and URL scheme you select are unique. Take note of the URL scheme you enter, as this is how iOS knows to open a link in your app."
There are more steps to follow, so make sure to read the whole thing.
Create a link for iOS and Web:
Create a link that either launches iOS app, or redirects to app store
and
Is it possible to register a http+domain-based URL Scheme for iPhone apps, like YouTube and Maps?
instead of redirecting to the AppStore, you'd like to redirect to your webpage.