如何为用户临时解锁高级功能(android应用程序)

c0vxltue  于 2021-06-26  发布在  Java
关注(0)|答案(0)|浏览(288)

我正在用xamarin开发一个android应用程序。我想我的问题与平台语言无关,但我将在下面展示当我的活动实现irewardedvideoadlistener时生成的一段代码。
我添加了一个奖励视频与admob,允许用户临时访问我的应用程序的一些高级功能。因此,当用户完成观看奖励视频,应用程序将使一些按钮成为可点击的和相关的功能变得可用。
如上所述,实现irewardedvideoadlistener接口的方法如下:

public void OnRewardedVideoAdFailedToLoad(int errorCode)
    {
        Toast.MakeText(this, "OnRewardedVideoAdFailedToLoad", ToastLength.Short).Show();
    }

    public void OnRewardedVideoAdLeftApplication()
    {
        Toast.MakeText(this, "OnRewardedVideoAdLeftApplication", ToastLength.Short).Show();
    }

    public void OnRewardedVideoAdLoaded()
    {
        Toast.MakeText(this, "OnRewardedVideoAdLoaded", ToastLength.Short).Show();
    }

    public void OnRewardedVideoAdOpened()
    {
        Toast.MakeText(this, "OnRewardedVideoAdOpened", ToastLength.Short).Show();
    }

    public void OnRewardedVideoStarted()
    {
        Toast.MakeText(this, "OnRewardedVideoStarted", ToastLength.Short).Show();
    }

    public void OnRewarded(IRewardItem reward)
    {
        Toast.MakeText(this, string.Format("OnRewarded ! currency: {0} amount: {1}", reward.GetType(), reward.Amount), ToastLength.Short).Show();
    }

    public void OnRewardedVideoAdClosed()
    {
        Toast.MakeText(this, "OnRewardedVideoAdClosed", ToastLength.Short).Show();
    }

我假设我需要在onfeeded方法中实现高级功能的“解锁”。我有两个问题:
这是正确的吗?也就是说,这个方法是处理额外函数的临时“解锁”的正确方法吗?
我该如何管理“解锁”本身?我在想,我可能有一个sqlite表,在那里我存储的信息,如果奖励视频已被观看(即onredwarded方法被调用),以便每次应用程序启动时,它将查询数据库,以检查是否有奖励状态存储。我还可以在观看奖励视频时关联一个时间戳,并说db表中的奖励状态在若干天或应用程序启动后被删除。
这是解决我问题的标准方法吗?它是否足够安全(即用户是否可以在不必一直观看视频的情况下读取db表并修改信息)?有更好的办法吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题