Android-一次性InApp购买

时间:2015-03-06 07:42:57

标签: android in-app-purchase

我正在构建一个游戏应用程序,用户必须购买该应用程序以解锁更多关卡。我已经实施了InApp购买代码。但是,在第一次测试之后,我无法重新运行测试,因为该项目已经购买。我不想购买消费品,因为它是一次性购买。如何检查用户是否已购买该商品?以及如何多次测试“购买”选项?

谢谢,

1 个答案:

答案 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