2017-02-07 86 views
17

我最近收到很多來自Google的許多郵件。違反Google Play開發者政策的警告:需要採取措施

的電子郵件內容是:

您好谷歌Play開發者,

我們的記錄顯示,您的應用程序,XXXX,與包名 com.XXXX.XXXXXXXXXX,目前違反了我們關於用戶數據政策 個人和敏感信息。

政策問題:Google Play要求開發者在應用請求或處理敏感用戶或設備信息時提供有效的 隱私策略。您的應用請求敏感權限(例如 相機,麥克風,帳戶,聯繫人或電話)或用戶數據,但 不包含有效的隱私政策。

需要採取的操作:在您的應用的商品詳情頁面和應用內包含有效隱私政策的鏈接。您可以在我們的幫助中心找到更多 信息。

或者,您可以通過刪除任何對敏感權限或用戶數據的 請求來選擇退出此要求。

如果您的目錄中有其他應用程序,請確保它們符合我們的突出披露要求 。

請在2017年3月15日前解決此問題,或採取管理操作 限制從Play商店刪除您的應用的可見性,直至幷包括 。感謝您幫助我們爲Google Play用戶提供清晰透明的體驗。

問候,

的谷歌Play小組

應用程式的清單權限列表如下:

1-)

<uses-permission android:name="android.permission.INTERNET" /> 
 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
 
    <uses-permission android:name="android.permission.WAKE_LOCK" /> 
 
    <uses-permission android:name="android.permission.READ_CONTACTS" /> 
 
    <uses-permission android:name="android.permission.SEND_SMS" /> 
 
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
2-)
<uses-permission android:name="android.permission.INTERNET" /> 
 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
 
    
 
    
 
<uses-permission android:name="android.permission.INTERNET" /> 
 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
 
<uses-permission android:name="android.permission.WAKE_LOCK" /> 
 
<uses-permission android:name="android.permission.VIBRATE" /> 
 
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 
 
<uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
 
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> 
 
    
 
<!-- 
 
    IMPORTANT: Change "com.parse.starter.permission.C2D_MESSAGE" in the lines below 
 
    to match your app's package name + ".permission.C2D_MESSAGE". 
 
--> 
 
<permission android:protectionLevel="signature" 
 
    android:name="com.XXXX.XXXXX.permission.C2D_MESSAGE" /> 
 
<uses-permission android:name="com.XXXX.XXXXXX.permission.C2D_MESSAGE" />
3-)
<uses-permission android:name="android.permission.CAMERA" /> 
 
    <uses-permission android:name="android.permission.GET_TASKS" /> 
 
    <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" /> 
 
    <uses-permission android:name="android.permission.WRITE_SETTINGS" /> 
 
    <uses-permission android:name="android.permission.INTERNET" /> 
 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
 

 
    <uses-feature android:name="android.hardware.camera" />
4-)
<uses-permission android:name="android.permission.WAKE_LOCK" /> 
 
    <uses-permission android:name="android.permission.VIBRATE" /> 
 
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 
 
    <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
 
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> 
 
    <uses-permission android:name="android.permission.INTERNET" /> 
 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
 
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
 
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
 
    <uses-permission android:name="android.permission.VIBRATE" /> 
 

 

 
     android:name="com.xxxx.xxxxx.permission.C2D_MESSAGE" 
 
     android:protectionLevel="signature" />
5-)
<uses-permission android:name="android.permission.WAKE_LOCK" /> 
 
    <uses-permission android:name="android.permission.VIBRATE" /> 
 
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 
 
    
 
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> 
 
    <uses-permission android:name="android.permission.INTERNET" /> 
 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
 
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
 
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
 
    <uses-permission android:name="android.permission.VIBRATE" /> 
 
    <uses-permission android:name="com.android.vending.BILLING" /> 
 

 
    <permission 
 
     android:name="com.xxx.xxxx.permission.C2D_MESSAGE" 
 
     android:protectionLevel="signature" /> 
 

 
    <uses-permission android:name="com.xxxx.xxxx.permission.C2D_MESSAGE" />
這些是即時通訊使用

compile 'com.google.android.gms:play-services-ads:10.0.1' 
 
    compile 'com.android.support:support-v4:25.1.1' 
 
    compile 'com.readystatesoftware.sqliteasset:sqliteassethelper:2.0.1' 
 
    compile 'com.melnykov:floatingactionbutton:1.3.0' 
 
    compile 'com.android.support:appcompat-v7:25.1.1' 
 
    compile 'com.baoyz.swipemenulistview:library:1.2.1' 
 
    compile 'com.google.android.gms:play-services-analytics:10.0.1' 
 
    compile 'com.flaviofaria:kenburnsview:1.0.7' 
 
    compile 'com.commit451:PhotoView:1.2.4' 
 
    compile 'com.squareup.picasso:picasso:2.5.2' 
 
    compile 'com.astuetz:pagerslidingtabstrip:1.0.1' 
 
    compile 'com.code-troopers.betterpickers:library:2.2.2' 
 
    compile 'com.android.support:cardview-v7:25.1.1' 
 
    compile 'com.onesignal:OneSignal:[email protected]' 
 
    compile 'com.google.android.gms:play-services-gcm:10.0.1' 
 
    compile 'com.google.android.gms:play-services-location:10.0.1' 
 
    compile 'com.android.support:design:25.1.1' 
 
    compile 'me.leolin:ShortcutBadger:[email protected]' 
 
    // retrofit 
 
    compile('com.squareup.retrofit2:retrofit:2.1.0') { 
 
     exclude module: 'okhttp' 
 
    } 
 
    compile 'com.squareup.okhttp3:okhttp:3.0.0' 
 
    compile 'com.squareup.okhttp3:logging-interceptor:3.0.1' 
 
    compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0' 
 
    compile 'com.squareup.retrofit2:converter-gson:2.1.0' 
 
    compile 'io.reactivex:rxandroid:1.1.0' 
 
    // UI binding 
 
    compile 'com.jakewharton:butterknife:8.2.1' 
 
    apt 'com.jakewharton:butterknife-compiler:8.2.1' 
 
    // DB 
 
    compile 'org.greenrobot:greendao:3.0.1' 
 
    compile 'com.github.paolorotolo:appintro:4.1.0' 
 
    compile 'com.readystatesoftware.sqliteasset:sqliteassethelper:+'
的庫

哪些權限違反Google用戶數據? 是否存在違反Google用戶數據的權限列表? 如何解決它?我應該刪除這些還是有其他解決方案? 另外,如果我必須準備隱私政策,有一些例子嗎?

謝謝你的問候。

+0

http://meta.stackoverflow.com/questions/272165/are-developer-centric-questions-about-application-stores-on-topic – CommonsWare

+0

如果Google Play商店需要隱私政策,開發者控制檯通常會讓你知道什麼權限導致需求。 (這是我的經驗。) –

+0

我收到了4封我的應用程序的同一封電子郵件,實際上我並不需要提及的權限@CharlesCaldwell – MBH

回答

9

您需要添加隱私政策。要添加隱私權政策到您的商品詳情:

  1. 轉到您的Google Play開發者控制檯。
  2. 選擇一個應用程序。
  3. 選擇商品詳情。
  4. 在「隱私政策」下,輸入您擁有在線託管隱私政策的URL。
  5. 選擇保存草稿(新應用程序)或提交更新(現有應用程序)。
+1

可以請你回答http://stackoverflow.com/questions/42141408/what - 他的所有應用程序中都沒有這個功能 - 有效的隱私政策 - 在谷歌播放 –

3

該字段隱私策略URL附近有一個黃色的評論是哪個權限導致你的apk中這個。

但是,首次檢查您的清單READ_PHONE_STATE和GET_ACCOUNTS是需要策略URL的definetly權限。

+0

。我也沒有,我沒有在應用程序和庫中使用這些電子郵件都沒有。 – MBH

2

我問他們什麼可以解他們今天給我發這封郵件:

我很樂意爲您說明您有任何關於隱私政策的警告的任何問題。有三種方法來解決這個問題:

1如果你的應用程序請求用戶數據或使敏感的權限請求 如電話,客戶,聯繫人,攝像機或麥克風,你需要 添加一個有效的隱私政策在兩個地方:您的應用的商品詳情 頁面(說明如下)並在您的應用內。

2-作爲第二選項,則 可以消除對用戶數據或敏感權限的任何請求。對於 示例,您需要從清單中刪除可能敏感的許可 。如果您刪除這些請求,您將不需要添加隱私策略。

3-如果不能完成步驟1或2,你 需要從Play商店取消發佈的應用程序。如果您的應用程序已經發布了 ,則不需要採取措施,除非您將來重新發布 應用程序。

反正在我的應用我沒有對於所提到的權限(相機,聯繫人,麥克風...等)

我在使用它**google Admob**請求。我認爲這可能會導致這些權限的請求!!!我看到也是你在你的gradle這個使用谷歌播放廣告(AdMob的):

compile 'com.google.android.gms:play-services-ads:10.0.1' 

可能解決方案:有一種方法可以去除gradle這個權限:

<uses-permission android:name="android.permission.Camera" tools:node="remove" /> 
<uses-permission android:name="android.permission.READ_CONTACTS" tools:node="remove" /> 
// and for other permissions you may add here 

它是不是最好的解決方案,我們可能會等待另一個更好的解決方案,但這是我到現在爲止...

+0

並在您的應用程序內。 ?我如何將隱私政策添加到我的應用程序? –

+2

我明白了,通過添加隱私政策鏈接到存儲列表中,您將能夠在應用程序頁面上看到隱私鏈接 –

0

此違反錯誤是由於權限

<uses-permission android:name="android.permission.READ_CONTACTS" /> 

您應該閱讀相關的Google開發者政策。 如果此權限不是必需的,您可以將其刪除,然後您將不會收到此錯誤。 否則,您必須首先在Google Play開發者控制檯中爲您的應用提供政策網址,並且您還必須在應用中提供相同的網址。

+0

fyi對我來說它具有以下權限: 您的應用有一個與版本代碼5的apk請求以下權限:android.permission.READ_PHONE_STATE,android.permission.GET_ACCOUNTS。在APK中使用這些權限的應用需要設置隱私策略。 您可以在Google Play開發人員信息中心中看到他們>您的應用>商品詳情 –

+0

是的,這個違規錯誤是因爲敏感信息而引起的,我提到了一個,因爲我遇到了這個問題,而且我也看到了相同的上面的問題。 –

3

READ_CONTACTS是一個sensitive permission和谷歌需要你有一個隱私政策。

其他敏感權限是相機,錄音,聯繫人。

您可以通過刪除那些要求提供個人數據,或通過添加隱私政策URL到您的Android應用程序的敏感權限,解決違規問題:

  1. 登錄到您的谷歌Play開發者控制檯。
  2. 選擇所有應用
  3. 選擇應用程序
  4. 點擊商店資訊
  5. 隱私政策領域輸入您的隱私政策的公衆網址:

Privacy Policy field on Google App Dashboard

請注意,喲您需要在您的網站上託管您的隱私政策,並提供該「隱私政策 」字段的網址。 Google不會爲您承辦協議。

承載您可以使用的政策的其他替代方法是GitHub頁面或TermsFeed(披露:這是我們的工具,用於創建和託管Android應用的隱私政策)。

+0

因此,我必須創建和託管我自己的網站並支付月費,因爲我想在我的應用程序中使用相機? –

+0

您也可以使用免費的替代方案來託管隱私政策 - GitHub頁面,中等頁面,我們的TermsFeed工具來創建+主機等。 – TermsFeed

9

有一些方法可以克服這種違反政策的情況。首先你需要制定違反政策的文件。 在這裏做這樣一些方法:

  1. 轉到此鏈接:https://app-privacy-policy-generator.firebaseapp.com/

,然後提供你的應用程序名稱,開發者賬戶名稱等,然後生成策略文件。

  • ,或者你可以使用這個模板: https://gist.github.com/alphamu/c42f6c3fce530ca5e804e672fed70d78

    ,然後只需更換應用程序的名稱,開發者帳號等與你。

  • 現在,你如何聯繫起來您的隱私文件:

    如果你有自己的服務器,那麼你可以託管在您的服務器的文件,並使用該鏈接。如果沒有,那麼還有其他方法可以完成您的工作。

    1. 你可以把你的文件的git然後使用該鏈接
    2. 你也去一個更好的辦法,比如只在您的谷歌驅動器創建一個文檔文件,然後粘貼到你的政策文本,然後選擇File->Publish for the web你會得到一個鏈接,分享你的政策網址中使用該鏈接。

    希望這些會幫助你。

    +0

    這是最接受的答案。 –

    +1

    嗨,我是App隱私策略生成器(https://app-privacy-policy-generator.firebaseapp.com/)的開發者。感謝您提及我的項目。對於任何想要在webapp中獲得新功能的人,可以聯繫我:) –

    相關問題