Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android Studio官方文檔之添加URL和App索引支持

Android Studio官方文檔之添加URL和App索引支持

編輯:關於Android編程

Android Studio可以幫你在App中添加對URLs,app索引,搜索功能的支持。這些功能可以幫你推動更多的流量到你的App、發現App中最被常用的內容,使用戶更容易發現已安裝App中內容,並以此來吸引新用戶。

典型的工作流程

用Android Studio添加對URL支持,App索引,搜索功能到你的App中:

添加Intent過濾器和處理傳入Intent的代碼 關聯網站和App 添加App Indexing API代碼

Intent過濾器和App Indexing API是實現URL支持和索引的方式,但也有其他的可行方法。

支持URLs的Intent過濾器

Android Studio可以在清單中創建基本的Intent過濾器,你可以在其中定義URLs。在Activity中寫Java代碼來操作Intent。這個實現可以讓用戶通過點擊一個URL來直接打開指定的App。用戶可以在浏覽器的google.com、Google Search App、Google Now On Tap中看到這個URLs。

和URLs關聯的網站

在為你的應用設置了URL支持後,你可以使用Google Search Console和Google Play Developer Console把你的網站和App關聯。在這之後,Google會通過你Intent過濾器中的URLs索引到你的App,並且開始將它們包含到搜索結果中。另外,你可以選擇性的將App的內容屏蔽在Google搜索之外。在你將網站和App關聯後,像Now On Tap的功能和提升搜索結果顯示(相包含你的App圖標)就會可用。

在Android 6.0(API 23)及更高版本中,你可以為URL添加默認的處理器和驗證,以替代把你的網站和App相關聯。

Chrome顯示的google.com服務的搜索結果的URL對所有登錄和未登錄的用戶都是可以訪問的。對於Google Search App,用戶必須登錄才能看到搜索結果的URL。

添加索引API到Activity中

接下來,如果你想你的App支持搜索功能,比如自動填充,你需要添加App Indexing API代碼到你Activity中。Android Studio可以在Activity添加構架代碼,你可以優化它以支持App索引。App Indexing API可以能使你App索引,即使在GoogleBot無法得到你App內容的情況下。

測試URL支持和App Indexing API

Android Studio可以幫你測試以下功能:

URL支持測試幫你驗證指定的URL是否可以啟動一個App logcat顯示器幫你測試Activity中的App Indexing API調用情況 Android Lint工具可以對URL支持和App Indexing API的一些問題發出警告。這些警告和錯誤顯示在代碼編輯器和Lint inspection結果中 Google App Indexing測試來檢查Google能否通過爬蟲你的App頁面或App Indexing API索引到你的URL

添加對URL支持和Google搜索的Intent過濾器

使用Android Studio添加一個定義URL的Intent過濾器。

在工程窗口的Android視圖中,雙擊打開AndroidManifest.xml文件

按以下方式中的一種插入Intent過濾器:

點擊activity元素的左側,會出現燈泡這裡寫圖片描述,點擊燈泡這裡寫圖片描述選擇Create URL 右擊元素activity,選擇Generate>URL<喎?/kf/ware/vc/" target="_blank" class="keylink">vc3Ryb25nPiCw0cTjtcS54rHqt8XU2tK7uPZBY3Rpdml0edbQo6zRodTxPHN0cm9uZz5Db2RlICZndDsgR2VuZXJhdGUmZ3Q7VVJMPC9zdHJvbmc+DQo8cD60+sLrseC8rcb3yrnTwzxhIGhyZWY9"https://www.jetbrains.com/help/idea/2016.1/intention-actions.html">Intention Action和生成代碼機制來添加主要代碼。

代碼編輯器會生成與以下代碼相似的Intent過濾器



   

   
   
   
   

修改

添加App Indexing API主代碼到Activity

在添加了URL支持到你的App之後,你需要添加App Indexing API代碼到Activity中以支持附加的搜索功能

添加App Indexing API到Activity中:

Project窗口的Android視圖中,雙擊Activity文件進入編輯界面

通過以下方式之一插入框架代碼:

在Activity定義中,單擊Java代碼,出現燈泡圖標這裡寫圖片描述,點擊燈泡這裡寫圖片描述選擇Insert App Indexing API Code 在Activity編輯界面,右擊選擇Generate > App Indexing API Code 光標停留在Activity編輯界面,選擇Code > Generate > App Indexing API Code

代碼編輯器使用Intention Action和生成代碼機制來添加架構代碼。

如果你看不到App Indexing API Code的菜單選項,確保你的光標在Activity內,且按App Indexing API的方法檢查你的代碼。代碼編輯器會依據以下情形之一來插入架構代碼到Activity中:

如果Activity中沒有onStart()方法,或者onStart()沒有包含AppIndexApi.start()AppIndexApi.view()調用 如果Activity中沒有onStop()方法,或者onStop()沒有包含AppIndexApi.end()AppIndexApi.end()調用

代碼編輯器插入的Java代碼與以下代碼相似:

 /**
   * ATTENTION: This was auto-generated to implement the App Indexing API.
   * See https://g.co/AppIndexing/AndroidStudio for more information.
   */
   private GoogleApiClient client;

    // ATTENTION: This was auto-generated to implement the App Indexing API.
    // See https://g.co/AppIndexing/AndroidStudio for more information.
    client = new GoogleApiClient.Builder(this).addApi(AppIndex.API).build();


   @Override
   public void onStart() {
       super.onStart();

       // ATTENTION: This was auto-generated to implement the App Indexing API.
       // See https://g.co/AppIndexing/AndroidStudio for more information.
       client.connect();
       Action viewAction = Action.newAction(
               Action.TYPE_VIEW, // TODO: choose an action type.
               "Main Page", // TODO: Define a title for the content shown.
               // TODO: If you have web page content that matches
               // this app activity's content,
               // make sure this auto-generated web page URL is correct.
               // Otherwise, set the URL to null.
               Uri.parse("http://www.example.com/gizmos"),
               // TODO: Make sure this auto-generated app URL is correct.
               Uri.parse("android-app://com.example/http/www.example.com/gizmos")
       );
       AppIndex.AppIndexApi.start(client, viewAction);
   }

   @Override
   public void onStop() {
        super.onStop();

       // ATTENTION: This was auto-generated to implement the App Indexing API.
       // See https://g.co/AppIndexing/AndroidStudio for more information.
       Action viewAction = Action.newAction(
               Action.TYPE_VIEW, // TODO: choose an action type.
               "Main Page", // TODO: Define a title for the content shown.
               // TODO: If you have web page content that matches
               // this app activity's content,
               // make sure this auto-generated web page URL is correct.
               // Otherwise, set the URL to null.
               Uri.parse("http://www.example.com/gizmos"),
               // TODO: Make sure this auto-generated app URL is correct.
               Uri.parse("android-app://com.example/http/www.example.com/gizmos")
       );
       AppIndex.AppIndexApi.end(client, viewAction);
       client.disconnect();
       }
   }

關於App Indexing API方法的更多信息,請查看Android API for App Indexing,關於Action類型的更多信息,請查看Action類常量總結。

如果你的App沒有准備配置Google Play服務的App Indexing API,代碼編輯器也會修改並包含在build.gradle和AndroidManifest.xml文件。如果你的App依賴Google Play服務,且版本低於8.1,那你的應該升級到8.1版本。更多信息請查看Google Play服務和設置Google Play服務。

按需優化架構代碼

請仔細查看注釋會幫你找到需要修改的地方,例如設置標題和URL,更多信息請查看添加App Indexing API。

用logcat顯示器驗證你的App Indexing代碼是否運行。

為了運行和調試App Indexing API代碼,你可以使用Android Studio以下功能:

檢查logcat的監控信息。 啟用Android Lint以下功能:Missing support for Google App Indexing API 測試Google App Indexing

另外,你可以在Google Search Console中預覽你的APK

測試URL

當你用Android Studio運行App時,你可以指定一個URL來啟動且測試。

要啟動於Android Studio中的URL:

在Android Studio中打開Android視圖 選中一個工程,選run > Edit ConfigurationsRun/Debug Configurations對話框中,在Android Application下面,選擇你要運行的應用 選擇General標簽 在Launch中,選擇URLURL中,點擊…從列表中選擇一個URL
或者你輸入一個URL,例如,http://example.com/gizmos 點擊OK 選擇Run > Run appDebug app

如果Select Deployment Target對話框出現,選擇一個連接設備或模擬設備

如果鏈接是成功的,App會在設備或模擬設備啟動,並且在指定的activity中顯示App,否則的話,錯誤信息會顯示在Run窗口

關於設置App的運行信息,請查看編譯運行App

當App運行時,你可以查看App Indexing API的日志

在logcat中查看App Indexing API的信息

logcat Monitor可以顯示應用的索引的日志信息以確定你應用的App Indexing API代碼是否推送正確的數據到雲端。例如,你可以查驗App的標題和URL。logcat Monitor是Android Monitor的一部分。

在logcat Monitor中查看App Indexing API日志信息:

在Android Studio中運行你的App,它會啟動URL 顯示Android Monitor點擊logcat標簽 設置log的級別為Verbose 在過濾器菜單中,選擇No Filters

用字符串“appindex”在log中搜索

App的索引日志信息就會顯現,如果沒有,請檢查以下項目:

設備或模擬器上是否安裝了 Google Play服務?可以通過檢查設備的設置得知 設備或模擬器上的Google Play服務的版本是否低於build.gradle指定的版本?如果是的話,那可能版本已經太,必須升級到更高的版本。

更多信息請查看下載Google Play服務和設置Google Play服務。

訪問App界面啟動App Indexing API調用

配置Lint

你可以使用Android Studio內建的Lint工具來檢查定義在清單文件中的URLs和已在Activity中實現的App Indexing API代碼是否有效。

你可以通過兩種方式看到URL和App Indexing的警告和錯誤信息。

代碼編輯器中彈出的文本。當Lint發現問題時,他會用黃色高亮有問題代碼,或者在更嚴重代碼下標紅 選擇Analyze > Inspect Code ,彈出的Lint的Inspection Results窗口中

用默認的Lint來檢查URLs和the App Indexing API:

在Android Studio中打開你的Android視圖 選擇File > Other Settings > Default SettingsDefault Preferences對話框中,選擇Editor > InspectionsProfile中,選擇DefaultProject Default來決定該設置的適用范圍是整個Android Studio或本工程

展開Android Lint的目錄,並根據需要更改Lint的設置:

Missing support for Google App Indexing - 如果應用沒有執行被Google Search使用的URLs會報告警告,默認是選中的 Missing support for Google App Indexing API:當應用沒有實現App Indexing API時會報告。默認不選中 URL not supported by app for Google App Indexing:報告清單文件中的URL錯誤,默認選中

例如,以下是第一種設置中的Lint警告:

這裡寫圖片描述

點擊OK

執行Inspection Results窗口中一系列的Lint檢查:

在Android Studio中打開工程的Android視圖,選擇你要測試的工程的一部分 選擇Analyze > Inspect Code

Specify Inspection Scope對話框中,設置inspection scope和profile

inspection scope指定了你想分析的文件,profile指定你想執行的Lint檢查

如果你想改Lint的設置,點擊Inspections對話框中的…。在Inspections對話框中,選擇Manage定義一個新的配置文件,指定Lint設置,點擊 OK

Inspections對話框中,你可以搜索“app indexing”來找到URL和App Indexing API的Lint檢查。注意在Inspections 對話框中改變配置的Lint設置不會改變默認設置,就像之前描述的那樣。但是,它會改變配置文件的設置。

點擊OK

結果顯示在Inspection Results窗口中

執行Google App Indexing測試

你可以用Google App Indexing Test來檢查Google能否通過爬蟲你的應用頁面或使用App Indexing API來索引到URL。Google可以索引到你的URL如果你的應用至少支持以下情形的一種:

URL指定的頁面可以由Googlebot打開或爬蟲 你的應用通過 App Indexing API發送了正確的數據

指定Google App Indexing Test:

在應用中添加URL或App Indexing API 在Android Studio中打開你的應用,選擇 Tools > Android > Google App Indexing TestGoogle App Indexing Test 對話框中,設置Module, URLLanguage 如果你看到需要登錄Google Cloud Platform帳號的信息的話,你需要登錄

Google App Indexing Test對話框中,點擊OK

Android Studio會編譯APK並且開始測試,需要幾分鐘才能完成,結果會顯示在代碼編輯器的新標簽頁中。

這裡寫圖片描述

如果應用預覽在屏幕右邊,顯示的和你測試的URL相關的界面,那麼Googlebot就能找到該URL。

修改測試發現的問題,並且按需要重復測試

以下是一些常見的錯誤和警告提示:

警告或錯誤 描述 Error: Google cannot index this page. 你的應用不能被Googlebot爬蟲或無法使用App Indexing API,所以Google無法索引到的你的App Warning: The App URL you sent by using the App Indexing API doesn’t match the URL opened. 當調用App Indexing API時,在App中指定的URL必須和打開的URL相匹配 Warning: Google cannot index this page using the App Indexing API because the title is empty. 當調用 App Indexing API時,標題不能為空 Warning: Google can index this page using Googlebot crawling but identified blocked resources. App參考了其他資源,其中一些被阻塞或暫時不可用。如果不是關鍵資源,可能無關緊要。檢查右邊預覽到的內容是否正確顯示。要解決此問題,要確保資源不被 robots.txt 攔截 Warning: Google cannot index this page using the App Indexing API. 你的應用無法使用App Indexing API,推薦添加 App Indexing API到你的App中
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved