Przykład: udostępnianie danych logowania w wielu witrynach i w wielu aplikacjach na Androida

Aby skonfigurować udostępnianie danych logowania w przypadku wielu witryn i aplikacji na Androida:

  • Wyznacz domenę podstawową: wybierz jeden URL jako główny punkt odniesienia dla linków.
  • Utwórz pliki (assetlinks.json):
    • Domena podstawowa: w domenie podstawowej utwórz plik assetlinks.json zawierający dane logowania do wszystkich domen, w których udostępniane są dane logowania.
    • Inne domeny: w każdej z pozostałych domen utwórz plik assetlinks.json, który będzie się łączyć z domeną podstawową.
  • Skonfiguruj linkowanie zasobów cyfrowych w pliku manifestu każdej aplikacji: skonfiguruj każdą aplikację tak, aby łączyła się z pliku assetlinks.json w głównej domenie.

W poniższym przykładzie wskazaliśmy example.com jako domenę podstawową, a wszystkie pozostałe domeny na tej liście mają wspólne dane logowania z domeną example.com i między sobą.

2 aplikacje o tych nazwach pakietów mają też wspólne poświadczenia w przypadku wszystkich stron internetowych i między nimi:

  • com.example.android.myapplication
  • com.example.appname

Zanim skonfigurujesz udostępnianie danych logowania, musisz spełnić wymagania wstępne.

Aby zadeklarować udostępnianie danych logowania w tych witrynach i aplikacjach na Androida:

  1. Utwórz plik assetlinks.json z tą zawartością:

    [   {     "relation": ["delegate_permission/common.get_login_creds"],     "target": {       "namespace": "web",       "site": "https://example.com"     }   },   {     "relation": ["delegate_permission/common.get_login_creds"],     "target": {       "namespace": "web",       "site": "https://example.org"     }   },   {     "relation": ["delegate_permission/common.get_login_creds"],     "target": {       "namespace": "web",       "site": "https://example.net"     }   },   {     "relation": ["delegate_permission/common.get_login_creds"],     "target": {       "namespace": "web",       "site": "https://myownpersonaldomain.com"     }   },   {     "relation" : [       "delegate_permission/common.get_login_creds"     ],     "target" : {       "namespace" : "android_app",       "package_name" : "com.example.android.myapplication",       "sha256_cert_fingerprints" : [ "AA:BB:CC:DD:EE:FF:11:22:33:44:55:66:77:88:99:00:AA:BB:CC:DD:EE:FF:11:22:33:44:55:66:77:88:99:00"       ]     }   },   {     "relation" : [       "delegate_permission/common.get_login_creds"     ],     "target" : {       "namespace" : "android_app",       "package_name" : "com.example.appname",       "sha256_cert_fingerprints" : [ "00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF:00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF"       ]     }   } ] 
  2. Umieść plik JSON protokołu Digital Asset Links w odpowiedniej znanej lokalizacji w domenie głównej, w tym przypadku: https://example.com/.well-known/assetlinks.json.

  3. Utwórz kolejny plik assetlinks.json z tą zawartością:

    [   {     "relation": ["delegate_permission/common.get_login_creds"],     "target": {       "namespace": "web",       "site": "example.com"     }   } ] 
  4. Hostuj kopie tego pliku JSON protokołu Digital Asset Links w tej lokalizacji w innych domenach:

    • example.org/.well-known/assetlinks.json
    • example.net/.well-known/assetlinks.json
    • mypersonaldomain.com/.well-known/assetlinks.json
  5. Dodaj ten wiersz do obu plików manifestu aplikacji na Androida w <application>:

    <meta-data android:name="asset_statements" android:resource="@string/asset_statements"/> 
  6. Skonfiguruj linkowanie zasobów cyfrowych w manifeście, deklarując powiązanie w aplikacji na Androida. Dodaj obiekt, który określa pliki assetlinks.json do wczytania. W tym przypadku:

    <string name="asset_statements" translatable="false"> [{   \"include\": \"https://example.com/.well-known/assetlinks.json\" }] </string> 

Po wykonaniu tych czynności uda Ci się skonfigurować płynne udostępnianie danych logowania w wielu witrynach i aplikacjach na Androida.