2

當我將新的.apk上傳到Google Play商店時,它拒絕了我的提交內容,說:「您最近的應用提交因違反Google Play開發者而遭到拒絕計劃政策。如果您提交了更新,則以前的應用版本仍會在Google Play上實時顯示。「無法將新APK文件上傳到Android Play商店(Android Pay權限)

我得到了一個郵件,指出:

我們發現至少一個APK的版本,在最近上傳的不正確使用Android付費。在提交中包含APK版本14可能會導致您的應用因違反付款政策而遭到拒絕。

如果您想使用Android支付您的應用程序,請按照下列步驟操作:

Remove any digital content from your app. To use Android Pay, your app must only sell physical goods or services. 
Make sure your app is compliant with all policies listed in the Developer Program Policies. Remember that additional enforcement could occur if there are further policy issues with your apps. 
Sign in to your Developer Console and submit the app. Make sure to increment the version number of the APK. 

如果您想使用其他付款方式,在您的應用程序,請按照下列步驟刪除的Android

Remove <meta-data android:name="com.google.android.gms.wallet.api.enabled" android:value="true"/> from your manifest. 
Sign in to your Developer Console and submit the app. Make sure to increment the version number of the APK. 

政策問題:從你的清單支付的Android付費或其他替代性的支付機制,以谷歌Play的應用內結算服務只允許以下:

Android Pay 
    For physical goods or services, such as movie tickets. 

Other alternative payment mechanisms to Google Play’s in-app billing service 
    For physical goods or services, such as movie tickets, or a publication where the price also includes a hard copy subscription. 
    For digital goods that may be downloaded to devices and used outside of the app, such as songs that can be played on other music players. 
    Donations to 527 designated tax exempt organizations are also permitted. 

如果您已經查看了此政策,並認爲此拒絕可能有誤,請與我們的政策支持小組聯繫。我的一位同事將在2個工作日內回覆您。

感謝您支持Google Play!

這是我的清單(更新)

<?xml version="1.0" encoding="utf-8"?> 
    <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="com.altergyan.appname" android:installLocation="auto" android:versionCode="15" android:versionName="@string/version"> 
     <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="17" /> 
     <uses-permission android:name="android.permission.INTERNET" /> 
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
     <uses-permission android:name="com.android.vending.BILLING" /> 
     <uses-permission android:name="android.permission.STORAGE" /> 
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
     <uses-permission android:name="android.permission.RECORD_AUDIO" /> 
    <application 
     android:name="com.altergyan.appname.Class_10" 
     android:allowBackup="true" 
     android:icon="@drawable/app_icon" 
     android:label="@string/app_name" 
     android:theme="@style/CustomActionBarTheme"> 
     <meta-data 
      android:name="com.google.android.gms.version" 
      android:value="@integer/google_play_services_version" /> 
     <activity 
      android:screenOrientation="portrait" 
      android:name="com.altergyan.appname.Class_4" 
      android:label="Category" 
      android:parentActivityName="com.altergyan.appname.Class_20" 
      android:windowSoftInputMode="stateHidden" > 
      <meta-data 
       android:name="android.support.PARENT_ACTIVITY" 
       android:value="com.altergyan.appname.Class_20" /> 
     </activity> 
     <activity 
      android:screenOrientation="portrait" 
      android:name="com.altergyan.appname.Class_20" 
      android:label="@string/app_name" 
      android:launchMode="singleTask" > 
     </activity> 
     <activity 
      android:screenOrientation="portrait" 
      android:name="com.altergyan.appname.Class_9" 
      android:label="@string/title_activity_info" 
      android:parentActivityName="com.altergyan.appname.Class_20" > 
      <meta-data 
       android:name="android.support.PARENT_ACTIVITY" 
       android:value="com.altergyan.appname.Class_20" /> 
     </activity> 
     <activity 
      android:screenOrientation="portrait" 
      android:name="com.altergyan.appname.Class_23" 
      android:label="@string/app_name" 
      android:theme="@android:style/Theme.NoTitleBar" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name="com.google.android.gms.ads.AdActivity" 
      android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" 
      /> 
     <activity 
      android:screenOrientation="portrait" 
      android:name="com.altergyan.appname.Class_5" 
      android:label="@string/favourites" 
      android:parentActivityName="com.altergyan.appname.Class_20" > 
      <meta-data 
       android:name="android.support.PARENT_ACTIVITY" 
       android:value="com.altergyan.appname.Class_20" /> 
     </activity> 
     <activity 
      android:screenOrientation="portrait" 
      android:name="com.altergyan.appname.Class_22" 
      android:label="@string/title_activity_settings"> 
     </activity> 
     <activity 
      android:screenOrientation="portrait" 
      android:name="com.altergyan.appname.Class_13" 
      android:label="@string/title_activity_agquizclass" 
      android:parentActivityName="com.altergyan.appname.Class_20" > 
      <meta-data 
       android:name="android.support.PARENT_ACTIVITY" 
       android:value="com.altergyan.appname.Class_20" /> 
     </activity> 
     <activity 
      android:screenOrientation="portrait" 
      android:name="com.altergyan.appname.Class_15" 
      android:label="@string/title_activity_agquizmap" 
      android:parentActivityName="com.altergyan.appname.Class_13" > 
      <meta-data 
       android:name="android.support.PARENT_ACTIVITY" 
       android:value="com.altergyan.appname.Class_13" /> 
     </activity> 
     <activity 
      android:screenOrientation="portrait" 
      android:name="com.altergyan.appname.Class_17" 
      android:label="@string/title_activity_quiz_play" 
      android:parentActivityName="com.altergyan.appname.Class_15" > 
      <meta-data 
       android:name="android.support.PARENT_ACTIVITY" 
       android:value="com.altergyan.appname.Class_15" /> 
     </activity> 
     <activity 
      android:screenOrientation="portrait" 
      android:name="com.altergyan.appname.Class_16" 
      android:label="@string/title_activity_quiz_options" 
      android:parentActivityName="com.altergyan.appname.Class_15" > 
      <meta-data 
       android:name="android.support.PARENT_ACTIVITY" 
       android:value="com.altergyan.appname.Class_15" /> 
     </activity> 
     <activity 
      android:screenOrientation="portrait" 
      android:name="com.altergyan.appname.Class_19" 
      android:label="@string/title_activity_record_phrase" 
      android:parentActivityName="com.altergyan.appname.Class_20" > 
      <meta-data 
       android:name="android.support.PARENT_ACTIVITY" 
       android:value="com.altergyan.appname.Class_20" /> 
     </activity> 
     <activity 
      android:screenOrientation="portrait" 
      android:name="com.altergyan.appname.Class_7" 
      android:label="@string/title_activity_flash_cards" 
      android:parentActivityName="com.altergyan.appname.Class_20" > 
      <meta-data 
       android:name="android.support.PARENT_ACTIVITY" 
       android:value="com.altergyan.appname.Class_20" /> 
     </activity> 
     <activity 
      android:screenOrientation="portrait" 
      android:name="com.altergyan.appname.Class_2" 
      android:label="@string/title_activity_alphabet" 
      android:parentActivityName="com.altergyan.appname.Class_20" > 
      <meta-data 
       android:name="android.support.PARENT_ACTIVITY" 
       android:value="com.altergyan.appname.Class_20" /> 
     </activity> 
     <activity 
      android:screenOrientation="portrait" 
      android:name="com.altergyan.appname.Class_3" 
      android:label="@string/title_activity_alphabet" 
      android:parentActivityName="com.altergyan.appname.Class_20" > 
      <meta-data 
       android:name="android.support.PARENT_ACTIVITY" 
       android:value="com.altergyan.appname.Class_20" /> 
     </activity> 
     <activity 
      android:screenOrientation="portrait" 
      android:name="com.altergyan.appname.Class_6" 
      android:label="@string/title_activity_flash_cards" 
      android:parentActivityName="com.altergyan.appname.Class_7" > 
      <meta-data 
       android:name="android.support.PARENT_ACTIVITY" 
       android:value="com.altergyan.appname.Class_7" /> 
     </activity> 
     <activity 
      android:name="com.flurry.android.FlurryFullscreenTakeoverActivity" 
      android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"> 
     </activity> 
    </application> 
</manifest> 

我沒有使用相關的Android支付任何代碼或功能。

我寫回谷歌,卻得到了在第一封郵件中提到了相同的答案:

感謝您與谷歌Play小組。

您的應用程序被標記爲Android Pay的,因爲你已經包含在你的應用程序的清單爲Android付聲明:

請沒有您的清單這個元素創建應用程序的一個新的版本您將不再被標記爲審查

如果您有任何其他問題或疑慮,請讓我們知道。

我通過郵局去這裏:Unable to upload new APK file to Android Play store (google pay) 它提到:「你有,如果你不使用它排除在graddle構建文件的谷歌支付」 但我該怎麼做?

這是我gradle這個build文件:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 21 
    buildToolsVersion "21.1.2" 

    defaultConfig { 
     applicationId "xyz" 
     minSdkVersion 16 
     targetSdkVersion 17 
    } 

    buildTypes { 
     release { 
      minifyEnabled true 
      proguardFiles 'proguard-android.txt' 
     } 
    } 
} 
dependencies { 
    compile 'com.android.support:appcompat-v7:19.1.0' 
    compile files('libs/acra-4.5.0.jar') 
    //compile files('libs/android-support-v13.jar') 
    compile files('libs/FlurryAds-5.3.0.jar') 
    compile files('libs/FlurryAnalytics-5.3.0.jar') 
    compile files('libs/flurryAndroidDFPandAdMobMediationAdapter-5.0.0.r1.jar') 
    compile 'com.android.support:support-v4:22.2.0' 
    compile 'com.google.android.gms:play-services:7.5.0' 
} 
+0

你還可以分享你的清單嗎? –

+0

我已使用清單更新了帖子。 – user2778864

回答

2

看看你的清單 - 你已包括以下行:

<uses-permission 
    android:name="com.google.android.gms.wallet.api.enabled" 
    tools:node="remove"/> 

這意味着你已經啓用Android Pay爲您的應用程序。但是,谷歌已經確定您並未嘗試出售實物商品,這違反了他們的政策。

如果你真的沒有試圖出售任何實物商品(但只有虛擬的),然後按照他們的指令,並從清單中刪除這一行:

您的應用程序被標記爲Android Pay的,因爲你「已經包含在您的應用程序的清單中 聲明爲Android收費:

請 您的清單創建應用程序的一個新的版本沒有這個元素,你將不再被標記爲審查


編輯:問題與Google Play服務有關。由於您整體使用Google Play服務,因此您還使用Wallet SDK將錢包啓用權限合併到您的清單中。

最佳做法是隻挑選其中的SDK,你真正需要的,如圖所示here

更換compile 'com.google.android.gms:play-services:7.5.0'只與封裝,所需的。在你的情況,廣告,分析和投:

compile 'com.google.android.gms:play-services-ads:7.5.0' 
compile 'com.google.android.gms:play-services-analytics:7.5.0' 
compile 'com.google.android.gms:play-services-cast:7.5.0' 

注意,基礎軟件包是一個依賴,並自動帶來一旦你使用任何的播放服務的特定軟件包。

+0

嗨, 我原來的Manifest沒有這個權限。那是我收到這封郵件的時候。我按照http://stackoverflow.com/questions/31616334/how-to-remove-specific-permission-when-build-android-app-with-gradle上的說明刪除權限。 我現在已經在帖子中更新了Manifest - 刪除了這個條目。有或沒有這條線,我的應用程序仍然被拒絕,同樣的錯誤。 – user2778864

+0

首先,我還將'android:value =「false」'添加到該標籤。其次,這是因爲您從Play服務中導入Google電子錢包,因爲您似乎將Google Play服務作爲一個整體。這不是一個好習慣 - 它增加了太多的方法和限制到你的應用程序。您應該做的只是從Google Play服務中提取所需的軟件包,當然不包括電子錢包。你需要哪些軟件包?你可以看到如何在這裏採取你所需要的:http://blog.safedk.com/technology/reducing-your-method-count-the-google-play-services-edition?ref = so –

+0

嗨, 非常感謝。你的建議有幫助。最後能夠上傳.apk。 以下是他人閱讀帖子的參考資料: 添加android:value =「false」沒有任何影響。我從清單中刪除了該行。 我去了Ori在之前評論中提到的鏈接。 我只保留基本,廣告和分析包。但是,我得到了一個「aapt」錯誤,突出顯示了.png文件中的問題。該問題已通過僅添加「cast」包來解決(儘管我沒有任何與「cast」相關的功能)。 – user2778864

4

,而不是執行類似下面的所有播放業務:

dependencies { 
    compile 'com.google.android.gms:play-services:7.5.0' 
} 

使用必要的服務,只有這樣,如下。

dependencies { 
    compile 'com.google.android.gms:play-services-ads:7.5.0' 
    compile 'com.google.android.gms:play-services-maps:7.5.0' 
} 
相關問題