我正在创建一个实现Soomla Unity IAP插件的应用程序.为了让IAP工作,我已经达到了可以在编辑器中进行购买的程度.(不是真正的购买,它只是更新用户可以在游戏中购买/消费的虚拟货币).
当我在Android设备上启动它时,我收到此错误:需要身份验证.您需要登录自己的Google帐户.
现在我已经阅读了多篇不同的文章,其中人们已经遇到过这个问题,似乎没有什么能帮助我.
这是我到目前为止所尝试的列表:
1)确保应用程序发布到alpha或beta进行测试.(现在在alpha中)
2)确保价格与游戏和开发者控制台相匹配.
3)使用以未使用开发人员电子邮件的用户身份登录的设备.
4)确保测试设备上的电子邮件在开发人员控制台中列为测试人员.
5)确保Android Manifest中列出了必要的权限.
6)确认商家帐户已正确设置并验证.
7)确保构建为发布而不是开发(不确定这是否重要,但我尝试了两种方式).
8)从项目中完全删除了所有Soomla插件,然后将其添加回来,同时非常仔细地遵循教程,以确保没有错过任何小的.仍然没有骰子.
我将核心和商店组件添加到他们必要的场景中.如果您对解决此问题应采取的措施有任何其他想法,请告诉我.同时,这是我用于设置Soomla的StoreAssets.cs代码:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using Soomla.Store;
public class StoreAssets : IStoreAssets
{
public static bool purchased = false;
public int GetVersion()
{
return 0;
}
public void onItemPurchased(PurchasableVirtualItem pvi, string payload)
{
purchased = true;
}
public VirtualCurrency[] GetCurrencies()
{
return new VirtualCurrency[]{TOKEN_CURRENCY};
}
public VirtualGood[] GetGoods()
{
return new VirtualGood[] {BACKUP_FORCEFIELD, IMMUNITY, EMP, MULTIPLIER};
}
public VirtualCurrencyPack[] GetCurrencyPacks()
{
return …Run Code Online (Sandbox Code Playgroud) 我正在使用Unity(适用于Android和iOS)开发应用程序.我正在使用SOOMLA插件允许用户通过In App Purchase购买Gems(虚拟货币).
用户和Gems以及所有其他游戏逻辑都通过Azure上的服务器.
我希望以下过程以某种方式作为单个事务发生:
但是如果互联网连接在步骤1和步骤2之间发生故障 - 用户付钱给他没有收到的宝石(不好!)
所以我目前的做法是这样的:
这样,用户可以保证购买他购买的宝石,但我不能保证得到报酬(不是很好......)
注意: 我不想在商店本身管理用户Gems.我希望我自己的服务器上的一切.所以SOOMLA的平衡对我来说毫无意义.我不在乎.
我想也许应用程序可以将购买数据存储在持久存储中,直到它设法通知服务器有关它,然后删除它.但我也认为这可能是一个糟糕的解决方案.因此这个问题.
我认为最好的解决方案可以正确处理这种情况:
然后,用户可以在其他设备上安装该应用:
到目前为止,似乎无论如何这都是不可能的,这让我对IAP的技术感到失望.希望找到能证明我错误的答案.
似乎我所需要的只是能够从我的服务器获取用户的购买历史记录,并向Google Play或Apple Store提供安全请求.但这不是框架的一部分.
那么其他人在做什么?什么是最好的方法?
Soomla核心版本:1.3.1 Facebook SDK版本:7.2.2 Unity:5.3.3
尝试从团结游戏登录Facebook(使用SoomlaProfile.Login(Provider.FACEBOOK);)
问题是:它始终打开登录屏幕进入Safari,而不是Facebook应用程序.
设置shareDialogMode = ShareDialogMode.NATIVE; 在MobileFacebook.cs内部没有帮助.它是默认的AUTOMATIC,但它打开浏览器,而不是应用程序.Facebook应用已安装.
我怎么能解决它?我需要打开Facebook应用程序,如果它已安装并在其中运行登录.