跳转至

SDK 问题

关于使用Hive SDK的常见问题集合。

执行错误

如何同时安装 Google Play 构建和 Onestore 构建

如果您的游戏不使用 Facebook SDK 的文件共享功能,您可以通过从 AndroidManifest.xml 文件中删除以下内容来解决此问题

<provider android:authorities="com.facebook.app.FacebookContentProvider{APP_ID}"
android:name="com.facebook.FacebookContentProvider"
android:exported="true"/>
为什么在我应用Hive SDK时Firebase Analytics被禁用?

如果您在游戏中使用Hive SDK应用了Firebase Analytics,但事件未被收集,请检查以下内容。

  1. 更改 AndroidManifest.xml 文件中的元数据

    <application>
    <meta-data android:name="firebase_analytics_collection_deactivated" tools:node="remove" />
    <meta-data android:name="firebase_analytics_collection_enabled" android:value="false" />
    

  2. 在Hive SDK初始化完成后启用Firebase分析

    // Hive SDK v4 初始化
    AuthV4.setup (delegate (
    ResultAPI result, Boolean isAutoSignIn, String did, List providerTypeList) {
        if (result.code == ResultAPI.Code.Success) {
            // 初始化成功
            if (Configuration.getAgeGateU13() == false) {
            // 如果您年满13岁或以上,则启用Firebase分析收集
            setAnalyticsCollectionEnabled(true);
            }
            else {
            // 如果您未满13岁,则禁用Firebase分析收集
            setAnalyticsCollectionEnabled(false);
            }
        }
    });
    

如果没有接收到 iOS 推送

如果您在 iOS 构建中没有接收到推送,请检查以下内容。

  1. 验证推送证书是否正确注册,并且推送证书是否未过期
  2. 验证 APNS 服务器环境是否与注册的推送证书和实际构建中使用的令牌匹配

    • Hive Push 商业服务器请求推送到 APNS 实际服务器,而 Hive Sandbox 服务器请求推送到 APNS 沙盒服务器。
    • 如果您正在测试的构建是企业或临时构建,您将收到可在 APNS 实际服务器上使用的推送令牌;如果是开发构建,您将收到可在 APNS 沙盒服务器上使用的推送令牌。
  3. 检查推送通知 XCode 设置


警告

关于使用 Hive SDK v4 Unity 24.3.0, 24.4.0 在 Android 上构建华为的说明

请按照本指南在 Android 上使用 Hive SDK v4 Unity 24.3.0, 24.4.0 构建华为
(未按照指南操作将导致购买华为 IAP 产品时出现错误)

指南

修改 AndroidPostBuildProcessor.cs 在你的 Unity 项目中,前往 /Assets/Hive_SDK_v4/Editor/Android/AndroidPostBuildProcessor.cs,并进行以下更改以应用

  1. 添加代码
    // 添加
    using Hive.Unity.Editor;
    
  2. 在移除现有代码后添加代码
    // 移除
    string huaweiDependenciesXml = Application.dataPath + "/Hive_SDK_v4/Editor/HIVESDK_ProviderHuaweiDependencies.xml";
    if (File.Exists(huaweiDependenciesXml)) {
    // 添加
    bool useHuawei = ExternalDependencyDictionaryManager.isUseDependency(ExternalDependencyType.Huawei);
    if (useHuawei) {
    
  3. 在移除现有代码后添加代码
    // 移除
    string huaweiDependenciesXml = Application.dataPath + "/Hive_SDK_v4/Editor/HIVESDK_ProviderHuaweiDependencies.xml";
    if (File.Exists(huaweiDependenciesXml)) {
    // 添加
    bool useHuawei = ExternalDependencyDictionaryManager.isUseDependency(ExternalDependencyType.Huawei);
    if (useHuawei) {
    
关于在 Android 上使用 Hive SDK v4 Unity 24.3.0、24.4.0 的 Firebase 分析的注意事项

如果您在 Android 上使用 Hive SDK v4 Unity 24.3.0、24.4.0 的 Firebase 分析,请遵循这些指南 (不遵循这些指南将导致您无法发送 Firebase 分析事件)

指南

  1. 生成 launcherTemplate.gradle 项目设置 > 玩家 > 发布设置 > 在构建部分检查自定义启动器 Gradle 模板
  2. 应用插件
    在生成的 Assets/Plugins/Android/launcherTemplate.gradle 文件中,将以下代码添加到文件底部
    apply plugin: 'com.google.gms.google-services'
    


注意

通过 SDK 管理器升级 SDK 一直失败
  1. 如果您收到的 Hive SDK 不是公开分发版本,而是单独交付的 Hive SDK,您将会遇到升级错误。因为 Hive SDK 管理器会检查与 Hive SDK 二进制文件的版本,因此无法升级未注册的版本。在这种情况下,请联系解决方案架构师。

  2. 如果您更改了 Hive SDK 源文件的任何部分,升级将失败。 Hive > Hive SDK 管理器 > 点击恢复 Hive SDK 以恢复原始版本,然后尝试升级。

Onestore构建与Google构建的区别

基本上,您可以像设置Google Build一样设置它。

在Hive SDK中,支付行为由hive_config.xml中设置的appid决定,因此您只需将appid值设置为Onestore的appid。

如果还有其他需要在Onestore/Google之间设置的关键信息,您可以以不同的方式进行设置。

SDK指南 > 基本配置 > 配置文件 > 概述