11

Przy realizacji rozliczeń w aplikacji lub IAB The docs powiedzieć trzeba dodać to do manifest:Zakupy w aplikacji na Androida: czy podczas kierowania na Androida 6 trzeba sprawdzić uprawnienia com.android.vending.BILLING?

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

As Androida 6, aplikacje są expected to check przy starcie, jeśli użytkownicy nie przyznano uprawnienia, które NIE należą do kategorii uprawnień "normal". Zauważ, że tak jak na poziomie API 23, com.android.vending.BILLING nie znajduje się nigdzie w tej kategorii. Więc ...

  1. Jeśli to nie jest normalne, oznacza to, że jest niebezpieczny?
  2. Czy przed użyciem IAB muszę sprawdzić uprawnienia?
  3. Jeśli tak, jak? Nie mogę znaleźć żadnych przykładów zintegrowanego IAB z nowym modelem uprawnień Androida 6. Wygląda na to, że na przykład nie ma żadnych zezwoleń związanych z fakturowaniem pod numerem Manifest.permission.

Odpowiedz

19

Nie można znaleźć uprawnienia com.android.vending.BILLING na liście normalnych lub niebezpiecznych uprawnień Androida 6.0, ponieważ nie jest to uprawnienie systemowe.

Jest zadeklarowany przez pakiet com.android.vending (a.k.a. Sklep Google Play). Można znaleźć go w swoim 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"/> 

Nie trzeba sprawdzić pozwolenie na starcie, ponieważ jest to konieczne tylko do uprawnień systemowych.

można znaleźć więcej informacji na temat stosowania zadeklarował zgodę tutaj: http://developer.android.com/guide/topics/manifest/permission-element.html

+1

to muzyka dla moich uszu - dzięki! Czy mógłbyś dodać link do tego manifestu; Nie mogłem tego znaleźć. Więc zasadniczo można bezpiecznie założyć w czasie wykonywania, że ​​moja aplikacja będzie miała wszystkie niezbędne uprawnienia do korzystania z rozliczeń w aplikacji? Oprócz tego używam również polecenia '', aby powiązać zakup użytkownika z jego kontem Google. Myślę więc, że i tak muszę to sprawdzić, ponieważ to * jest * niebezpiecznym zezwoleniem (patrz Tabela 1 w sekcji http://developer.android.com/guide/topics/security/permissions.html#perm-groups) . – snark

+0

Niestety nie mogę połączyć pliku manifestu, ponieważ nie jest on dostępny online. Musiałem zdekompilować pakiet APK Sklepu Play, aby wypakować plik "AndroidManifest.xml". Tak, zgadnij, masz rację, musisz poprosić o uprawnienie 'GET_ACCOUNTS' w czasie wykonywania. –

+0

Ok, dzięki za wyjaśnienie tego. Szczury - będę musiał wtedy sprawdzić i zażądać pozwolenia "GET_ACCOUNTS". Ale przynajmniej będę musiał sprawdzić tylko jedno pozwolenie, a nie "BILLING", dzięki tobie! – snark