Android为何放弃了数以千计的受支持设备

时间:2017-04-03 20:31:21

标签: android cordova google-play devextreme

我想知道为什么与旧应用版本相比,Google Play商店已经放弃了对我的新应用版本的数千台设备的支持。我使用DevExtreme将不同的模板和当前代码组合在一起,制作一个Cordova移动混合应用程序。现在我使用一个配置文件,让DevExtreme创建一个模板文件,然后使用DevExtreme在Visual Studio中组合它们。

我的测试版有以下统计数据:

Supported devices:11016 
Unsupported devices:4153
Excluded devices:0

我的生产版本有以下统计数据:

Supported devices:13509
Unsupported devices:1660
Excluded devices:0

<widget xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0" xmlns:android="http://schemas.android.com/apk/res/android" id="com.XXX.XXX.XXX.network" version="3.2.17">
  <name>EXAMPLE</name>
  <description>Template</description>
  <author email="developer@EXAMPLE.com" href="https://www.EXAMPLE.com">EXAMPLE, Inc</author>
  <preference name="permissions" value="none" />
  <preference name="prerendered-icon" value="true" />
  <preference name="android-windowSoftInputMode" value="adjustResize" />
  <preference name="SplashScreen" value="splash" />
  <preference name="SplashScreenDelay" value="100000" />
  <preference name="AutoHideSplashScreen" value="false" />
  <preference name="SplashShowOnlyFirstTime" value="false" />
  <feature name="http://api.phonegap.com/1.0/network" />
  <preference name="FadeSplashScreen" value="true" />
  <preference name="ShowSplashScreenSpinner" value="false" />
  <preference name="DisallowOverscroll" value="true" />
  <preference name="StatusBarOverlaysWebView" value="false" />
  <preference name="StatusBarBackgroundColor" value="#000000" />
  <preference name="android-minSdkVersion" value="14" />
  <preference name="android-targetSdkVersion" value="22" />
  <access origin="*" launch-external="yes" />
  <!--internal ACCESS: allow-navigation-->
  <allow-navigation href="*" />
  <!--EXTERNAL ACCESS: allow-intent: This whitelist does not apply to plugins, only hyperlinks and calls to window.open().-->
  <allow-intent href="*" />
  <!--https://github.com/katzer/cordova-plugin-email-composer#using-the-plugin-->
  <!--https://www.npmjs.com/package/cordova-plugin-sms-->
  <config-file platform="android" parent="/manifest" mode="merge">
    <uses-sdk android:targetSdkVersion="23" />
    <uses-feature android:name="android.hardware.location" />
    <uses-feature android:name="android.hardware.location.gps" />
    <uses-feature android:name="android.hardware.location.network" />
    <uses-feature android:name="android.hardware.telephony" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.READ_SMS" />
    <uses-permission android:name="android.permission.RECEIVE_MMS" />
    <uses-permission android:name="android.permission.RECEIVE_SMS" />
    <uses-permission android:name="android.permission.RECEIVE_WAP_PUSH" />
    <uses-permission android:name="android.permission.SEND_SMS" />
  </config-file>
  <config-file platform="ios" parent="ITSAppUsesNonExemptEncryption" mode="merge">
    <false />
  </config-file>

  <gap:plugin name="cordova-plugin-email-composer" version="0.8.3" source="npm" />
  <gap:plugin name="cordova-plugin-sms" source="npm" />
  <gap:plugin name="cc.fovea.cordova.purchase" source="npm" version="6.0.0">
    <param name="BILLING_KEY" value="VALUE" />
  </gap:plugin>

  <plugin name="cordova-plugin-device-orientation" />
  <plugin name="cordova-plugin-splashscreen" onload="true" />
  <plugin name="cordova-plugin-whitelist" />
  <plugin name="cordova-plugin-ios-longpress-fix" />
  <plugin name="cordova-plugin-statusbar" onload="true" />
</widget>

我用“EXAMPLE”,“BILLING_KEY”和“XXX”替换了一些显示值。配置文件中是否有设置解释了为什么现在支持的设备较少?

以下是旧模板配置文件:

<?xml version='1.0' encoding='utf-8'?>
<widget id="com.handicomp.golf.mobile.network" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <name>Golf Mobile Network</name>
    <description>
        A sample Apache Cordova application that responds to the deviceready event.
    </description>
    <author email="dev@cordova.apache.org" href="http://cordova.io">
        Apache Cordova Team
    </author>
    <content src="index.html" />
    <plugin name="cordova-plugin-whitelist" spec="1" />
    <access origin="*" />
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />
    <allow-intent href="tel:*" />
    <allow-intent href="sms:*" />
    <allow-intent href="mailto:*" />
    <allow-intent href="geo:*" />
    <platform name="android">
        <allow-intent href="market:*" />
    </platform>
    <platform name="ios">
        <allow-intent href="itms:*" />
        <allow-intent href="itms-apps:*" />
    </platform>

查看APK详情我看到还有4个功能:

  • android.hardware.LOCATION
  • android.hardware.location.GPS
  • android.hardware.location.NETWORK
  • android.hardware.TELEPHONY

还需要3个权限:

  • android.permission.SEND_SMS
  • android.permission.ACCESS_COARSE_LOCATION
  • android.permission.ACCESS_FINE_LOCATION

0 个答案:

没有答案