11

Khi thực hiện trong ứng dụng thanh toán, hoặc IAB, docs nói rằng bạn có để thêm video này biểu hiện của bạn:Mua hàng trong ứng dụng Android: bạn có cần kiểm tra quyền com.android.vending.BILLING khi nhắm mục tiêu Android 6 không?

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

Tính đến Android 6, các ứng dụng đang expected to check khi chạy nếu người dùng đã cấp phép mà không làm thuộc về danh mục quyền 'normal'. Lưu ý rằng, ở cấp API 23, com.android.vending.BILLING không được liệt kê ở bất kỳ đâu trong danh mục này. Vì vậy ...

  1. Nếu nó không bình thường, điều đó có nghĩa là nó nguy hiểm?
  2. Tôi có cần kiểm tra giấy phép trước khi sử dụng IAB không?
  3. Nếu tôi làm như thế nào? Tôi không thể tìm thấy bất kỳ ví dụ nào về tích hợp IAB với mô hình quyền mới của Android 6. Dường như không có bất kỳ quyền nào liên quan đến thanh toán theo số Manifest.permission.

Trả lời

19

Bạn không thể tìm thấy quyền đối với com.android.vending.BILLING trong danh sách quyền bình thường hoặc nguy hiểm của Android 6.0 vì đó không phải là sự cho phép của hệ thống.

Nó được khai báo theo gói com.android.vending (a.k.a. Cửa hàng Google Play). Bạn có thể tìm thấy nó trong số 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"/> 

Bạn không cần phải kiểm tra sự cho phép trong thời gian chạy vì nó chỉ cần thiết cho quyền của hệ thống.

Bạn có thể tìm thêm thông tin về ứng dụng công bố cho phép ở đây: http://developer.android.com/guide/topics/manifest/permission-element.html

+1

Đó là âm nhạc đến tai tôi - cảm ơn! Vui lòng bạn có thể thêm liên kết vào tệp kê khai đó; Tôi không thể tìm thấy điều đó. Vì vậy, về cơ bản an toàn để giả định khi chạy là ứng dụng của tôi sẽ có tất cả các quyền cần thiết để sử dụng thanh toán trong ứng dụng? Ngoại trừ tôi cũng sử dụng '' để liên kết giao dịch mua của người dùng với tài khoản Google của họ. Vì vậy, tôi đoán tôi sẽ phải kiểm tra điều đó anyway, vì đó * là * một sự cho phép nguy hiểm (xem Bảng 1 dưới http://developer.android.com/guide/topics/security/permissions.html#perm-groups) . – snark

+0

Rất tiếc, tôi không thể liên kết tệp kê khai vì nó không có sẵn trực tuyến. Tôi đã phải dịch ngược APK cửa hàng Play để trích xuất 'AndroidManifest.xml'. Có bạn đoán đúng, bạn cần phải yêu cầu quyền 'GET_ACCOUNTS 'khi chạy. –

+0

Ok, cảm ơn vì đã làm rõ điều đó. Chuột - Tôi sẽ phải kiểm tra và yêu cầu quyền 'GET_ACCOUNTS', sau đó. Nhưng ít nhất tôi sẽ chỉ phải kiểm tra một sự cho phép thay vì cho 'BILLING', nhờ bạn! – snark

Các vấn đề liên quan