App Indexing для начинающих

С недавнего времени компания Google позволяет связывать содержимое сайтов и мобильные приложения на Android и IOS при помощи технологии App Indexing .

Суть технологии очень простая — если вы ищете что-то на своем устройстве, и в результат выдачи попала веб страница с привязанным к ней приложением, ОС предложит вам сразу запустить это приложение.

Например, вы искали какую-нибудь страничку с интернет банком (рекламное место), а при поиске вам сразу же предложили мобильное приложение этого банка.

Вот тут опубликована отличная документация для веб мастеров (а вот тут для Android  разработчиков).

С помощью этой технологии можно пробросить контекст в само приложение. Например, искали ипотеку в каком-то банке, а приложение запустится сразу со страницы с информацией об ипотечных кредитах в этом банке.

Сказать, что это удобно и помогает решать многие конкретные задачи — это ничего не сказать. На таких технологиях даже построен бизнес отдельных компаний (рекламное место). Одна из них даже обещала (на ангелхаке) стильную, модную , молодежную толстовку за то, что ты применишь их технологию аналитики в своем приложении. (но правда обещанного три года ждут, а сейчас только первый пошел)

Давайте привяжем страницу блога Приложения с напоминателем паролей от Wi-Fi, хотя вернее было бы эту страницу связывать со страницей разработчика , но про такую возможность  ничего пока не знаю.

1. Изменения в приложении.

Для пробрасывания контекста, в приложение есть специальный инструмент App Indexing API .

С его помощью в приложении можно определить, с какой страницы поиска перешел в приложение пользователь.

Мы же реализуем простое связывание страницы с приложением.

Вот измененный код фильтров намерений в начальной активности для добавления в манифест приложения :

<intent-filter android:label="@string/filter_title_viewrusdelphi">
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <!-- Accepts URIs that begin with "example://gizmos” -->
    <data android:scheme="rusdelphi"
        android:host="app" />
</intent-filter>

<intent-filter android:label="@string/filter_title_viewrusdelphi">
    <action android:name="android.intent.action.VIEW" />
    <!-- Accepts URIs that begin with "http://example.com/gizmos” -->
    <data
        android:host="rusdelphi.com"
        android:pathPrefix="/app"
        android:scheme="http" />

    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
</intent-filter>

В примере приведен сайт http://example.com/gizmos, а мы его переписали на наш rusdelphi.com/app.

Этих небольших изменений в приложении уже достаточно для связывания.

Проверим наше приложение при помощи команд adb :

adb shell am start -a android.intent.action.VIEW -d "http://rusdelphi.com/app" com.rusdelphi.wifipassword
adb shell am start -a android.intent.action.VIEW -d "rusdelphi://app" com.rusdelphi.wifipassword

Если все сделано верно, то после каждой команды должно запускаться наше приложение.

Снимок

2. Подтверждение сайта в консоли разработчика.

В консоли разработчика нужно подтвердить наш сайт. Для это заходим во вкладку приложения -> Службы и Api -> ИНДЕКСИРОВАНИЕ ПРИЛОЖЕНИЙ GOOGLE ПОИСКОМ

СнимокДля подтверждения, я забросил в корень сайта специальный файл, после чего гугл меня распознал.

3. Размещение ссылок на сайте.

Вот тут все описано подробно, а у нас нужно было просто добавить на сайт одну строчку html кода:

<link rel="alternate" href="android-app://com.rusdelphi.wifipassword/rusdelphi/app" />

После не продолжительной индексации, гугл будет знать, что с  такой-то страницей связано приложение. При поиске, система сама предложит пользователю запустить нужное приложение.

Screenshot_2015-09-29-12-45-32

 

 

Читать на сайте автора.