In dem Manifest, die Aktivität, die deeplinked werden muss (geöffnet werden kann durch einen URI von Ihnen definierten) sollten haben folgende Struktur:
<activity
android:name=".MyActivity"
<intent-filter android:label="@string/app_name">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- Accepts URIs that begin with "http://my-app.com/mypage" -->
<data android:scheme="http"
android:host="my-app.com"
android:pathPrefix="/mypage" />
</intent-filter>
</activity>
In Ihrer Aktivität definieren Sie einen URI, der diese Aktivität eindeutig identifiziert. Es sollte im folgenden Format sein: //android-app://<package_name>/<scheme>/[host_path])
.
Zum Beispiel:
private static final Uri MY_URI = Uri.parse("android-app://com.myapp/http/my-app.com/mypage/");
Außerdem benötigen Sie eine Instanz der GoogleApiClient zu verwenden.
private GoogleApiClient mClient;
In der onCreate Funktion initialisieren Sie den Client:
mClient = new GoogleApiClient.Builder(this).addApi(AppIndex.APP_INDEX_API).build();
Dann, wo immer angemessen im Code, an den Client verbinden und eine Aktion erstellen, die den AppIndex API übergeben werden.
Zum Beispiel:
// Connect your client
mClient.connect();
// Define a title for your current page, shown in autocompletion UI
final String TITLE = "My Title";
//Define an action
Action viewAction = Action.newAction(Action.TYPE_VIEW, TITLE, MY_URI);
// Call the App Indexing API view method
PendingResult<Status> result = AppIndex.AppIndexApi.start(mClient, viewAction);
result.setResultCallback(new ResultCallback<Status>() {
@Override
public void onResult(Status status) {
if (status.isSuccess()) {
Log.d(TAG, "App Indexing API: Recorded view successfully.");
} else {
Log.e(TAG, "App Indexing API: There was an error recording the view."
+ status.toString());
}
}
});
Schließlich trennen die GoogleApiClient Instanz im OnStop Methode:
mClient.disconnect();
Ich würde vorschlagen, dass Sie das folgende Tutorial durch auf Google CodeLabs für AppIndexing und Deeplinken. Sie benötigen ein gewisses Verständnis dafür, wie die Tiefenverknüpfung funktioniert, bevor Sie die App-Indizierung richtig implementieren können.
https://codelabs.developers.google.com/codelabs/app-indexing/#0
Nr Es ist nicht notwendig neuesten App auf Play Store zu veröffentlichen, für die Funktion zum automatischen Vervollständigung zu arbeiten. Bitte poste deinen Code genauer, damit die Leute dir helfen können. –
ja es ist nicht notwendig .. Auto complete funktioniert jetzt richtig ... Danke. Aber wenn ich auf die Option "Seite automatisch vervollständigen" klicke, wird die Verknüpfung mit der Spiele-App nicht hergestellt. bedeutet, wenn ich auf Auto complete klicke, wird das Spiel nicht geöffnet. Ist es notwendig, dass das konfigurierte Build veröffentlicht wird, um es zu überprüfen? –
Bitte geben Sie den Code Ihrer Manifest-Datei an, in der Sie Deeplinks bearbeitet haben. Ich hoffe, Sie haben das Deeplink-URL-Schema im Manifest für die Aktivität definiert, die geöffnet werden muss, wenn Sie auf die Option zum automatischen Vervollständigen klicken. –