I need to check if app is installed on iPhone or android device, using javascript code only. As i am working on html website.
I have used
window.location="appname://";
but it makes me to open an app.
Thanks in advance.
As stated in the comments there are security and privacy reasons surrounding why you are not able to do what you are asking.
However, #CommonsWare, has already given a workaround to this problem, in a similar question, that has already been asked:
Fortunately, this is not possible, for obvious privacy reasons.
The closest that you can do is in the application, have an activity
that has an for some URL structure, and have a link in
the mobile Web site to a matching URL.
If the user clicks the link and the app is installed, the activity
will be a chooser option for the user.
If the user clicks the link and the app is not installed, or they
choose to stick with their Web browser from the chooser, whatever Web
page exists at that URL will be displayed (E.g., instructions of how
to download the app).
Related
I'm building a shopping web site which should redirect the user to a spesific application in his device when he click 'submit'.
I'm developing this site with Java Script.
the requirements are:
1) if he uses the site from a computer-the application should not be open.
2) if he uses the site from a device which the application is already installed in- it should be open,
else-playstore ao itunes should be opened in the applicarion page.
now, my problem is with #2- I dont know how to redirect the user to a specific application in his device and automaticly open it.
I dont know the application URL or any API of it.
Is it possible? how?
You could do this using universal links. Here is the link to the documentation provided by Apple themself. There is even an entire video related to this topic on their website, here's the link. I think these documentations are more than enough for even a beginner to adopt a universal link.
I'm not an iOS developer, and know little less about Safari's configuration by apple.
But Please, hear me out.
I have universal links configured, and I understand that if the App is installed, visiting the website with Safari browser will automatically show a phantom banner to open the page in the app. This seems one of the policies apple included in their Universal Link settings.
Image below shows an example of the Phantom banner
My question is: How can I detect the presence of this Apple's Phantom banner through JavaScript?
To be precise, currently, there is no way to detect the Phantom banner if the universal link is enabled in safari.
You cannot remove it through JS also it has no presence in the DOM.
Try integrating a 3rd party plugin like Firebase or Branch.
I tried firebase hoping it can resolve the issue and below is a summary.
It will create a dynamic link to your webpage which is nothing but a wrapper on your deep link.
But with that you will lose the ability to click on your webpage link and open the App, instead, you will have to use the dynamic link to open the App.
The Dynamic link can be on your domain or on a custom domain.
Here is some more information on domain configuration
https://firebase.google.com/docs/dynamic-links/custom-domains
In my case, the ask was to link directly to the website link so this did not help much. But if the ask is to open the App on a link click then it can help as the Apple App Association file will not be on your domain and you will not see the phantom banner.
Some dev blogs have published information about the "fb://" url scheme for opening various views in the Facebook iPhone App. No matter how much I've searched, I haven't found one word from any official Facebook source about this.
Since the information is public anyways, I'm sure I'm not the only one who'd like to know, whether using this url scheme is officially approved, am I allowed to use it, does it work correctly, and if it's not approved, will it be and what's the approximate schedule for that?
Thanks in advance for any info on this subject!
It's there to support the iOS push notification system (i.e. you get a push notification that says "Friend's Name tagged you in a photo", and you tap on it, it takes you straight to the photo).
I'd assume it's not intended for third party use and therefore subject to change. Hell, Facebook's public-facing APIs are subject to change on a whim anyhow, so I'd be especially cautious about something they hadn't documented.
It's for iOS only. The iOS API lets you define you own URL scheme, so Facebook must have developed their application to register the fb:// URL scheme on iOS devices. It's not a feature that was created by Apple, it's something you, the developer, can make up.
Here are some resources you can investigate
The Facebook iOS SDK
Here on StackOverflow
A tutorial on how it works (not Facebook-specific)
You can use it from your own applications on iOS, but only if the Facebook application is installed. There are, however, plugins and browser extensions out there that mimic the behavior by handling the fb:// schema on your desktop browser.
I am working on a webapp. I want to count the number of Users that added my webapp to home screen.
suppose my website is.
http://www.example.com
I have added meta tags that allow Mobile users to add it to home screen. I want a count of users that downloaded my webapp. If User has downloaded even if he has not opened that then also I should get notification that User has added it to home screen.
So I need any event that should work when an Webapp is added to home screen.
My webapp is in HTML5
First of all, officially it's not possible, as per the official FAQ:
How can I detect if the app is running as an installed app?
You can’t, directly.
which is again re-iterated
Best practices
Do not prompt the user to add your app to the homescreen. There is no way to detect if the app is running installed or not.
Source: https://developer.chrome.com/multidevice/android/installtohomescreen
You could do some manual checking of the screen sizes though on page load, as chrome can't go fullscreen by hand, but do not rely on this (though for statistical purposes it might be interesting).
Another clarification which might be useful, the application is not downloaded when it's added to the homescreen. All that happens is that a 'link' will be created to chrome with certain parameters. By design little information is disclosed to developers regarding this process to prevent companies from forcing users to 'install' webapps before they would function.
As of 2018, according to https://developers.google.com/web/fundamentals/app-install-banners/:
To determine if the app was successfully added to the user's home screen after they accepted the prompt, you can listen for the appinstalled event.
window.addEventListener('appinstalled', (evt) => {
app.logEvent('a2hs', 'installed');
});
I spent a lot of time to search for solution but without result.
I check this topics :
Website Bookmark/ Shortcut Icon for Android Help. Cant get passed standard ribbon icon
Whick is very nice ,but here user must click on bookmark.That`s not what i need. May be button,or automatic script that prompt user for this and created automaticaly.For example something like this :
http://socialmedia.biz/2012/02/21/encourage-visitors-to-save-your-site-as-a-mobile-shortcut/
But it`s work only on Apple devices .. What im looking for is a similar solution for android.
Is this possible at all?
May be the only solution is to create simple app that act like a shortcut to my web page?
The page that is talking about has a mobile version ..
Have you looked here [for Chrome]? https://developers.google.com/chrome/mobile/docs/installtohomescreen
May be the only solution is to create simple app that act like a shortcut to my web page? The page that is talking about has a mobile version ..
If this is "allowed" and doesn't go against too many guidelines, this might be your only option. Basically you'd want to create a one Activity application and all it does is call the default Intent for your web page. This should push the user into the default Browser.
You could put the app in the Google Play store and link to it from the site or a script. I'd call the app something like "SITE_NAME Web Shortcut" and make it clear in the description that the only purpose is to launch the browser -- as previously mentioned this doesnt "feel" like something that should be in an app store, and if users think they're getting something extra you'll definitely get bad reviews.
(I'd also make the Activity with #style/Theme.Transparent)
Please be aware that Chrome has changed the way that installs web apps.
Here are the details: https://developers.google.com/web/updates/2018/06/a2hs-updates
There is an install criteria now:
The web app is not already installed
Meets a user engagement heuristic
Be served over HTTPS
Includes a Web App Manifest that includes:
short_name or name
icons - must include a 192px and a 512px icon
start_url
display - must be one of fullscreen, standalone, or minimal-ui
prefer_related_applications must not be present, or be false
-Registers a service worker with a fetch handler