我正在构建一个游戏应用程序,用户必须购买该应用程序以解锁更多关卡。我已经实施了InApp购买代码。但是,在第一次测试之后,我无法重新运行测试,因为该项目已经购买。我不想购买消费品,因为它是一次性购买。如何检查用户是否已购买该商品?以及如何多次测试“购买”选项?
谢谢,
答案 0 :(得分:1)
只是一个想法,不知道它的良好做法,你可以使用布尔值并将其存储在SharedPreferences中。因此,每当触发应用程序购买时,您将布尔值设置为false并将其存储在SharedPreferences中,下次打开应用程序时检查您的布尔值是否为真,如果是则启用购买:
private SharedPreferences preferences;
private Boolean purchased;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
preferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
purchased = preferences.getBoolean("PURCHASED", false);
// will be set to false in case it does not exist yet
if(!purchased)
enableInAppPurchase();
}
当调用inAppPurchase方法时,存储你的布尔值:
purchased = true;
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean("PURCHASED", purchased);
editor.apply();
这应该可行,但我确信这是一个更好的解决方案。
编辑: 找到一个类似的问题/答案,可能对您有所帮助: How to save the state of inApp purchase