webentwicklung-frage-antwort-db.com.de

Was ist der neue generierte Code "Dieser wurde automatisch generiert, um die App-Indizierungs-API zu implementieren."

Hintergrund

Ich habe gerade ein neues POC erstellt (über Aktivitätsübergänge, aber das ist nicht das Thema), und ich habe bemerkt, dass eine neue Zeile in der "onCreate" -Methode der Hauptaktivität geschrieben wird:

    // 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();

Und mehr:

@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();
    }

und dies wurde dem Manifest hinzugefügt:

<!-- 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"/>

Das Problem

Wenn ich mir die Webseite anschaue, die geschrieben wurde, verstehe ich immer noch nicht, was es ist.

Ich denke, this ist, wie man es benutzt, aber ich verstehe nicht, wie alles funktioniert.

Seltsam ist auch, dass jedes andere neue Projekt, das ich erstelle, diese neue Codezeile nicht anzeigt

Die Fragen

  1. Was ist das? Was tut es?
  2. Was soll ich damit machen?
  3. Gibt es Anpassungen dafür? Irgendwelche Empfehlungen? 
  4. In welchen Fällen wird diese Codezeile generiert? Ich habe nicht bemerkt, wie und wann es erstellt wird ...

Ich schätze, was ich auf der Website gelesen und gesehen habe, ist, dass dies nur für Apps verwendet wird, die eine Art Suche durchführen können, sodass Google dem Nutzer vorherige Abfragen und schnellere Ergebnisse anzeigen konnte. 

18

Sie haben Recht: Dieser Code wird automatisch von Android Studio erstellt, um die Implementierung der App-Indexierungs-API zu unterstützen.

Sie wird jedoch nicht erstellt, indem Sie Ihrer App einfach eine neue Aktivität hinzufügen. Sie müssen Android Studio explizit bitten, diesen Code zu erstellen. Sie müssten dann die Details Ihrer Aktivität aktualisieren: Art der Aktion, Titel, Deep Link, entsprechende Webseite (sofern vorhanden).

Um diesen Code für Sie generieren zu lassen, können Sie verwenden Sie die Popup-Liste mit Absichten} durch Alt + Eingabetaste, wählen Sie "App-Indexierungs-API-Code einfügen":

 enter image description here

Sie können auch Popup-Code-Generierungsliste durch Alt + Einfügen verwenden und "App-Indexierungs-API-Code" auswählen:

 enter image description here

Hier ist die relevante Google Developers-Dokumentation:

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

Es gibt wirklich nur vier Teile, die du zum Tweak brauchst:

// 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")

Als bewährte Methode sollten Sie einen Titel auswählen, der den Inhalt an dieser Deep-Link-Position in Ihrer App am genauesten beschreibt. So wie Sie es auch in den <TITLE></TITLE>-Tags in einem HTML-Webseitenheader tun würden.

Nach der Implementierung meldet jede Aktivität, die von Ihrem Endbenutzer angezeigt wird, diesen Deep Link an das Android-Betriebssystem. Dann wird es in den Ergebnissen für die automatische Vervollständigung der Ergebnisse verfügbar sein, wenn ein Nutzer eine Abfrage in das Google Quicksearch-Feld eingibt. Ihr App-Symbol und der von Ihnen eingegebene Titel werden in den Vorschlagsergebnissen angezeigt, wenn die Benutzerabfrage Ihrem Titel nach Stichwort entspricht.

Hier ein Beispiel, wie es aus der Sicht der Endbenutzer in der Live Nation-App aussehen würde, vorausgesetzt, er hatte zuvor die beiden Seiten besucht, die links in den vorgeschlagenen Ergebnissen angezeigt werden:

 enter image description here

Durch die Implementierung der App-Indexierungs-API erhalten Sie außerdem einen Ranking-Schub in den Suchergebnissen, wie in dem Link angegeben, den Sie in Ihrer ursprünglichen Frage angegeben haben:

Dies ermöglicht das automatische Durchführen von Abfragen für Ihre App-Benutzer sowie Reichhaltigere Suchergebnisse, verbesserte Suchqualität und verbesserte Rangfolge Signale.

Schließlich können Sie an diesem Code-Labor als zusätzliche Ressource interessiert sein:

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

16
pferg

Falls dies hilfreich ist, können Sie diese Option deaktivieren, indem Sie Folgendes aufrufen:

Settings > Intentions > Android > Insert App Indexing API code

und deaktivieren Sie es.

3
elevenfive

sie können diese Option deaktivieren, indem Sie die Option unter deaktivieren:

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

Um es zu finden, geben Sie "api code" in das Suchfeld im Fenster "Datei"> "Einstellungen" ein Es ist in meiner Installation von Android Studio 2.2.3 enthalten

0
steveputz