為什麼應用商店裡搜尋不到你的App?
最近連續有國外的客戶報告在某些特定的Android裝置上搜尋不到我們的應用。
一開始懷疑uses-feature的設定排除了硬體不支援的裝置。我們在manifest裡有以下設定:
<uses-feature android:glEsVersion="0x00020000" />
該設定會排除不支援OpenGL ES 2.0的裝置,但是客戶報告的裝置Sony Xperia Tablet Z是支援OpenGL ES 2.0的。需要注意的是,據《Beginning Android Games》一書所說,有個東西,有時候不靈。(感謝這篇部落格。)
NOTE: This feature is reported incorrectly by some devices out there, making your application invisible to otherwise perfectly fine devices. Use it with caution.
更穩妥的做法是設定android:required為false。這表示不支援OpenGL ES 2.0的裝置也可以搜尋到App並安裝,但是需要在程式碼裡判斷做一些該做的事。
<uses-feature android:glEsVersion="0x00020000" android:required="false" />
排除這個,繼續找原因。
manifest裡還有一些permission,有些permission需要硬體許可權,即,其隱含了uses-feature,也會排除一些不支援該feature的裝置。這可是一個大坑。
檢查我們App的設定,有如下兩項。
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
PROCESS_OUTGOING_CALLS需要android.hardware.telephony,就是說等同於設定了“android.hardware.telephony”的uses-feature,不支援電話功能的tablet,無法在應用商店裡搜尋到該應用。
測試一下這個猜測,在ASUS TF101(沒有電話功能)上的Google Play搜尋,搜不到我們App,在Samsung Nexus S手機上的Google Play搜尋同樣的關鍵詞,可以搜到我們的App。感謝這篇部落格。
其實,Google的developer.android.com裡都介紹了上面說的這些。仔細閱讀以下內容還是很有必要的。
1. Google Play and Feature-Based Filtering: http://developer.android.com/guide/topics/manifest/uses-feature-element.html#market-feature-filtering
2. uses-feature element:http://developer.android.com/guide/topics/manifest/uses-feature-element.html
3. Permissions:http://developer.android.com/guide/topics/security/permissions.html
如果需要設定一個permission,但又不希望其implicit的uses-feature過濾掉裝置,可以用uses-feature的android:required="false"屬性設定來達到目的。
再試驗一下,修改manifest後做了一個App的簽名apk上傳到Google Play,不釋出,只看一眼預覽,可以看到,之前支援1247個裝置(不支援1891個),現在支援1638個裝置(391 added)。
顯示remove掉了“android.hardware.telephony”這個feature的過濾。
這個故事結束了,經上線驗證,可行。接下來是另一個故事。
有個日本客戶,拿兩臺Acer Iconia Tab測試,一臺A100,一臺A500。報告我們說某款應用在A100上可以安裝,A500上顯示“未對應裝置”,無法安裝。但是在Google Play Developer Console裡顯示為“對應裝置”。
在Developer Console裡都顯示為對應裝置,應該不是上述故事中說的坑。而A100和A500的區別是,A100的屏是7.0 inches,1024*600 pixels,A500的屏是10.1 inches,1080*800 pixels。
在一篇日文文章裡提到Motorola Xoom 10英寸平板遇到的類似問題時有這麼一句:
Xoomは10インチタブレットなので、xlargeサイズ扱いとなり、対象外になってしまったと。
Google翻譯說:
Xoom是10英寸平板電腦,大小XLARGE處理,
雖然不懂日語,但也知道這和android:xlargeScreens="true"有關。可是,在另一款App的manifest檔案裡,也沒有如下設定,卻不會在A500上有問題。
<supports-screens android:xlargeScreens="true" />
差異在android:targetSdkVersion。
android:xlargeScreens屬性是從API level 9(Android 2.3)開始才支援的。
出問題的那款App,沒有顯式指定android:targetSdkVersion,於是targetSdkVersion等於minSdkVersion,為8。
經測試,指定targetSdkVersion為9即可解決該坑。
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="9" />
相關文章
- win10自帶應用商店為什麼打不開 win10應用商店打不開的方法Win10
- 雲搜尋服務在APP搜尋場景的應用APP
- 為什麼 LibreOffice 在 Mac 應用商店賣 8.99 美元?Mac
- 為什麼ios企業簽名後的App不可以上架蘋果應用商店?iOSAPP蘋果
- SAP UI5應用裡搜尋功能的實現UI
- win10應用商店不見了怎麼辦 win10應用商店不見了的解決方法Win10
- 為什麼搜尋引擎搜不到我們想要的東西LEL
- Google搜尋為什麼不能無限分頁?Go
- 如何把filepond包含到你的Laravel應用裡面Laravel
- SAP Fiori應用的搜尋問題
- win10 應用商店 閃退怎麼辦_windows10應用商店閃退是什麼原因Win10Windows
- 微軟Win11應用商店正式上線:採用圓角UI和搜尋欄功能微軟UI
- win10應用商店打不開怎麼辦_win10應用商店無法開啟的解決方法Win10
- win10應用商店語言怎麼設定_win10應用商店語言設定在哪裡Win10
- windows10商店在哪裡_windows10的應用商店如何開啟Windows
- 直播開發app,實時搜尋、搜尋引擎框APP
- 開放式測試搜尋不到應用怎麼辦
- win10搜尋框如何放到cortana裡_window10的搜尋框怎麼放到小娜cortana裡Win10
- 恐怖遊戲究竟是用什麼嚇到你的?遊戲
- win10的應用商店在哪_win10軟體商店在哪裡找Win10
- Searching with Deep Learning 深度學習的搜尋應用深度學習
- 用 google 作為你的預設搜尋引擎Go
- ChatGPT 支援的搜尋引擎 Bing 究竟什麼樣?ChatGPT
- 升級到win10專業版系統後應用商店提示你搜尋的內容不在此處怎麼辦Win10
- 為什麼中美搜尋引擎巨頭都能成為人工智慧先鋒?人工智慧
- win10系統應用商店不見了如何解決 win10系統沒有應用商店怎麼辦Win10
- 為什麼有些公司不讓用 Lombok ?Lombok
- 為什麼移動辦公APP火不起來APP
- APP簽名後的應用分發是什麼APP
- 讓天下沒有難用的搜尋:阿里搜尋如何成長為貼心“暖男”?阿里
- win10應用商店清理怎麼操作_如何清理win10應用商店Win10
- windows10應用商店怎麼更新_win10應用商店更新如何操作WindowsWin10
- 為什麼在大型 Angular 應用裡我們需要使用 ngrxAngular
- 華為freebuds耳機藍芽搜尋不到怎麼辦 華為freelace連線不上藍芽
- Angular 應用裡的 vendor.js 是用來幹什麼的?AngularJS
- 為什麼看不見AHAS應用?
- Elasticsearch 為了搜尋Elasticsearch
- 為什麼上線的App沒有Sketch裡的設計稿好看?APP
- win10應用商店連線不上網怎麼辦 win10應用商店無法連線上網處理方法Win10