购买成功完成后,Unity Soomla分数未更新

时间:2015-06-28 10:34:01

标签: c# unity3d in-app-billing unityscript soomla

我实施了Soomla inn app购买Android的团结它工作正常,但我的分数没有更新,当购买成功完成我做什么。我设置“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); 
                    }
                    }
                    }

2 个答案:

答案 0 :(得分:0)

你正在走错路。您应该阅读SOOMLA文档。这是我放在一起的快速YouTube tutorial

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

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

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

4 - 如果你想在商店中捕获错误,那么不要使用try catch,而是设置OnUnexpectedErrorInTheStore事件。

请阅读文档here,并且作为旁注,不确定您是否知道,但SOOMLA在answers.soom.la有专门的支持论坛,您可以在那里获得更快的答案。

答案 1 :(得分:0)

几点建议:

  • 请确保您收听onSoomlaStoreInitialized事件,然后才开始查询广告资源。
  • 处理触发的其他SOOMLA事件以表示购买成功。见这里:http://know.soom.la/unity/store/store_events/
  • 考虑使用SOOMLA LevelUp - 它是另一个开源软件包,提供丰富的世界,关卡,分数,任务,奖励等模型。它还为您处理存储方面,因此您无需致电{ {1}}你自己。
  • 将此问题发布到SOOMLA论坛:http://answers.soom.la/