Android- 一次应用内购买
Android- one Time InApp Purchase
我正在构建一个游戏应用程序,用户必须购买该应用程序才能解锁更多关卡。我已经实施了 InApp 购买代码。但是,在第一次测试后,我无法重新运行测试,因为该项目已经购买。我不想让我的购买成为消耗品,因为它是一次性购买。如何检查用户是否已经购买了商品?以及如何多次测试购买选项?
谢谢,
只是一个想法,不确定它是否是好的做法,您可以使用布尔值并将其存储在 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();
这应该可行,但我确信有更好的解决方案。
编辑:
找到了类似的 question/answer 可能对您有帮助:
How to save the state of inApp purchase
我正在构建一个游戏应用程序,用户必须购买该应用程序才能解锁更多关卡。我已经实施了 InApp 购买代码。但是,在第一次测试后,我无法重新运行测试,因为该项目已经购买。我不想让我的购买成为消耗品,因为它是一次性购买。如何检查用户是否已经购买了商品?以及如何多次测试购买选项?
谢谢,
只是一个想法,不确定它是否是好的做法,您可以使用布尔值并将其存储在 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();
这应该可行,但我确信有更好的解决方案。
编辑: 找到了类似的 question/answer 可能对您有帮助: How to save the state of inApp purchase