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