Dodaj linki aplikacji na Androida

Linki aplikacji na Androida to adresy URL HTTP, które przenoszą użytkowników bezpośrednio na treści w aplikacji na Androida. Linki aplikacji na Androida mogą zwiększyć ruch Twojej aplikacji, pomóc Ci określić, które treści w niej są używane najczęściej, i ułatwić użytkownikom aby wyszukiwać i udostępniać treści w zainstalowanej aplikacji.

Aby dodać obsługę linków aplikacji na Androida:

  1. Utwórz filtry intencji w pliku manifestu.
  2. Dodawaj kod do działań w aplikacji, aby obsługiwać linki przychodzące.
  3. Powiąż aplikację i witrynę za pomocą linków do zasobów cyfrowych.

Asystent linków aplikacji w Android Studio krok po kroku upraszcza ten proces zgodnie z opisem poniżej.

Więcej informacji o działaniu linków do aplikacji i oferowanych przez nie korzyściach znajdziesz w artykule Obsługa linków aplikacji na Androida

Dodaj filtry intencji

Asystent linków aplikacji w Android Studio pomoże Ci w tworzeniu filtry intencji w pliku manifestu i zmapuj istniejące adresy URL ze swojej witryny na aktywności w aplikacji. Linki aplikacji Asystent dodaje też kod szablonu w każdym działaniu do obsługi intencji.

Aby dodać filtry intencji i obsługę adresów URL, wykonaj te czynności:

  1. Wybierz Narzędzia > Asystent linków aplikacji.
  2. Kliknij Otwórz edytor mapowania adresów URL, a następnie kliknij Dodaj. w: dołu listy Mapowanie adresów URL, aby dodać nowe mapowanie adresów URL.
  3. Dodaj szczegóły nowego mapowania adresów URL:

    Asystent linków aplikacji przeprowadzi Cię przez podstawowe mapowanie adresów URL

    Rysunek 1. Dodawanie podstawowych informacji o linku do witryny do mapowania adresów URL na aktywności w aplikacji.

    1. W polu Host wpisz adres URL swojej witryny.
    2. Dodaj path, pathPrefix lub pathPattern w przypadku adresów URL, które chcesz zmapować.

      Jeśli na przykład masz aplikację do udostępniania przepisów, w której wszystkie przepisy są dostępne aktywności, a przepisy na Twoją stronę znajdziesz w tym samym tagu /recipe. w katalogu wpisz pathPrefix i /recipe. Dzięki temu adres URL http://www.recipe-app.com/recipe/grilled-potato-salad odpowiada aktywności wybranej w w następujący sposób.

    3. Wybierz działanie, do którego adresy URL mają kierować użytkowników.
    4. Kliknij OK.

    Pojawi się okno edytora mapowania adresów URL. Asystent linków aplikacji dodaje filtry intencji oparte na Mapowanie adresu URL na adres AndroidManifest.xml i wyróżnia zmiany w Podgląd. Jeśli chcesz wprowadzić zmiany, kliknij Otwórz AndroidManifest.xml w celu edytowania filtra intencji. Więcej informacji: intent z filtrami linków przychodzących.

    Główne okno Asystenta linków aplikacji też wyświetla wszystkie istniejące precyzyjne linki w sekcji AndroidManifest.xml. Dzięki niemu możesz szybko naprawić błędy konfiguracji, klikając Rozwiąż wszystkie problemy z plikiem manifestu.

    Asystent linków aplikacji umożliwia naprawianie błędów konfiguracji w pliku manifestu.

    Uwaga: aby w przyszłości obsługiwać linki bez aktualizowania aplikacji, zdefiniować mapowanie adresów URL, które obsługuje adresy URL, które planujesz dodać. Dołącz też Adres URL ekranu głównego aplikacji, aby był widoczny w wynikach wyszukiwania.

  4. Aby sprawdzić, czy mapowanie adresów URL działa prawidłowo, wpisz URL w polu Sprawdź mapowanie adresów URL. .

    Jeśli wszystko działa prawidłowo, że wpisany URL jest powiązany z wybraną aktywnością.

Obsługa linków przychodzących

Gdy upewnisz się, że mapowanie adresów URL działa prawidłowo, dodaj funkcje logiczne do obsługi intencji utworzony przez Ciebie:

  1. W Asystencie linków aplikacji kliknij Wybierz aktywność.
  2. Wybierz aktywność z listy i kliknij Wstaw kod.

Asystent linków aplikacji dodaje do Twojej aktywności kod podobny do tego:

Kotlin

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    ...
    // ATTENTION: This was auto-generated to handle app links.
    val appLinkIntent: Intent = intent
    val appLinkAction: String? = appLinkIntent.action
    val appLinkData: Uri? = appLinkIntent.data
    ...
}

Java

@Override
void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ...
    // ATTENTION: This was auto-generated to handle app links.
    Intent appLinkIntent = getIntent();
    String appLinkAction = appLinkIntent.getAction();
    Uri appLinkData = appLinkIntent.getData();
    ...
}

Ten kod nie jest kompletny. Musisz teraz wykonać działanie na podstawie identyfikatora URI w appLinkData, na przykład do wyświetlenia odpowiedniej treści. Na przykład w przypadku parametru aplikacji do udostępniania przepisów, Twój kod może wyglądać tak:

Kotlin

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    ...
    handleIntent(intent)
}

override fun onNewIntent(intent: Intent) {
    super.onNewIntent(intent)
    handleIntent(intent)
}

private fun handleIntent(intent: Intent) {
    val appLinkAction = intent.action
    val appLinkData: Uri? = intent.data
    if (Intent.ACTION_VIEW == appLinkAction) {
        appLinkData?.lastPathSegment?.also { recipeId ->
            Uri.parse("content://com.recipe_app/recipe/")
                    .buildUpon()
                    .appendPath(recipeId)
                    .build().also { appData ->
                        showRecipe(appData)
                    }
        }
    }
}

Java

protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  ...
  handleIntent(getIntent());
}

protected void onNewIntent(Intent intent) {
  super.onNewIntent(intent);
  handleIntent(intent);
}

private void handleIntent(Intent intent) {
    String appLinkAction = intent.getAction();
    Uri appLinkData = intent.getData();
    if (Intent.ACTION_VIEW.equals(appLinkAction) && appLinkData != null){
        String recipeId = appLinkData.getLastPathSegment();
        Uri appData = Uri.parse("content://com.recipe_app/recipe/").buildUpon()
            .appendPath(recipeId).build();
        showRecipe(appData);
    }
}

Powiąż aplikację z witryną

Po skonfigurowaniu obsługi adresów URL w aplikacji Asystent linków aplikacji generuje zasoby cyfrowe Plik z linkami, którego można używać do powiąż witrynę z do aplikacji.

Zamiast korzystać z pliku Digital Asset Links, możesz: powiąż witrynę i aplikację Search Console.

Jeśli używasz Aplikacja Google Play podpisywanie aplikacji, a następnie odcisk cyfrowy certyfikatu wygenerowany przez linki aplikacji. Asystent zwykle nie jest zgodny z tym u użytkowników urządzenia. W takim przypadku możesz znaleźć parametr odpowiedni fragment kodu JSON protokołu Digital Asset Links w Twojej aplikacji na konto dewelopera w Konsoli Play, Release > Setup > App signing

Aby powiązać aplikację z witryną za pomocą Asystenta linków aplikacji, kliknij Otwórz Generator plików Digital Asset Links w Asystencie linków aplikacji i wykonaj te czynności: kroki:

Asystent linków aplikacji przeprowadzi Cię przez podstawowe mapowanie adresów URL

Rysunek 2. Podaj informacje o witrynie i aplikacji, aby i wygenerować plik Digital Asset Links.

  1. Wpisz domenę witryny i Zastosowanie Identyfikator.
  2. Aby uwzględnić w pliku Digital Asset Links pomoc dotyczącą: Logowanie jednym dotknięciem, wybierz Obsługuj udostępnianie danych logowania między aplikacją i wpisz URL logowania.Spowoduje to dodanie tego ciągu do pliku Plik Digital Asset Links z deklaracją, że Twoja aplikacja i witryna mają te same dane logowania: delegate_permission/common.get_login_creds.

  3. określ konfigurację podpisywania lub wybierz plik magazynu kluczy.

    Wybierz odpowiedni plik konfiguracji wersji lub pliku magazynu kluczy dla kompilacji wersji lub konfiguracji debugowania lub pliku magazynu kluczy dla do debugowania kompilacji aplikacji. Jeśli chcesz skonfigurować kompilację produkcyjną, skorzystaj z narzędzia . Jeśli chcesz przetestować kompilację, użyj konfiguracji debugowania.

  4. Kliknij Wygeneruj plik Digital Asset Links.
  5. Gdy Android Studio wygeneruje plik, kliknij Zapisz plik, by go pobrać.
  6. Prześlij plik assetlinks.json do swojej witryny z uprawnieniami do odczytu dla wszystkich na https://yoursite/.well-known/assetlinks.json

    Ważne: system weryfikuje plik Digital Asset Links za pomocą zaszyfrowanego protokołu HTTPS. Upewnij się, że plik assetlinks.json jest dostępny przez połączenia HTTPS niezależnie od tego, czy filtr intencji aplikacji zawiera https

  7. Kliknij Połącz i zweryfikuj, aby sprawdzić, czy został przesłany prawidłowy zasób cyfrowy. Plik zawiera link do prawidłowej lokalizacji.

Asystent linków aplikacji może zweryfikować plik Digital Assets Links, który powinien zostać opublikowany do Twojej witryny. W przypadku każdej domeny zadeklarowanej w pliku manifestu Asystent analizuje plik. w Twojej witrynie, sprawdza weryfikację i podaje szczegółowe informacje o tym, .

Więcej informacji o łączeniu witryny z aplikacją za pomocą pliku Digital Asset Links znajdziesz w artykule Zadeklaruj witrynę .

Testowanie linków aplikacji na Androida

Aby sprawdzić, czy linki otwierają prawidłową aktywność, wykonaj te czynności:

  1. W Asystencie linków aplikacji kliknij Testuj linki aplikacji.
  2. W polu Adres URL wpisz adres URL, który chcesz przetestować. np. http://recipe-app.com/recipe/grilled-zatato-salad.
  3. Rysunek 3. Okno Testuj linki aplikacji z testowanym adresem URL i komunikatem o powodzeniu.

  4. Kliknij Przeprowadź test.

Jeśli mapowanie adresów URL nie jest prawidłowo skonfigurowane lub nie istnieje, w sekcji URL w oknie Testuj linki aplikacji. W przeciwnym razie Android Studio uruchamia aplikację na urządzeniu lub w emulatorze przy określonej aktywności bez wyświetlania w oknie ujednoznacznienia („Wybór aplikacji”) i wyświetla komunikat o powodzeniu Okno App Link Testing (Testowanie linków aplikacji), tak jak na ilustracji 3.

Jeśli nie można uruchomić Android Studio aplikacji, w oknie Uruchom w Android Studio pojawi się komunikat o błędzie.

Aby testować linki aplikacji na Androida za pomocą Asystenta linków aplikacji, musisz mieć połączone urządzenie lub urządzenie wirtualne z Androidem 6.0 (poziom interfejsu API 23) lub nowszym. Więcej Dowiedz się, jak podłączyć urządzenie. lub utworzyć raport AVD.