Android 实施应用内bp后,如何在应用内解锁付费风味
我已经成功地用实现了应用内计费,并成功地对其进行了测试,但如何在同一个应用内解锁我的付费版本 口味Android 实施应用内bp后,如何在应用内解锁付费风味,android,google-play,in-app-purchase,in-app-billing,Android,Google Play,In App Purchase,In App Billing,我已经成功地用实现了应用内计费,并成功地对其进行了测试,但如何在同一个应用内解锁我的付费版本 口味 flavorDimensions "default" productFlavors { free { minSdkVersion 15 targetSdkVersion 27 } paid { minSdkVersion 15 targetSdkV
flavorDimensions "default"
productFlavors {
free {
minSdkVersion 15
targetSdkVersion 27
}
paid {
minSdkVersion 15
targetSdkVersion 27
}
}
检查资源
我不想:
intent.setData(Uri.parse("market://search?q=pname:MyApp"));
不确定这是否有效:我想把所有东西都放在免费版本中。(付费版本功能保持为不可见)并在购买成功时将其设置为可见模式。
但是,把口味放在首位有什么意义呢
如果我们能在GooglePlay中获得如何在应用程序中实现的更简单版本,那就太好了,因为文档和示例似乎不太难实现,而且我们在这里得到的信息是零零碎碎的
如果支付成功,解锁付费版本的下一步是什么。现在我通过了我的意图,这不是一个有效的方法
@Override
public void onProductPurchased(@NonNull String productId, @Nullable TransactionDetails details) {
Intent paid = new Intent(this, Test_Paid.class);
startActivity(paid);
}
我想要的是,当付款成功时,它应该总是打开付费版本,而不是免费版本,现在不是这样
谢谢
有两种方法可以实现应用程序的付费和免费版本:
如果没有后端,可以将hasUserPaid标志保存在具有某种加密/安全级别的本地sqlite数据库中。这样做的缺点是,一旦用户卸载或清除应用程序的数据,数据库就会被清除。要重新填充,您必须使用play服务验证用户是否购买了您的订阅。谢谢@Udit您能详细说明您的第二点吗?如果我不想要sqlite db,没有其他内容吗?您必须使用某种磁盘存储。如果不是这样,您可以查看共享首选项。如果sqlite语法繁杂,请尝试使用room