0

I'm unable to understand how Google Appindexin works on ios. I'll be more specific: In Google's Appindexing guide for Android they say we can put data in the activity, and Google will be able to index this content, for example:

  public class MainActivity extends Activity {
  private GoogleApiClient mClient;
  private Uri mUrl;
  private String mTitle;
  private String mDescription;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    mClient = new GoogleApiClient.Builder(this).addApi(AppIndex.API).build();
    mUrl = "http://examplepetstore.com/dogs/standard-poodle";
    mTitle = "Standard Poodle";
    mDescription = "The Standard Poodle stands at least 18 inches at the withers";
  }

My first question is how do we do the same in iOS? why don't they talk about it?

My second question is: At the end of the same Appindexing guide for ios they say You're all set! Once our crawlers discover the URLs in your association file, Google automatically begins indexing any existing or new HTTP URLs to your app. Does Google read the content of my application? In Android? iOS?

2 Answers2

2

This is a great question. Unfortunately Google's App Indexing project is still rather opaque — getting this to run properly is one of our major initiatives at Branch.io right now, but it's still not clear exactly what works. At Branch, we've taken a slightly different approach implementing this and are using app content sitemaps. Google is probably working on options for directly 'crawling' content inside apps, but I don't believe any of those are actually contributing to search results yet.

Here's my current understanding of Google's recommended approach for single apps:

Android

When Google finds a http:// URL that is tied to content in your app (via App Links), that result will be flagged as app content. In addition, as you've described, the App Indexing SDK on Android allows you to directly list content. This is basically just taking a piece of content that your user is looking at inside the app, and letting Google know it exists without needing to have that http:// link as a discovery mechanism.

iOS

Google doesn't have the same level of integration into the iOS system, so the direct SDK listing method isn't available (yet). There is still an App Indexing SDK for iOS, but it's really just used to let Google know that your app exists. However, Google can still discover your app content by assuming that any Universal Link corresponds to a similar item inside your app. So Google isn't actually indexing your app content — they're indexing your Universal Links. The reason why the instructions for enabling App Indexing on iOS are basically just 'set up Universal Links' is because Google parses that file to know what links your app is capable of handling. This also means to be indexed, your Universal Link needs to be listed somewhere Google can discover via normal crawling methods or by submitting it directly via an app content sitemap.

Alex Bauer
  • 13,147
  • 1
  • 27
  • 44
  • Hey, this is exactly what I understood, and trying to find something official about this, without success. thanks for your answer, but I'll wait a bit before accepting this answer. do you have any official source for the "intro" of your answer? - Great article btw –  Jun 01 '16 at 06:57
  • 1
    No worries, and thanks! For an 'official' source, I'm afraid I don't have anything authoritative. There was an invite-only preview of App Indexing for content without a web version, but it seems to have vanished when Google App Indexing turned into Firebase App Indexing a few weeks ago. You can see an archived version [here](https://web.archive.org/web/20150910142636/https://developers.google.com/app-indexing/app-only). However, even that was not 'crawling' in the traditional automated sense — the technical requirements of teaching Googlebot to navigate native apps are likely considerable... – Alex Bauer Jun 01 '16 at 07:20
  • 1
    Looks like that app-only signup page is just on [the Android page](https://firebase.google.com/docs/app-indexing/android/app) now. Click [here](https://firebase.google.com/docs/app-indexing/app-only) to see it! In any case, this still isn't really 'crawling' – Alex Bauer Jun 02 '16 at 05:06
0

My first question is how do we do the same in iOS? why don't they talk about it?

Follow the apple deep linking guide, the one that the google page directs you to.

Does Google read the content of my application? In Android? iOS?

While I don't know the answer is probably no. Certainly it's no for iOS, it could be a maybe for Android, but I guess no.

Their web crawler looks for the indexing file on your website for iOS, and it indexes the content to link to the app.

In Android I assume it works in the same way, and a quick glance at this page seems to support that.

Wain
  • 118,658
  • 15
  • 128
  • 151
  • So the "Appindexing" technology is actually the same as "universal links / deep links"? –  May 31 '16 at 13:38
  • google are doing their own index of files that are specified to exist for apple to index and use with iOS - they're piggy backing rather than forcing you to define multiple different files containing the same information – Wain May 31 '16 at 13:42
  • I think that what you're saying is important for me, but I don't understand, can you please be more clear? –  May 31 '16 at 13:44
  • the whole thing works using index files on your server, google and apple are both indexing these files so that deep linking works with google search and apple (spotlight) search – Wain May 31 '16 at 14:20