So from my understanding android application deep linking works like this:
You have a website with several pages. For each page, you define a deep link. This makes the app show up in google search instead of the website if the search term matches.
For example, if I add a deep link to http://example.com/entry/entryname and someone googles for "example entryname", he sees the deep link to the application instead of the website.
My question is, is it also possible to add your app in a "deep link like style" to googles search without having webpages for it? In this case, I have an app showing several wikipedia like entries to a specific topic. I also own the domain corresponding to the app. I now want my app to appear in google search if the user searchs for that topic and my app has an entry for the given search term.
Ie: user searches "example entryname" -> google search shows the deeplink of my app, although there is no http://example.com/entry/entryname
thanks in advance,
danijoo
see here
Support HTTP URLs in Your App
here clearly written that
"Note: If you have an app without corresponding web-page content, and you'd like it discovered by Google Search, fill out our app-only interest form. This is currently being tested with a few developers."
Related
I want to create a dynamic link with two different original links.
One original link for Android, e.g: android://mePage/account
One original link for ios, e.g: https://mePage/account
From the docs of Firebase Dynamic-Links, I found there is a optional parameter al, and al=android_link.
So I create a Dynamic Link by manually constructing a URL:
https://myapp.app.goo.gl/?link=https://mePage/account&al=android://mePage/account
But maybe I misunderstand, it doesn't work.I have no way to resolve the android link from the al key.
So:
What does the al parameter really mean?
Any way I can acquire the parameter?
If it does not work, is there any way I can create a Dynamic Link with two different links?
There is a image to show what I saw.
And I found some extra information from another page.
There is no al parameter, did you meant afl? afl specifies the link, where navigation will happens if your App is not installed on Android. So that instead of navigating to PlayStore you can navigate to your page.
Answering your question about Android and iOS specific deep links: we do not have such feature. The same deep link will be passed to Android and iOS Apps.
If you want to separate the data for your Apps, you can use deep link constructed like this:
https://mePage/account?ios=<ios specific base64 data>&android=<android specific base64 data>
Than you can wrap this deep link inside Firebase Dynamic Link.
Not sure this provide enought value, but I do not know your requirements.
If you feel that you need this feature and Firebase Dynamic Links do not support it, feel free to open support ticket or describe your use case here. We always open to improvements and new feature suggestions.
Update
For those who are still looking like me,
as per the docs, https://firebase.google.com/docs/dynamic-links/create-manually
You can specify a different fallback link for IOS/Android using IFL/AFL params.
ifl
The link to open when the app isn't installed. Specify this to do
something other than install your app from the App Store when the app
isn't installed, such as open the mobile web version of the content,
or display a promotional page for your app.
afl
The link to open when the app isn't installed. Specify this to do
something other than install your app from the Play Store when the app
isn't installed, such as open the mobile web version of the content,
or display a promotional page for your app.
We have several landing pages that link to Google Play and iOS App Store. I would love to know the landing page that a person came from within the app code. I have searched around and can't find any clear answer. Lots of gray area.
I just want to access the landing page URL in Java or Swift.
I realize iOS and Android are two separate beasts. But does anyone know how I could achieve this?
You will need to use Firebase Dynamic Links this helps you create various links using various alternatives as shown in this quote from the official Firebase source:
You create a Dynamic Link either by using the Firebase console, using a REST API, iOS or Android Builder API, or by forming a URL by adding Dynamic Link parameters to a domain specific to your app.
Then your app can access the link in code using Java or Swift and the link will work even if the user has your app already in their phone and you can set a logic to handle that too and the links are also automatically direct the user to AppStore or PlayStore depending on which device is used.
Dont worry about whether the link will work for both Android and iOS and you can use the api to access the link as this quote says.
With Dynamic Links, your users get the best available experience for the platform they open your link on. If a user opens a Dynamic Link on iOS or Android, they can be taken directly to the linked content in your native app. If a user opens the same Dynamic Link in a desktop browser, they can be taken to the equivalent content on your website.
In addition, Dynamic Links work across app installs: if a user opens a Dynamic Link on iOS or Android and doesn't have your app installed, the user can be prompted to install it; then, after installation, your app starts and can access the link.
You can get more information on dynamic links here and check if it will solve your problem.
Can anyone explain in real life example what is the difference between
App Links - https://developer.android.com/training/app-links/deep-linking.html
Deep links - https://developer.android.com/training/app-links/index.html
App Indexing - https://developer.android.com/studio/write/app-link-indexing.html
in Android?
Have read too many posts and documentations, but still cannot get the exact gist.
I understand that App links works with Android 6.0 and Deep Links with 4.2. but in performance, they are doing the similar task.
App Indexing allows Google to crawl your app content (as it would on a website).
Deep Links vs Android App Links:
App Links are just deep links that have been verified for a website, AND allows opening URLs in the associated app directly without asking the user to select the app (via the disambiguation dialog). With App Links, your app designates itself as the default handler of a given type of link (though the user can override it from device system settings)
A nice overview of the differences is at https://developer.android.com/training/app-links/verify-site-associations?authuser=0
Also see comparison table below, lifted from the above link at the time of writing
If you have an app or are developing an app, app indexation and deep
linking are things you definitely need to be paying attention to.
Basically, Google wants to treat your app like a website. It wants to
crawl it and index it so that search results can return specific pages
from an app in mobile searches. That ability to return specific pages
within an app? That’s deep linking.
What is Deep Linking?
Deep linking, in a general sense, involves linking to specific content
within a website or app, rather than to the homepage. Here we’re
talking in particular about getting specific elements of an app to
show up in search results on a mobile device, allowing users to open
an app directly from a search results page. Note: Users will only see
this prompt if they have the particular app installed.
Photo:
What Is App Indexing?
App indexing is the result of getting your app in Google’s index to
enable deep linking. By allowing Google to index pages within your
app, features (or promotions) within the app can begin showing up in
users’ mobile searches, driving visits (and hopefully conversions) to
the app.
What is an App Linking with the example of Facebook
When someone shares content from within an app that has Facebook App
Links applied, anyone clicking on that link will be able to access
that content through the app. This can be done using an app
alternative to existing web content, or app-only content, and works
either from ‘web to app’ or ‘app to app’. The feature works with
Android, iOS and Windows phones
Photo:
I am implementing Google App Indexing in my app. I have followed the tutorials and my app support this kind of deep links:
http://mywebsite.tk
And I have the required code so that it supports also:
android-app://com.my.package/http/mywebsite.tk/
I can open with my app any link with both structures, opening urls from an email, and even pasting the deeplink in Chrome directly. I have also passed the tests for Google App Indexing in Android Studio.
But what I want is the following button:
I have a custom parameter inside the url so that I can show different info. How can I make Google show that button? I don't have a website, only a domain to handle the deep link, but a website is not required.
Unfortunately you can't 'make' Google show this button. All you can do is set out the bait (which you have done in spades, based on everything you've mentioned above — the only thing I can think of is that you didn't mention whether you've set up Digital Asset Links or not) and hope they eventually bite. It takes some time for them to find and then recognize the App->URL association you've set up.
Is your content currently showing in the results list at all, even without that button?
I'm an Android Developer and I've been asked to implement app indexing in an app I've recently been developing.
The app is the app-version of this web hotel search engine: https://www.hotelsclick.com and is already live: https://play.google.com/store/apps/details?id=com.towers.hotelsclick
Now, I understand that the best thing to do in order to tell google about my app deep-links is to have a correspondence between website URLs and app URIs.
In the website I can link to a specific hotel (i.e. https://www.hotelsclick.com/?hotel_id=135738) and I think this would be good for app indexing because I could tell google that when the user is mobile-searching for that hotel, most probably by name and not by ID ;-), he could be redirected to a specific activity of my app passing that ID as a parameter. I guess the URI could be something like myappbaseuri://hotel_id/135738, right?
Now, there are some questions that come to my mind:
1- Will Google automatically map the hotelsclick.com/?hotel_id=something queries to the myappbaseuri://hotel_id/something? If not, where should I tell him and how? Of course I don't want to specify ID by ID, and I guess it's not needed as well...
2- Right now the app does not implement all the features the website does, and there's not a corresponding activity for each website page. Shall I put in the .noindex file all the urls of the website that don't have a matching screen in the app? Isn't there a way to tell google just the pages which correspond, and therefore ignore the rest for app indexing?
Thank you for any answer you'll be able to provide. I hope I didn't get all the topic in the wrong way and the question is not off-topic
You can map the urls of the website to the screens of the app in two ways - by mentioning the deep link in sitemap or on each of the web pages. This link describes clearly how you can go about doing this.
To answer your two questions,
I assume that on the website, you generate the pages dynamically using the hotel_id. In each of these pages you can mention a rel="alternate" link in the head dynamically. This will do the job of linking the pages to screens on app. This, like you said, is not a manual process.
Putting a noindex file on the website is a mistake for what you are trying to achieve. If you include a url in a noindex file, you are not telling Google that there is no corresponding screen on the app. You are actually telling it not to crawl and index the web page. This is obviously not what you want. To achieve what you are trying to do, all you have to do is not mention any deep link as rel="alternate" in the head section of the page. That's all.
Hope that was clear.