unity android 退出异常 google play game services

最近项目在安卓平台要集成google play game services,如果调用Application.Quit()。再次启动游戏时,有很大几率在任意时刻突然退出,并弹出”xxx已停止” 提示框。在github上搜了下属于gpg的bug,到现在貌似也没有修复。
Issues里给出了两个解决方法:
1.MoveTaskToBack 等同于home键,如果moveTaskToBack改为finish,等同于Application.Quit()

public static void MoveTaskToBack() 
    {
        using (AndroidJavaClass javaClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
        {
            AndroidJavaObject unityActivity = javaClass.GetStatic<AndroidJavaObject>("currentActivity");
            unityActivity.Call<bool>("moveTaskToBack", true);
        }
    }

2.CustomApplicationQuit 会先黑屏然后退出

public static void CustomApplicationQuit() 
    {
        System.Diagnostics.ProcessThreadCollection pt = System.Diagnostics.Process.GetCurrentProcess().Threads;
        foreach (System.Diagnostics.ProcessThread p in pt)
        {
            p.Dispose();
        }
        System.Diagnostics.Process.GetCurrentProcess().Kill();
    }
Unity中使用Google Play In-app Billing API允许开发者向用户销售虚拟商品或服务,包括非消耗品、消耗品和服务等。以下是基本的步骤: 1. **添加Google Play服务库**:在Unity中,去Assets->Import Package->Google Services,选择Google Play Services版本并导入。确保Unity支持的最低API级别兼容Google Play服务。 2. **初始化IABHelper**:创建一个`IabHelper`实例,传入上下文和需要的商品类型的字符串(如`IabHelper.SkuType.AndroidMarket`代表付费内容): ```csharp using GooglePlayServices.Iap; ... IabHelper iabHelper = new IabHelper(Context, "com.example.your_game_publisher_android_market_id"); ``` 记得替换`your_game_publisher_android_market_id`为实际的包名。 3. **授权和库存查询**: - 获取用户授权:`iabHelper.StartConnection()`。 - 查询商品库存:`iabHelper.QueryInventoryAsync()`方法,获取用户已购买的商品信息。 4. **购买操作**: - `Purchase`结构体包含了用户购买的信息,如果用户购买成功,可以使用`iabHelper.ConsumeAsync()`来消耗物品(如有必要)。 ```csharp var purchaseResult = iabHelper.PurchaseAsync(productId); purchaseResult.OnSuccess += OnPurchaseSuccessful; ``` 5. **回调处理**:定义回调函数来处理购物流程的结果,比如`OnPurchaseSuccessful`用于处理成功的购买。 6. **完成交易后关闭连接**:当用户购买结束后,记得关闭连接:`iabHelper.Disconnect()`。 7. **测试和发布**:在Unity编辑器中使用模拟器测试购买过程,然后在Google Play Console管理应用内的产品,发布到生产环境。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值