1

我统一实施了适用于 Android 的 Soomla inn 应用程序购买,它工作正常,但是当购买成功完成时我的分数没有更新。我为购买设置了“android.test.purchased”。这是我的代码

void Start () 
        {
        PlayerPrefs.SetInt("Score" ,0)
        }
    void CheckIAP_PurchaseStatus()
       {
            //What I do here ????? below check not working for me
          if (StoreInventory.IsVirtualGoodEquipped ("coinspack_a_item_id"))
            {
         PlayerPrefs.SetInt("Score" , PlayerPrefs.GetInt("Score") + 8000);

            }}
        void OnGUI () 
        {
         if (GUI.Button(new Rect(10, 10, 50, 50), "Buy"))
            {
             try {
                StoreInventory.BuyItem ("coinspack_a_item_id");                                 
                } 
                catch (Exception e) 
                {   
                  Debug.Log ("SOOMLA/UNITY" + e.Message); 
                    }
                    }
                    }
4

2 回答 2

0

你正在以错误的方式去做。你真的应该阅读 SOOMLA 文档。这是我整理的快速 YouTube教程。

基本上你需要: 1 - 首先,如果我是你,我不会自己管理经济,我宁愿让 SOOMLA 来做。如果您定义了货币包,那么在成功购买后,SOOMLA 将自动充值您的余额。

2 - 否则,如果您想自己做,那么设置 SOOMLA 提供的事件处理程序并在成功市场购买后触发的 OnItemPurchased 事件中进行。

3 - 确保 Core 和 Store prefubs 位于在整个游戏期间仅加载一次的场景/页面上。

4 - 如果您想在 Store 中捕获错误,请不要使用 try catch 来执行此操作,而是设置 OnUnexpectedErrorInTheStore 事件。

请阅读此处的文档,作为附注,不确定您是否知道,但 SOOMLA 在answers.soom.la上有一个专门的支持论坛,您可以在其中获得更快的答案。

于 2015-06-29T07:11:16.703 回答
0

几个建议:

  • 确保您收听该onSoomlaStoreInitialized事件并仅在此之后才开始查询库存。
  • 处理触发以指示成功购买的其他 SOOMLA 事件。见这里: http: //know.soom.la/unity/store/store_events/
  • 考虑使用SOOMLA LevelUp - 它是另一个开源软件包,提供丰富的世界、关卡、分数、任务、奖励等模型。它还为您处理存储方面的问题,因此您无需调用PlayerPrefs自己。
  • 将此问题发布到 SOOMLA 论坛:http ://answers.soom.la/
于 2015-06-29T07:14:06.653 回答