Что такое новый сгенерированный код «Это было автоматически создано для реализации API индексирования приложений»?

Задний план

Я только что создал новую POC сегодня (о переходах активности, но это не та тема), и я заметил, что новая строка написана в методе «onCreate» основной активности:

// ATTENTION: This was auto-generated to implement the App Indexing API. // See https://g.co/AppIndexing/AndroidStudio for more information. mClient = 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. mClient.connect(); Action viewAction = Action.newAction( Action.TYPE_VIEW, // TODO: choose an action type. "SinglePhotoViewer 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://host/path"), // TODO: Make sure this auto-generated app deep link URI is correct. Uri.parse("android-app://com.example.user.transitionstest/http/host/path") ); AppIndex.AppIndexApi.start(mClient, 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. "SinglePhotoViewer 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://host/path"), // TODO: Make sure this auto-generated app deep link URI is correct. Uri.parse("android-app://com.example.user.transitionstest/http/host/path") ); AppIndex.AppIndexApi.end(mClient, viewAction); mClient.disconnect(); } 

И это было добавлено в манифест:

 <!-- ATTENTION: This was auto-generated to add Google Play services to your project for App Indexing. See https://g.co/AppIndexing/AndroidStudio for more information. --> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/> 

Проблема

Глядя на веб-сайт, который был написан, я до сих пор не понимаю, что это такое.

Наверное, так оно и есть, но я не понимаю, как все это работает.

Кроме того, странно, что любой другой новый проект, который я создаю, не показывает эту новую строку кода

Вопросы

  1. Что это? Что оно делает?
  2. Что мне делать с этим?
  3. Есть ли какие-то настройки для него? Есть рекомендации?
  4. В каких случаях генерируется эта строка кода? Я не заметил, как и когда он создается …

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

Solutions Collecting From Web of "Что такое новый сгенерированный код «Это было автоматически создано для реализации API индексирования приложений»?"

Вы правы: этот код автоматически создается для вас Android Studio, чтобы помочь в реализации API индексирования приложений.

Однако он не создается просто добавлением нового действия в ваше приложение. Вам нужно будет явно спросить Android Studio о создании этого кода. Затем вам нужно будет обновить его с информацией о вашей деятельности: Тип действия, Название, Глубокая ссылка, Соответствующая веб-страница (если таковая существует).

Чтобы этот код сгенерировался для вас, вы можете использовать список всплывающих намерений с помощью Alt + Enter , выберите « Вставить код API индексирования приложений »:

Введите описание изображения здесь

Или вы можете использовать всплывающий код сгенерировать список по Alt + Insert , выбрать « API-код индексации приложений »:

Введите описание изображения здесь

Вот соответствующая документация Google Developers:

https://developers.google.com/app-indexing/android/test#link-creation

Для этого вам нужно всего лишь четыре части:

 // What type of action is this? (TYPE_VIEW, TYPE_LISTEN, TYPE_WATCH, etc...) Action.TYPE_VIEW // Title of your page, just like the web "SinglePhotoViewer Page" // The web url of corresponding content, if exists, otherwise leave blank, "" Uri.parse("http://host/path") // Your deep link starting with "android-app://" Uri.parse("android-app://com.example.user.transitionstest/http/host/path") 

Как наилучшая практика, вы должны выбрать заголовок, который наиболее точно описывает контент в этом глубоком месте ссылки в вашем приложении. Как и в тегах <TITLE></TITLE> в заголовке веб-страницы HTML.

После реализации любая активность, которую просматривает ваш конечный пользователь, сообщит об этой глубокой ссылке на ОС Android. Затем он будет доступен в результатах «Предложить автозаполнение», когда пользователь вводит запрос в поле быстрого поиска Google. Ваш значок приложения и заголовок, который вы предоставили, будут отображаться в результатах «Предложить», если пользовательский запрос соответствует вашему типу по ключевому слову.

Вот пример того, как это будет выглядеть, с точки зрения конечных пользователей, в приложении Live Nation, предполагая, что он ранее посещал две страницы, показанные в результатах предложения слева:

Введите описание изображения здесь

Кроме того, внедряя API индексирования приложений, вы получите повышение рейтинга в результатах поиска, как указано в ссылке, указанной в исходном вопросе:

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

Наконец, вы можете быть заинтересованы в этой лаборатории кода в качестве дополнительного ресурса:

https://codelabs.developers.google.com/codelabs/app-indexing/#0

В случае, если это поможет, вы можете отключить этот параметр, выбрав:

 Settings > Intentions > Android > Insert App Indexing API code 

И сняв флажок.

Вы можете отключить эту опцию, сняв флажок:

 Settings > Editor > Intentions > Android > Insert App Indexing API code