我打算为我的某个Android应用整合Google Play 应用内结算。
要使用应用内结算,需要将权限 com.android.vending.BILLING 添加到AndroidManifest。
我的问题是,用户是否必须在安装或升级时授予此权限?
我还没有看到它正在使用它的应用程序。所以,我只是想知道包含新的结算权限的更新是否会在未经用户许可的情况下推出?后者通常意味着旧版本卡住了。
此致 约尔格
答案 0 :(得分:7)
我使用Google Play开发者控制台的alpha版本机制来自行测试。
我可以确认会提示用户提供额外的权利。因此,添加应用内结算时无法自动升级。
这是Google Play中的权限。 (如果它是新的,它将有正常的 NEW:标志)
答案 1 :(得分:3)
不会,系统不会提示用户接受此权限。 请参阅OP答案。
"com.android.vending.BILLING"
需要与Google Play应用程序通信,因此任何应用程序都可以声明权限并要求其他应用程序具有相互通信权限或使用该应用程序/服务提供的API。
Updating Your Application's Manifest
应用内结算取决于Google Play应用,该应用可处理您的应用与Google Play服务器之间的所有通信。要使用Google Play应用程序,您的应用程序必须申请适当的权限。您可以通过将com.android.vending.BILLING权限添加到AndroidManifest.xml文件来完成此操作。如果您的应用程序未声明应用内结算权限,但尝试发送结算请求,Google Play将拒绝这些请求并回复错误。
要为您的应用提供必要的权限,请在Android.xml清单文件中添加以下行:
<uses-permission android:name="com.android.vending.BILLING" />
请参阅Declaring and Enforcing Permissions进一步阅读。
希望这有帮助。
答案 2 :(得分:3)
在一般情况下,当已安装的应用程序具有具有新权限的新版本时,将禁用自动更新,并且将要求用户手动更新该应用程序(即按下更新按钮)。手动更新时,会告知他们有一些新的权限请求,他们可以选择是接受(更新应用程序)还是取消(不更新)。
如果结算权限触发了这一点,您是否担心用户不会主动更新并因此对旧版本“卡住”?我认为用户已经习惯于授予新的权限,特别是如果它与披露他们的个人信息(联系人列表等)无关。您还可以在应用说明中解释为什么需要特定权限。
在处理其他应用时,您可能已经看过以下屏幕截图:
首次安装需要Google Play应用内结算的应用时,系统也会显示相关的结算权限。
以下是安装Evernote(使用应用内结算)时显示的对话框的屏幕截图:
请注意“网络通信”下的“Google Play结算服务”文字。
答案 3 :(得分:1)
这是一个老问题,我们最近遇到了类似的情况,我们的应用程序已经在市场上,我们需要推出一个新版本,只有一个新的许可,即Billing。我们原以为自动更新不会发生,用户需要手动更新。虽然我们的测试PRE API 23(Marshmallow)和API 23都显示我们的应用程序自动更新使用Alpha通道没有任何问题。
因此,对于升级,如果您只有BILLING权限(这不是系统权限)升级应该没问题