Что такое Новый сгенерированный код "это было автоматически сгенерировано для реализации API индексирования приложений."?

фон

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

    // 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 мог показать пользователю предыдущие запросы и более быстрые результаты.

3 ответов


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

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

чтобы этот код был сгенерирован для вас, вы может используйте всплывающий список намерении by Alt + Enter выбираем "вставить код API индексирования приложения":

enter image description here

или вы можете использовать всплывающий код создать список by Alt + Insert выбираем "код API индексирования приложений":

enter image description here

вот соответствующие разработчики Google документация:

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. Затем он будет доступен в результатах автозаполнения Suggest, когда пользователь вводит запрос в поле быстрого поиска Google. Значок приложения и название, которое вы указали, будут показаны в результатах Suggest, если запрос пользователей соответствует вашему названию по ключевому слову.

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

enter image description here

кроме того, реализуя 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

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