11

アプリ内課金、またはIABを実装する場合、docsはあなたのマニフェストにこれを追加する必要が言う:アンドロイド6のようAndroidのアプリ内購入:Android 6をターゲットに設定するときにcom.android.vending.BILLING権限を確認する必要がありますか?

<uses-permission android:name="com.android.vending.BILLING" /> 

、ユーザが使用しない権限を付与している場合はアプリが実行時にexpected to checkです「normal」権限カテゴリに属しています。 APIレベル23では、com.android.vending.BILLINGはこのカテゴリのどこにもリストされていません。だから...

  1. それが正常でない場合、それは危険ですか?
  2. IABを使用する前に許可を確認する必要がありますか?
  3. もしそうすれば、どうですか?新しいAndroid 6権限モデルと統合されたIABの例は見つかりません。たとえば、Manifest.permissionの下での請求に関連する許可がないようです。

答えて

19

システム権限ではないため、Android 6.0の通常または危険なアクセス許可の一覧にcom.android.vending.BILLING権限が見つかりません。

パッケージcom.android.vending(a.k.a. Google Playストア)で宣言されています。あなたは彼のAndroidManifest.xmlでそれを見つけることができます。

<permission 
    android:name="com.android.vending.BILLING" 
    android:description="@string/perm_billing_desc" 
    android:label="@string/perm_billing_label" 
    android:permissionGroup="android.permission-group.NETWORK" 
    android:protectionLevel="normal"/> 

あなたはそれが唯一のシステム権限に必要があるため、実行時にパーミッションをチェックする必要はありません。私の耳に http://developer.android.com/guide/topics/manifest/permission-element.html

+1

音楽だ - おかげ:あなたがアプリケーションの詳細情報を見つけることができ

は、ここに許可を宣言しました!そのマニフェストへのリンクを追加できますか?私はそれを見つけることができませんでした。だから、基本的には、私のアプリは、アプリ内課金を使うのに必要なすべての権限を持っていることを、実行時に想定するのは安全でしょうか?私は ''を使ってユーザの購入を自分のGoogleアカウントに関連付けることを除いて、だから、とにかくそれをチェックしなければならないのは、危険な許可だからです(http://developer.android.com/guide/topics/security/permissions.html#perm-groupsの表1を参照) 。 – snark

+0

残念ながら、マニフェストはオンラインでは入手できないためリンクできません。私はPlay Store APKを逆コンパイルして 'AndroidManifest.xml'を抽出しなければなりませんでした。はい、そうでしょう。実行時に 'GET_ACCOUNTS'アクセス権を要求する必要があります。 –

+0

よろしくお願いいたします。ラット - 検査をして、 'GET_ACCOUNTS'パーミッションを要求しなければなりません。しかし、少なくとも私はあなたのおかげで、 'BILLING'のためにではなく、1つの許可をチェックする必要があります! – snark

関連する問題