Подтвердить что ты не робот

Что такое новый сгенерированный код "Это было автоматически создано для реализации 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 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 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"/>

Проблема

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

Я думаю, этот - как его использовать, но я не понимаю, как все это работает.

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

Вопросы

  • Что это? Что он делает?
  • Что мне делать с этим?
  • Есть ли какие-либо настройки для него? Любые рекомендации?
  • В каких случаях генерируется эта строка кода? Я не заметил, как и когда он создается...

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

4b9b3361

Ответ 1

Вы правы: этот код автоматически создается для вас 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

Ответ 2

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

Settings > Intentions > Android > Insert App Indexing API code

и снимите флажок.

Ответ 3

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

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

Чтобы найти его, введите "api code" в поле поиска в окне "Файл" > "Настройки". Это там, в моей установке Android Studio 2.2.3