标签: soomla

在实施Soomla Unity3d插件时进行购买时出现Google播放错误

我正在创建一个实现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)

c# android unity-game-engine in-app-purchase soomla

22
推荐指数
2
解决办法
1735
查看次数

InAppPurchase验证和用于游戏逻辑的独立服务器

我正在使用Unity(适用于Android和iOS)开发应用程序.我正在使用SOOMLA插件允许用户通过In App Purchase购买Gems(虚拟货币).

用户和Gems以及所有其他游戏逻辑都通过Azure上的服务器.

我希望以下过程以某种方式作为单个事务发生:

  1. 用户通过IAP购买Gems
  2. 应用程序通知服务器
  3. 服务器验证购买和更新数据

但是如果互联网连接在步骤1和步骤2之间发生故障 - 用户付钱给他没有收到的宝石(不好!)

所以我目前的做法是这样的:

  1. 用户启动购买
  2. 应用程序通知服务器
  3. 服务器盲目地相应地更新数据
  4. 用户通过IAP购买Gems
  5. 如果取消购买,请通知服务器将其撤消

这样,用户可以保证购买他购买的宝石,但我不能保证得到报酬(不是很好......)

注意: 我不想在商店本身管理用户Gems.我希望我自己的服务器上的一切.所以SOOMLA的平衡对我来说毫无意义.我不在乎.

我想也许应用程序可以将购买数据存储在持久存储中,直到它设法通知服务器有关它,然后删除它.但我也认为这可能是一个糟糕的解决方案.因此这个问题.


我认为最好的解决方案可以正确处理这种情况:

  1. 用户通过IAP购买Gems
  2. IAP成功
  3. 互联网崩溃
  4. 我的服务器没有得到通知
  5. 用户从他的设备上卸载应用程序
  6. 然后,用户可以在其他设备上安装该应用:

    • 无论是他被指控还是他通过一些魔法得到了宝石
    • 或者他被自动退款,因为没有收到宝石

到目前为止,似乎无论如何这都是不可能的,这让我对IAP的技术感到失望.希望找到能证明我错误的答案.


似乎我所需要的只是能够从我的服务器获取用户的购买历史记录,并向Google Play或Apple Store提供安全请求.但这不是框架的一部分.


那么其他人在做什么?什么是最好的方法?

android in-app-purchase ios in-app-billing soomla

21
推荐指数
2
解决办法
1822
查看次数

Unity:使用Soomla登录Facebook,Facebook SDK始终在浏览器中打开

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应用程序,如果它已安装并在其中运行登录.

unity-game-engine unityscript facebook-unity-sdk soomla

1
推荐指数
1
解决办法
294
查看次数