
Задумывались ли вы, как эти загадочные ссылки, указывающие на приложения, появляются в результатах поиска при поиске в Интернете с помощью Google? Как разработчики приложений могут убедиться, что их приложения отображаются здесь?
В этом уроке я покажу, как добиться этого эффекта для ваших приложений.
1. Что такое индексирование приложений?
Индексирование приложений Google (теперь переименованное в Индексирование приложений Firebase) позволяет указывать родные приложения в результатах поиска Google, как если бы они были обычными веб-страницами. Записи приложения, которые отображаются вместе с обычными записями веб-страницы, отображаются, когда соответствующий поисковый запрос отправляется из браузера соответствующего устройства. В настоящее время эта функция поддерживается на платформах Android и iOS.
Зачем это нужно разработчикам?
Индексация приложений максимизирует шансы разработчика на успех, поскольку одновременно выполняет две важные задачи.
Во-первых, это улучшает и расширяет возможности мобильных пользователей. Если приложение, относящееся к поисковому запросу, найдено, пользователю предоставляется возможность установить приложение или напрямую запустить приложение (если оно уже установлено на устройстве), даже не покидая браузер. Таким образом, у пользователей будет положительное первое впечатление о таком приложении, и они подсознательно оценят тот факт, что приложение удалось отобразить в правильном контексте, и что оно предоставило им несколько вариантов для рассмотрения.
Во-вторых, это помогает разработчикам продвигать свои приложения напрямую через поисковую систему Google. Разработчики могут использовать этот механизм для привлечения трафика непосредственно в свои приложения и резко увеличить количество скачиваний.
Как это технически возможно?
Индексирование приложений работает с помощью довольно простого, но умного способа установления отношений между приложением и его веб-сайтом, который называется «ассоциация сайта». Рабочий процесс состоит из нескольких этапов:
- Добавление фильтра намерений для поддержки URL-адресов и поиска Google
- Связывание сайта с приложением
- Добавление кода API индексации приложений
2. Давайте построим это
Теперь, когда у нас есть представление о рабочем процессе, мы перейдем к каждому шагу и, наконец, протестируем нашу реализацию на Android Studio. Итак, мы создадим новый Android-проект в Android Studio IDE. Вам нужно будет установить Android Studio 2.0 или более позднюю версию на вашем компьютере. Создайте новый проект Android с пустой деятельностью. Я использовал MyApp в качестве названия моего нового проекта Android.

Шаг 1
Начнем с добавления фильтра намерений для поддержки URL-адресов и поиска Google. Intents — это агенты связи между компонентами приложения Android, а использование Intent Filters является стандартным способом введения неявного намерения в ваше приложение.
Неявное намерение в вашем приложении позволяет ему запрашивать у ОС оценку всех соответствующих зарегистрированных компонентов (возможно, в других установленных приложениях) и выбирать один из них, что позволяет выполнять определенную задачу с использованием другого приложения, установленного в системе. Напротив, явное намерение напрямую указывает целевой компонент приложения, так что для выполнения действия будет вызываться только указанный компонент. Вы можете прочитать больше о Intents и Intent Filters на сайте разработчиков Android .
Теперь мы начнем создавать Intent Filter.
- Откройте файл AndroidManifest.xml .
- Выберите элемент
<activity>с помощью курсора. - Щелкните правой кнопкой мыши, когда выделение включено, и выберите « Создать» во всплывающем меню.
- Далее выберите URL из всплывающего меню.

Вы увидите, что Android Studio добавила дополнительный код в ваш файл AndroidManifest.xml . Вы можете изменить атрибуты элемента <data> сгенерированного кода в соответствии с вашими требованиями. В моем случае я предоставил значения, связанные с моим демонстрационным сайтом .
Обязательно укажите необходимые значения для схем http и https .
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
<?xml version=»1.0″ encoding=»utf-8″?>
<manifest xmlns:android=»http://schemas.android.com/apk/res/android»
package=»com.mycompany.myapp»>
<application
android:allowBackup=»true»
android:icon=»@mipmap/ic_launcher»
android:label=»@string/app_name»
android:supportsRtl=»true»
android:theme=»@style/AppTheme»>
<activity android:name=».MainActivity»>
<intent-filter>
<action android:name=»android.intent.action.MAIN» />
<category android:name=»android.intent.category.LAUNCHER» />
</intent-filter><!— ATTENTION: This intent was auto-generated.
https://g.co/AppIndexing/AndroidStudio to publish your URLs.
<intent-filter>
<action android:name=»android.intent.action.VIEW» />
<category android:name=»android.intent.category.DEFAULT» />
<category android:name=»android.intent.category.BROWSABLE» />
<!— ATTENTION: This data URL was auto-generated.
TODO: Change the host or pathPrefix as necessary.
<data
android:host=»sites.google.com»
android:pathPrefix=»/site/appindexingex/home/main»
android:scheme=»http» />
<data
android:host=»sites.google.com»
android:pathPrefix=»/site/appindexingex/home/main»
android:scheme=»https» />
</intent-filter>
</activity><!— ATTENTION: This was auto-generated to add Google Play services to your project for
App Indexing.
<meta-data
android:name=»com.google.android.gms.version»
android:value=»@integer/google_play_services_version» />
</application>
</manifest>
|
Шаг 2
Теперь нам нужно связать сайт с нашим приложением.
Вам необходимо подтвердить веб-URL, который вы хотите связать с вашим приложением, с помощью консоли поиска Google. Просто войдите в консоль поиска под своей учетной записью Google, и вы найдете простые инструкции по проверке URL-адреса.
Вы также можете найти подробные инструкции о том, как определить структуру связанного веб-сайта, которая соответствует структуре вашего приложения, в Руководстве по индексации приложений Firebase . Однако, поскольку мы тестируем приложение только с помощью Android Studio, нам не нужно изучать эти детали в этом руководстве.
Для тестирования нам нужен только действующий веб-URL, подтвержденный Google. Атрибуты, которые вы предоставляете для элемента <data> на шаге 1, должны соответствовать этому проверенному веб-URL, который должен быть полностью функциональным.
Шаг 3
Наконец, мы добавим код API индексации приложений. Android Studio предоставляет автоматизированный способ сделать это:
- Откройте файл MainActivity.java вашего проекта Android.
- Выберите слово
onCreateс помощью курсора. - Щелкните правой кнопкой мыши, когда выбор включен, и выберите « Создать» во всплывающем меню.
- Далее выберите код API индексации приложения из всплывающего меню.

Вы увидите автоматически сгенерированный код, добавленный Android Studio в файл MainActivity.java . Обязательно отредактируйте ссылки функции Uri.parse() , чтобы они правильно указывали на URL-адреса, связанные с вашим приложением.
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
package com.mycompany.myapp;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import com.google.android.gms.appindexing.Action;
import com.google.android.gms.appindexing.AppIndex;
import com.google.android.gms.common.api.GoogleApiClient;
public class MainActivity extends AppCompatActivity {
/**
* ATTENTION: This was auto-generated to implement the App Indexing API.
* See https://g.co/AppIndexing/AndroidStudio for more information.
*/
private GoogleApiClient client;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// ATTENTION: This was auto-generated to implement the App Indexing API.
// See https://g.co/AppIndexing/AndroidStudio for more information.
client = new GoogleApiClient.Builder(this).addApi(AppIndex.API).build();
}
@Override
public void onStart() {
super.onStart();
// ATTENTION: This was auto-generated to implement the App Indexing API.
// See https://g.co/AppIndexing/AndroidStudio for more information.
client.connect();
Action viewAction = Action.newAction(
Action.TYPE_VIEW, // TODO: choose an action type.
«Main Page», // TODO: Define a title for the content shown.
// TODO: If you have web page content that matches this app activity’s content,
// make sure this auto-generated web page URL is correct.
// Otherwise, set the URL to null.
Uri.parse(«http://sites.google.com/site/appindexingex/home/main»),
// TODO: Make sure this auto-generated app URL is correct.
Uri.parse(«android-app://com.mycompany.myapp/http/sites.google.com/site/appindexingex/home/main»)
);
AppIndex.AppIndexApi.start(client, viewAction);
}
@Override
public void onStop() {
super.onStop();
// ATTENTION: This was auto-generated to implement the App Indexing API.
// See https://g.co/AppIndexing/AndroidStudio for more information.
Action viewAction = Action.newAction(
Action.TYPE_VIEW, // TODO: choose an action type.
«Main Page», // TODO: Define a title for the content shown.
// TODO: If you have web page content that matches this app activity’s content,
// make sure this auto-generated web page URL is correct.
// Otherwise, set the URL to null.
Uri.parse(«http://sites.google.com/site/appindexingex/home/main»),
// TODO: Make sure this auto-generated app URL is correct.
Uri.parse(«android-app://com.mycompany.myapp/http/sites.google.com/site/appindexingex/home/main»)
);
AppIndex.AppIndexApi.end(client, viewAction);
client.disconnect();
}
}
<br> |
3. Тестирование
Теперь мы протестируем нашу работу на Android Studio, чтобы убедиться, что наша реализация индексации приложений работает правильно. Сначала убедитесь, что вы подключены к Интернету. Затем в Android Studio выберите Инструменты> Android> Тест индексации приложений Google.

Через некоторое время появится экран, подобный показанному ниже. Результаты прохождения теста гарантируют, что индексирование приложений будет работать правильно в вашем приложении.

Вывод
Индексирование приложений — это полезная функция для вашего приложения, позволяющая привлечь больше загрузок, и она определенно поможет вам ориентироваться на более широкую пользовательскую базу в качестве разработчика. В этом руководстве мы проверяли только, правильно ли работает наша реализация индексации приложений, но не то, как точно пользователь воспринимает функциональность, полученную в результате реализации. Вы можете перейти к следующему уровню, найдя дополнительную информацию на веб- сайтах справки по индексированию приложений Firebase , Google для веб-мастеров и Android Studio .