iOS/Android does keep linking requires an HTTP server - android

I want to let users click on a link on an email or SMS message, and then open the app and deep link into a specific page/ViewController.
I know there is a more general implementation, when user browse your website with a mobile web browser, and if your app is installed, launch your app instead of keep browsing it in the web browser.
I was wondering if deep linking itself can be done without setting up a server?
In iOS parlance, I want to register a custom URI scheme, and when user taps on a link via the custom URI scheme in a mobile email client or SMS message app, open our app, and get some payload into it as well so I can deep link into a specific ViewController.
(Sorry I don't know Android well, though I do need it on Android as well. I'm actually working with Cordova.)

No, deep linking on Android does not require an http server
https://developer.android.com/training/app-indexing/deep-linking.html
It works the same way - a custom URI scheme
To enable Google to crawl your app content and allow users to enter your app from search results, you must add intent filters for the relevant activities in your app manifest. These intent filters allow deep linking to the content in any of your activities. For example, the user might click on a deep link to view a page within a shopping app that describes a product offering that the user is searching fo

Related

Open URL with external browser in Messenger

I'm building a (Facebook) Messenger chatbot which needs to send a URL to the user which may be handled by a specific application instead of a web browser.
By default messenger opens URLs in a integrated web view instead of delegating the task of finding a suitable app to the OS.
I cannot force my users to change their Messenger settings to disable the web view, so what is a way of telling messenger not to try and open my link in its embedded web view?
The issue is not and Android one since intent filters are set up and working correctly. Messenger simply doesn't publish an intent when the URL is clicked, and only displays it in a web view.
All URLs in FB Messenger open in their webview, but you can still use deeplinks to open a native app and launch a specific screen on the user's mobile device. That way, when the user clicks on a given URL / URL button, they will "switch" from the FB Messenger chatbot to an application on their mobile device.
To create a deeplink for your Android app, it seems that the Mobile Deeplinking Library highlighted on this website (Section 2.3) will help. It lists instructions and details about how to set up your own deeplinks for iOS and Android applications.
I've only done a bit of research into mobile deeplinking but I hope this helps solve the problem!

Facebook In App web browser clears my browser cookies after 2-3 days

I have articles which are posted on Facebook for our subscribers and when a user clicks in one of the links they get re-directed to a mobile-site where they login, the problem is now after a a few days 2-3 days the mobile site asks them to authenticate again.
Im guessing Facebook in app browser clears my cookies but what i need to know is how does it manage its cookies especially for external sites. I tried the Facebook developer website there's no documentation on how this in app webview/browser works.
Background Info
Facebook in app browser is rather a webview which renders all the links which user's browse so instead of delegating the rendering to an external browser it handles everything on its own. This comes with limited functionality of course, Facebook added this in app browsing functionality to keep user's in session, because most of the time if user's make use of external browsers they don't come back into the app.
With the above background information Facebook browser is accessible to developer's in a sense that they may choose to use Deep-Linking if the browser doesn't conform to their specifications because the browser is closed i.e you can not modify or rather interact with it, thats why the deep linking functionality allows for developers to give user's an option to choose wether they wish to use their app this is if they have it installed in their mobile devices.
Cookies
Cookie management entirely depends on the In-app browser which if a user wishes to clear them then they can do so via their app settings. Since Facebook in-app browser manages its own cookies thus if a webpage is rendered by the in-app browser it will entirely depend of the in-app browser if its time to clear them from the device.
Deep Linking Overview
App Links is an open standard to deep link to content in your app. When someone using your app shares content to Facebook or another App Links-enabled app you can create a link that makes it possible to jump back into your app from that piece of content.
App Links work by adding metadata to existing URLs on the web so that they can be consumed by your app. If your app doesn't have a web presence with content you can annotate, you can also use a Facebook-provided service to host the data.
The Facebook's app for iOS and Android support App Links today. When the Facebook app comes across a link that supports App Links it will launch your app with the right information so someone can see the content immediately and quickly.
How App Linking Works
A person clicks on a story on Facebook
If someone shares a story on Facebook with content from your app, people can click on the story to view the content in your app. The URL shared to Facebook contains App Link metadata or be a Facebook-hosted URL.
Facebook app looks up the URL to see if it supports App Links
Once someone clicks on a story, the Facebook App does a lookup to see if the content supports App Links. if it does, the Facebook App takes people to your content, either in a web view or by launching your app and linking to the content, depending on the following criteria:
Whether people have your app installed
Whether the device is and Android or iOS device
Whether your app is mobile only
App Links has the following requirements:
If the content is a web page, your web page must include markup to let the app know what app should be launched.
If the content is mobile only, you must still supply a valid http(s) URL that hosts the App Link metadata. Facebook provides a Hosting API for App Links to make it easy for app developers to support App Links content without having to set up a web server.
In order to accept incoming App Links, your app will need to be set up to support them. We cover how to do that for both iOS and Android.
Launching Outbound Apps
It's possible for any app to do what the Facebook app does and add support to launch other apps based on App Links. If you've got an app where people want to click through to links instead of just going to inbound links, we've also provided a document that covers how to add support for the outbound navigation protocolto your app.

Redirect to android app if requirement are met

I am working on deeplink an android app but i want to be more specific, i only want to redirect to the app if certain conditions are met i.e if the user has already installed the app and has certain id then only the webpage should redirect the user to the app
Is their any way to expose the id stored in app to the webpage, so that it can read and decide whether to redirect to the app.
If that's not possible can the webpage start an service which runs in background check for the conditions and then redirect to the application
Are their any way by which the android app writes a data to a file and later it can be accessed from a webpage and then the webpage will decide whether to redirect or not
What you're describing isn't possible — allowing random websites to pull data about apps on a user's phone would be a security/privacy risk.
However, you can probably get most the result via standard deep linking flows:
Attempt to launch the app from your webpage via a URI scheme redirect or an App Link.
If the app isn't installed, the URI scheme redirect link will simply do nothing. The App Link would fall back to the base url.
From your website, you can't easily determine if the user is logged into the app. This would require something like tying the UUID of every logged-in user within the app, sending that back to your server, and then comparing the UUID of every website visitor to that list. Probably not feasible.

Facebook Share From Mobile Web to Native App Without Javascript?

I am looking to let a reader of my site share the url from a mobile browser to their native facebook app without using javascript, or having them login through the cumbersome web process.
In the past, this was accomplished using the fb://publish/profile/me?text=blah url scheme for both iOS and Android. When clicked, this link would open the native app and start a new share dialog.
Sometime in late 2013/early 2014 though, this method stopped working. Is there a more current way to use a static URL to open up a native share dialog on iOS and/or an Android Intent? A canonical answer is needed here as searching SO leads to a ton of old, deprecated dead ends.
It's crazy that facebook doesn't have the latest URI schemes documented. Whatsapp, twitter, mail, sms, tel all have them available and are working.
Whatsapp:
whatsapp://send?text=Hello%20World!
Twitter:
twitter://post?message=hello%20world!
Mail:
mailto:<address>[?<header1>=<value1>[&<header2>=<value2>]]
SMS:
sms:+15105550101?body=hello%20there
Tel:
tel:<phonenumber>
I've been researching methods of HTML5 interaction with phone features (intents), maybe there is a way to open the mobile phone share menu from a web url? This would allow the user to share an article, per say, with any native app if installed (fb, twitter, etc...)
I don't know if you've come across this thread, but the guy seems like did some reverse engineering and has a full list of all Facebook custom URL schemes
In short there is NO official or unofficial way to do this anymore (or yet).
The URL schemes above described was never documented as an official way to open the the sharing dialog.
BUT
There is the new AppLinks framework.
The App Links framework is documented here
What it does is basically allows you to have meta tags on certain URLs that let you launch your (or any) app from Facebook. Basically Facebook checks if your page supports an app link and then links directly to your app
So, theoretically it should be simple to launch the Facebook app from your browser if you have it and if not load another link. (which is basically what you need). However even though Facebook created it they haven't put it on their pages yet. (in other words in the future these meta tags might work to open the apps).

How do I launch an application via a web intent without prompting for the browser?

I'm working on an in-phone search engine, and I want to be able to launch applications when someone clicks on a search result. Some apps have custom uri schemes I can use to launch the app - for example:
untappd://beers/123
However - there are some apps that don't have (or don't publish) custom uri schemes. Happily, many of these apps have web intents, so for example if you launch an intent with this url:
http://en.wikipedia.org/wiki/Wellington
It will prompt to open the URL in the Wikipedia app, or in chrome. Is it possible to get android to launch into the Wikipedia app directly, without prompting for whether the user wants to open it in chrome or the wikipedia app?
No. If multiple apps can handle the same http uri scheme the user will be given the choice which to use. They can of course then choose to "always use this option" when they choose the app to use.

Categories

Resources