Suche…


Bemerkungen

  • Wenn Sie sich für die App-Indexierung entscheiden, finden Sie möglicherweise viele Blogs, Dokumentationen, die Sie verwirren können. In diesem Fall empfehle ich Ihnen, sich an die offiziellen Dokumente von Firebase-Google zu halten. Auch wenn Sie Dritte dazu verwenden möchten, befolgen Sie zuerst diese Dokumentation, da Sie so eine klare Vorstellung davon bekommen, wie die Dinge funktionieren.

  • Es dauert etwa 24 Stunden, bis Google Ihre Inhalte indiziert. Also sei geduldig. Sie können Tests durchführen, um sicherzustellen, dass auf Ihrer Seite alles in Ordnung ist.

  • Im ersten Beispiel können Sie die HTTP-URL Ihrer Website unterstützen, um sie in Ihrer App umzuleiten. Dies funktioniert beispielsweise, wenn Sie eine Suchanfrage in der Google-Suche durchsucht haben. Die Ergebnisse zeigen eine URL Ihrer Website an, deren App-Links in Ihrer bereits installierten App vorhanden sind. Wenn Sie auf diese URL klicken, werden Sie direkt in Ihrem App-Bildschirm entsprechend dem Suchergebnis weitergeleitet. Das ist es, was ich dafür entdeckt habe.

  • Durch das Hinzufügen der AppIndexing-API werden Ihre Inhalte indiziert und bei der automatischen Vervollständigung in der Google-Suchleiste verwendet. Nehmen wir ein Beispiel für eine inShorts-Anwendung für jede Seite. Es gibt eine Überschrift und eine kleine Beschreibung. Schließen Sie die Anwendung nach dem Lesen von 2 oder 3 Überschriften und wechseln Sie zu google searchBar.

Geben Sie hier die Bildbeschreibung ein

Versuchen Sie, eine Schlagzeile einzugeben, die Sie gerade durchgesehen haben. Sie erhalten einen Vorschlag für eine App-Seite mit dieser Überschrift als Titel. Dies unterscheidet sich von App-Vorschlägen, die Sie beim Suchen nach Apps erhalten. Dies geschieht, weil Sie AppIndexing-API-Code für diese bestimmte Seite geschrieben haben und der Titel mit dem in onCreate() initialisiert ist.

Geben Sie hier die Bildbeschreibung ein

Unterstützung von HTTP-URLs

Schritt 1: - Lassen Sie Google auf Ihre content.Edit Servers robot.txt auf Crawl file.You kann Google und bearbeite diese Datei auf Ihre Inhalte steuern kriechen, können Sie sich auf diesen Link für weitere Informationen.

Schritt 2: - Verknüpfen Sie Ihre App mit Ihrer Website.Include assetlinks.json Laden Sie sie in das bekannte Verzeichnis Ihres Webservers hoch. Der Inhalt Ihrer assetlinks.json ist as-

       [{
"relation": ["delegate_permission/common.handle_all_urls"],
"target" : 
{ "namespace": "android_app",
"package_name": "<your_package_name>",
"sha256_cert_fingerprints": ["<hash_of_app_certificate>"] }

}]

Schritt 3: - Fügen Sie App-Links in Ihre Manifestdatei ein, um URLs wie unten in Ihrer Anwendung umzuleiten.

<activity
       android:name=".activity.SampleActivity"
       android:label="@string/app_name"
       android:windowSoftInputMode="adjustResize|stateAlwaysHidden">
       <intent-filter>
             <action android:name="android.intent.action.VIEW" />
             <category android:name="android.intent.category.DEFAULT" />
             <category android:name="android.intent.category.BROWSABLE" />
       <data
             android:host="example.live"
             android:pathPrefix="/vod"
             android:scheme="https"/>
       <data
             android:host="example.live"
             android:pathPrefix="/vod"
             android:scheme="http"/>
     </intent-filter>
   </activity>

Lesen Sie dies, wenn Sie hier mehr über jedes Tag erfahren möchten.

<action> Geben Sie die Absichtsaktion ACTION_VIEW an, damit der Absichtsfilter über die Google-Suche erreicht werden kann.

<data> Fügen Sie ein oder mehrere Tags hinzu, wobei jedes Tag ein URI-Format darstellt, das in die Aktivität aufgelöst wird. Das Tag muss mindestens das Attribut android: scheme enthalten. Sie können zusätzliche Attribute hinzufügen, um den von der Aktivität akzeptierten URI-Typ weiter zu verfeinern. Möglicherweise verfügen Sie über mehrere Aktivitäten, die ähnliche URIs akzeptieren, die sich jedoch einfach nach dem Pfadnamen unterscheiden. Verwenden Sie in diesem Fall das Attribut android: path oder dessen Varianten (pathPattern oder pathPrefix), um zu unterscheiden, welche Aktivität das System für verschiedene URI-Pfade öffnen soll.

<category> Fügen Sie die Kategorie BROWSABLE hinzu. Die Kategorie BROWSABLE ist erforderlich, damit der Absichtsfilter über einen Webbrowser aufgerufen werden kann. Ohne das Klicken auf einen Link in einem Browser kann Ihre App nicht aufgelöst werden. Die Kategorie DEFAULT ist optional, wird jedoch empfohlen. Ohne diese Kategorie kann die Aktivität nur mit einer expliziten Absicht unter Verwendung des Namens der App-Komponente gestartet werden.

Schritt 4: - Behandeln Sie eingehende URLs

    @Override
    protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_schedule);
       onNewIntent(getIntent());
  }

   protected void onNewIntent(Intent intent) {
   String action = intent.getAction();
   Uri data = intent.getData();
   if (Intent.ACTION_VIEW.equals(action) && data != null) {
       articleId = data.getLastPathSegment();
       TextView linkText = (TextView)findViewById(R.id.link);
       linkText.setText(data.toString());
   }

}

Schritt 5: - Sie können dies testen, indem Sie den Befehl Android Debug Bridge oder Studio-Konfigurationen verwenden. Adb-Befehl: - Starten Sie Ihre Anwendung und führen Sie dann den folgenden Befehl aus: -

adb shell am start -a android.intent.action.VIEW -d "{URL}" < package name >

Android Studio-Konfigurationen: - Android Studio> Erstellen> Konfiguration bearbeiten> Startoptionen > URL auswählen> Geben Sie hier Ihre URL ein> Übernehmen und testen. Starten Sie Ihre Anwendung, wenn das Fenster "Ausführen" einen Fehler anzeigt App-Links, die im Manifest erwähnt werden, andernfalls werden sie erfolgreich ausgeführt, und auf die Seite weitergeleitet, auf der die URL angegeben ist, sofern angegeben.

AppIndexing-API hinzufügen

Um dies zu einem Projekt hinzuzufügen, können Sie das offizielle Dokument leicht finden, aber in diesem Beispiel möchte ich einige der wichtigsten Bereiche hervorheben, die zu beachten sind.

Schritt 1: - Google-Dienst hinzufügen

dependencies {
      ...
      compile 'com.google.android.gms:play-services-appindexing:9.4.0'
      ...
    }

Schritt 2: - Klassen importieren

import com.google.android.gms.appindexing.Action;
import com.google.android.gms.appindexing.AppIndex;
import com.google.android.gms.common.api.GoogleApiClient;

Schritt 3: - Fügen Sie App-Indizierungs-API-Aufrufe hinzu

private GoogleApiClient mClient;
private Uri mUrl;
private String mTitle;
private String mDescription;

//If you know the values that to be indexed then you can initialize these variables in onCreate() 
@Override
protected void onCreate(Bundle savedInstanceState) {
mClient = new GoogleApiClient.Builder(this).addApi(AppIndex.API).build();
mUrl = "http://examplepetstore.com/dogs/standard-poodle";
mTitle = "Standard Poodle";
mDescription = "The Standard Poodle stands at least 18 inches at the withers";
}

//If your data is coming from a network request, then initialize these value in onResponse() and make checks for NPE so that your code won’t fall apart.

//setting title and description for App Indexing
mUrl = Uri.parse(“android-app://com.famelive/https/m.fame.live/vod/” +model.getId());
mTitle =   model.getTitle();
mDescription = model.getDescription();

mClient.connect();
AppIndex.AppIndexApi.start(mClient, getAction());

@Override
protected void onStop() {
if (mTitle != null && mDescription != null && mUrl != null) //if your response fails then check whether these are initialized or not
   if (getAction() != null) {
       AppIndex.AppIndexApi.end(mClient, getAction());
       mClient.disconnect();
    }
 super.onStop();
}

 public Action getAction() {
   Thing object = new Thing.Builder()
       .setName(mTitle)
       .setDescription(mDescription)
       .setUrl(mUrl)
       .build();

 return new Action.Builder(Action.TYPE_WATCH)
       .setObject(object)
       .setActionStatus(Action.STATUS_TYPE_COMPLETED)
       .build();
}

Um dies zu testen, folgen Sie den Schritten 4 in den nachstehenden Anmerkungen.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow