支援 Http URL

第 1 步: - 允許 Google 抓取你的 content.Edit 伺服器的 robot.txt 檔案。你可以通過編輯此檔案來控制你的內容的 Google 抓取,你可以參考此連結瞭解更多詳情。

第 2 步: - 將你的應用程式與你的網站關聯。包括 assetlinks.json 你將其上傳到你的 Web 伺服器的 .well-已知目錄。你的 assetlinks.json 的內容為 -

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

}]

第 3 步: - 在清單檔案中包含應用程式連結,將 Urls 重定向到你的應用程式,如下所示,

<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>

如果你想在此處瞭解每個標籤,請參閱此處。

<action> 指定 ACTION_VIEW 意圖操作,以便可以從 Google 搜尋到達意圖過濾器。

<data> 新增一個或多個標記,其中每個標記表示解析為活動的 URI 格式。至少,標記必須包含 android:scheme 屬性。你可以新增其他屬性以進一步優化活動接受的 URI 型別。例如,你可能有多個活動接受類似的 URI,但這些活動僅根據路徑名而有所不同。在這種情況下,使用 android:path 屬性或其變體(pathPattern 或 pathPrefix)來區分系統應為不同的 URI 路徑開啟哪個活動。

<category> 包括 BROWSABLE 類別。需要 BROWSABLE 類別才能從 Web 瀏覽器訪問 intent 過濾器。沒有它,單擊瀏覽器中的連結無法解析為你的應用程式。DEFAULT 類別是可選的,但建議使用。如果沒有此類別,則只能使用你的應用程式元件名稱以明確的意圖啟動活動。

第 4 步: - 處理傳入的 URL

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

}

步驟 5: - 你可以使用 Android Debug Bridge 命令或工作室配置對此進行測試。Adb 命令: - 啟動你的應用程式,然後執行此命令: -

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

Android Studio 配置: - Android 工作室>構建>編輯配置>啟動選項>選擇 URL>然後在此處輸入你的 URL>應用並測試。如果執行視窗顯示錯誤,請執行你的應用程式,然後你需要檢查你的 URL 格式顯示中提到的 applinks 否則會成功執行,如果指定,重定向到頁面提到了你的 URL。