跳轉至

條款

條款和條件是規範服務提供者與用戶之間權利、義務和責任的文件。在提供遊戲服務時,應用程式開發者必須通知或獲得遊戲用戶對使用條款、隱私政策等的同意。


Hive SDK 配置提供用戶在啟動應用程式時註冊和管理他們必須同意或拒絕的條款的能力。與配置中提供的條款相關的功能如下。

  • 審查條款和條件
  • 刪除同意歷史
  • COPPA 合規性
  • GDPR 合規性
  • 驗證法定代表人的同意
Info

有關註冊術語的更多資訊,請參閱控制台指南 > 提供 > 術語

審查條款

Hive SDK 根據初始化時使用的 IP 地址來確定用戶的訪問國家,並將其與在 Hive 控制台中註冊的特定國家的條款進行匹配以進行顯示。進入遊戲後,無論是否顯示特定國家的條款,所有用戶都應能根據應用程序的語言值在應用內查看條款和隱私政策,並應提供一個功能(例如,重新查看條款的按鈕)。

要實現條款審查,首先在 Hive 控制台中註冊條款。之後,實現當在應用中按下條款審查按鈕時執行 AuthV4.showTerms()。Hive SDK 會根據應用的語言值自動選擇並顯示條款。


這是一段示範代碼,揭示了服務條款。

API 參考: Unity®

using hive;    
    AuthV4.showTerms((ResultAPI result) => {    
        if (result.isSuccess()) {    
            // API call success    
        }    
});

API 參考: C++

#include <HIVE_SDK_Plugin/HIVE_CPP.h>    
    using namespace std;    
    using namespace hive;    
    AuthV4::showTerms([=](ResultAPI const & result) {    
        if (result.isSuccess()) {    
            // API call success    
        }    
});

API 參考: Kotlin

import com.hive.AuthV4;    
    import com.hive.ResultAPI;
    AuthV4.showTerms(object : AuthV4.AuthV4ShowTermsListener {    
        override fun onAuthV4ShowTerms(result: ResultAPI) {    
            if (result.isSuccess) {    
                // API call success    
            }    
        }    
})

API 參考: Java

import com.hive.AuthV4;    
    import com.hive.ResultAPI;    
    AuthV4.INSTANCE.showTerms(result -> {    
        if (result.isSuccess()) {    
            // API call success    
        }    
});

API 參考: Swift

import HIVEService    
    AuthV4Interface.showTerms() { result in    
        if result.isSuccess() {    
            // API call success    
        }    
}

API 參考: Objective-C

#import <HIVEService/HIVEService-Swift.h>    
    [HIVEAuthV4 showTerms:^(HIVEResultAPI *result) {     
        if ([result isSuccess]) {    
            // API call success    
        }    
}];
#include "HiveAuthV4.h"

FHiveAuthV4::ShowTerms(FHiveAuthV4OnShowTermsDelegate::CreateLambda([this](const FHiveResultAPI& Result) {
        if (Result.IsSuccess()) {
                // Call successful
        }
}));

刪除協議歷史(基於設備的條款)

如果您使用基於設備的條款,一旦用戶第一次啟動遊戲時同意遊戲條款,該同意歷史將保留在用戶的設備上。下面的AuthV4.resetAgreement方法將刪除此歷史記錄。

using hive;

AuthV4.resetAgreement();
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
using namespace hive;

AuthV4::resetAgreement()
import com.hive.AuthV4;

AuthV4.resetAgreement()
import com.hive.AuthV4;

AuthV4.INSTANCE.resetAgreement();
import HIVEService

AuthV4Interface.resetAgreement()
#import <HIVEService/HIVEService-Swift.h>

[AuthV4Interface 重置協議]
#include "HiveAuthV4.h"

FHiveAuthV4::ResetAgreement();


當使用基於設備的術語時,如果用戶在刪除其帳戶後重新啟動遊戲,則刪除的帳戶的同意信息將保留在設備上,並且不會顯示條款同意彈出窗口。要在刪除帳戶後重新啟動應用程序時重新顯示條款同意彈出窗口(即在初始化 Hive SDK 時),請按照以下步驟操作。

  1. 呼叫 AuthV4.resetAgreement 以刪除先前儲存的協議資訊。\n2. 呼叫 AuthV4.setup 以執行 Hive SDK 初始化。\n3. 在 SDK 初始化過程中,協議同意彈出窗口將自動重新出現。
Note

基於帳戶的條款 不支持刪除同意歷史。要選擇基於設備的條款或基於帳戶的條款,您需要在 設置 中修改 agreementDetermineBase

Coppa 合規性

在美國(美國領土)推出針對13歲以下用戶的應用程式時,您必須遵守COPPA(兒童在線隱私保護法)。COPPA是一項美國法律,旨在保護13歲以下兒童的隱私。如果用戶是13歲以下的兒童,則該應用程式必須符合COPPA規定的所有要求,包括以下示例。

  • 認證方法僅提供訪客登錄
  • 某些用戶無法接觸到追蹤廣告
  • 無法發送推播通知
  • 禁止應用內聊天
  • 無法保存對應用客戶服務的查詢
  • 在某些條件下無法收集個人信息
Warning

有關 COPPA 合規性的更多信息,請參閱 COPPA。為了遵守 COPPA,您必須檢查 COPPA 所要求的所有要求。

Note

在PC環境中,根據COPPA,13歲以下的用戶在回應時無法訪問該應用程序。根據COPPA,13歲以下的用戶必須使用訪客帳戶登錄,但Hive SDK不支持在PC環境中的訪客登錄。

檢查是否未滿 13 歲

Hive SDK 提供了 AuthV4.getAgeGateU13 方法,以檢查用戶是否未滿 13 歲,以符合 COPPA 規定。此方法必須在應用用戶已在條款彈出窗口中選擇他們是否未滿 13 歲後調用。如果用戶未滿 13 歲,則該方法返回的值為 true。開發人員必須使用此值遵守 COPPA 要求,只提供訪客登錄,不顯示某些廣告等。

例如,如果此值為 true,則開發人員應僅允許訪客登錄,並且不應支持與其他 IdP 帳戶 的集成,例如 Google 帳戶或 Facebook 帳戶,並應禁用帳戶鏈接按鈕或將其完全從 UI 中移除。

使用 Hive Adiz 或 Hive Adkit 时,只有符合 COPPA 要求的广告会在应用内广告显示时自动展示给用户。如果开发者不使用 Hive Adiz 或 Hive Adkit,他们必须自行实现代码,以确保只显示符合 COPPA 要求的应用内广告。

ageGateU13的值為true時,Hive SDK內部的行為變化如下。

平台 描述
Android * 在顯示退出彈出窗口時不顯示更多遊戲按鈕。
* 未收到遠程推送,推送API無法使用。
iOS * 在調用AuthV4.setup()Auth.initialize()時不顯示請求推送權限的彈出窗口。
* 推送API無法使用。


API 參考: AuthV4.getAgeGateU13

using hive;    

Boolean ageGateU13 = AuthV4.getAgeGateU13();
#include "HiveAuthV4.h"

bool bAgeGateU13 = FHiveAuthV4::GetAgeGateU13();

API 參考: AuthV4 ::getAgeGateU13

#include <HIVE_SDK_Plugin/HIVE_CPP.h>    
    using namespace std;    
    using namespace hive;    

bool ageGateU13 = AuthV4::getAgeGateU13();

API 參考: AuthV4.getAgeGateU13

import com.hive.AuthV4;

val ageGateU13 = AuthV4.getAgeGateU13()

API 參考: AuthV4.INSTANCE.getAgeGateU13

import com.hive.AuthV4;    

boolean ageGateU13 = AuthV4.INSTANCE.getAgeGateU13();

API 參考: AuthV4Interface.getAgeGateU13

import HIVEService    

Bool ageGateU13 = AuthV4Interface.getAgeGateU13()

API 參考: HIVEAuthV4 getAgeGateU13

#import <HIVEService/HIVEService-Swift.h>    

BOOL ageGateU13 = [HIVEAuthV4 getAgeGateU13];

GDPR 合規性

應用程式開發者必須遵守GDPR(一般資料保護條例),如果他們向歐洲的資料主體提供商品或服務,無論他們是否在歐洲有商業存在。

為了遵守GDPR,您需要在Hive控制台中設置GDPR條款曝光,然後在應用程序用戶同意條款時調用Configuration.getAgeGateU16Agree()方法。

Note

有關GDPR合規性的更多信息,請查看官方GDPR網站

GDPR條款協議詢問

Hive SDK 提供了 Configuration.getAgeGateU16Agree() 方法,用於返回在受 GDPR 影響的國家中,16 歲以下的用戶是否已同意 GDPR 條款。此方法必須在 16 歲以下的用戶在條款彈出窗口中選擇其同意狀態後調用。如果此值為 true,則表示 16 歲以下的用戶已同意條款;如果為 false,則表示相反。

當使用第三方庫來判斷用戶是否未滿16歲並相應地限制應用功能時,您可以使用Configuration.getAgeGateU16Agree()方法。例如,您可以使用此方法來確保不向兒童用戶提供個性化廣告。

using hive;

Boolean ageGateU16 = Configuration.getAgeGateU16Agree();
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
using namespace std;
using namespace hive;

bool ageGateU16Agree = Configuration::getAgeGateU16Agree();
import com.hive.Configuration;

val ageGateU16Agree = Configuration.ageGateU16Agree()
import com.hive.Configuration;

boolean ageGateU16Agree = Configuration.INSTANCE.getAgeGateU16Agree();
import HIVEService

var ageGateU16Agree: Bool = ConfigurationInterface.getAgeGateU16Agree()
#import <HIVEService/HIVEService-Swift.h>

BOOL ageGateU16 = [HIVEConfiguration getAgeGateU16Agree];

如果應用程序使用法定監護人同意條款,應用程序用戶可以通過調用Configuration.getLegalGuardianConsentAgree()方法來接收他們是否已獲得法定監護人同意。如果值為true,則表示已給予同意。

using hive;    

Boolean legalGuardianConsentAgree = Configuration.getLegalGuardianConsentAgree();
#include <HIVE_SDK_Plugin/HIVE_CPP.h>    
using namespace std;    
using namespace hive;    

bool ageGateU16Agree = Configuration::getLegalGuardianConsentAgree();
import com.hive.Configuration    

val legalGuardianConsentAgree = Configuration.legalGuardianConsentAgree()
import com.hive.Configuration;    

boolean legalGuardianConsentAgree = Configuration.INSTANCE.getLegalGuardianConsentAgree();
import HIVEService    

var legalGuardianConsentAgree: Bool = ConfigurationInterface.getLegalGuardianConsentAgree()
#import <HIVEService/HIVEService-Swift.h>    

BOOL legalGuardianConsentAgree = [HIVEConfiguration getLegalGuardianConsentAgree];