# 初始化广告单元

# GDPR

Mint Mediation聚合平台(Android SDK版本1.0.2.0及更高版本)支持发布商将用户的同意选择传达给中介网络(对于受支持的网络)。

要使用Mint Mediation SDK的API更新用户的同意状态,请使用以下方法:

如果用户同意接收个性化广告,请将以下标志设置为true:

Mint.Agent.setGDPRConsent(true);

如果用户不同意接收个性化广告,请将以下标志设置为false:

Mint.Agent.setGDPRConsent(false);

# CCPA(可选)

Mint Mediation聚合平台(Android SDK版本1.0.2.0及更高版本)支持发布商根据《加利福尼亚消费者隐私法》(CCPA)限制最终用户的个人信息销售。

应基于 setUSPrivacyLimit 设置(将其值设置为true或false)来处理位于加利福尼亚的特定用户的个人信息通知。

如果用户不允许出售个人信息:

Mint.Agent.setUSPrivacyLimit(true);

如果用户允许出售个人信息:

Mint.Agent.setUSPrivacyLimit(false);

# COPPA(可选)

为了保护孩童,Mint Mediation不投放广告于年纪小于13岁的青少年,请务必遵守以下规范:

在Mint Mediation后台添加应用的流程中,只有勾选COPPA兼容性选项的应用才能成功创建广告位。请确认您的应用是否儿童导向的移动应用程序,如果是,请务必不要勾选该选项。 如果您的应用是非儿童导向的移动应用程序,但是覆盖的用户有可能包含13岁以下人群,则请您首先在应用中实施流程来明确应用程序当前设备主体是否已满13岁,如果该设备主体未满13岁则请务必不要在应用程序中初始化Mint Mediation SDK并请求和展示广告。如果您的应用程序初始化了Mint Mediation SDK并请求和展示广告,那我们默认为您已确认该应用程序当前的设备主体已满13岁。 Mint Mediation聚合平台(Android SDK版本1.3及更高版本)支持 setAgeRestricted 标志,该标志可帮助发布者通过其用户基础获利,同时又遵守《儿童在线隐私保护法》(COPPA)。

您应该指出用户是否属于儿童。如果已知用户属于年龄限制类别(即13岁以下),请将以下标志设置为true:

Mint.Agent.setAgeRestricted(true);

如果已知用户不在年龄限制的类别(即13岁或以上)中,请将以下标志设置为false:

Mint.Agent.setAgeRestricted(true);

建议您在SDK初始化前设置。

如果您使用欺骗手段在Mint Mediation后台创建了儿童导向的移动应用程序,或未主动实施流程去确定当前应用程序设备主体是否未满13岁,或确定当前应用程序设备主体未满13岁却依旧初始化 Mint Mediation SDK并进行广告加载和展示,Mint Mediation将不承担法律责任,并保留追究您的法律责任的权利。

# 细分流量(可选)

您需要将用户的详细信息告知我们的服务器,以便SDK能够根据用户所属的细分来投放广告。

Mint Mediation支持两种将数据传输到我们的服务器以概述用户细分的方法,即:

  1. 设备属性:Mint Mediation SDK自动收集与用户设备有关的某些标准参数,例如位置、设备型号、设备制造商、应用程序版本、操作系统等。您无需将此数据传达给我们。

  2. 用户属性:必须通过API上报全面的用户数据,例如年龄、性别、IAP等(请参阅受支持的详细属性完整列表以及以下说明)。请按照说明向我们发送您的用户详细信息,以便我们的SDK可以根据您在Mint Mediation平台上定义的信息对不同的用户进行分类。

在Mint Mediation平台上定义用户详细信息后,您应该将用户的详细信息通知给我们的服务器。

支持的用户属性

User Properties Type Limitation Description
Age int 1-99 用户年龄支持Mint Mediation SDK 1.0及以上
Gender String male or female 用户性别支持Mint Mediation SDK 1.0及以上
IAP float 1-999999.99 用户在应用内购买的总金额

设置用户年龄

Mint.Agent.setUserAge(20);

设置用户性别

// male or female
Mint.Agent.setUserGender("male");

上报IAP数据
IAP是 in-App Purchase的缩写,中文称为“应用内购买”,表示该设备的用户在应用内购买虚拟商品的花费。您可以通过SDK的setIAP接口上报用户购买虚拟商品的金额数据,这些IAP数据可以帮助我们为您的用户更加精准的投放广告,从而获得更好的广告收益。

Mint.Agent.setIap(float count, String currency); 

currency 是一个代表货币代码的字符串类型参数,按ISO国际标准组织的 ISO 4217:2008 (opens new window) 标准定义。 您可以在SDK初始化后的任何时候上报IAP数据,比如在初始化回调InitCallback 的onSuccess方法中处理,在用户发生IAP购买行为的时候,您可以调用该方法及时更新IAP数据。

Mint.Agent.setIap(12.30, 'USD');

WARNING

注意:设置姓名与年龄需要在Mint SDK初始化之前调用,上报IAP数据务必在Mint SDK初始化成功之后调用,否则可能会导致数据丢失。

# 关闭Mint SDK自动预加载广告(可选)

Mint Mediation SDK默认会在初始化成功后自动预加载广告,如果您不希望SDK自动预加载广告,可以在初始化成功后调用以下方法关闭自动预加载广告功能:

// 关闭广告预加载
Mint.Agent.disableAdPreload();

WARNING

注意:关闭广告预加载功能请务必在Mint SDK初始化之前调用。

# 初始化Mint SDK

在加载广告之前,通过使用您的AppKey调用 Mint.Agent.init("appKey") 来初始化Mint Mediation SDK。 最好在应用程序启动时完成此操作,只需执行一次即可。 这是一个示例,说明如何在附加到GameObject的脚本的 Start( ) 方法内调用 Init( ) 。

public void Start(){
  // 开启调试模式,输出更多调试信息,务必在发布之前关闭
  Mint.Agent.debug(true);
  // 初始化之前务必设置GDPR
  Mint.Agent.setGDPRConsent(GDPR_CONSENT);
  Mint.Agent.init("Your AppKey");
} 

Mint Unity插件会触发初始化事件,以通知您SDK初始化的结果。 添加以下代码以注册到事件:

public class InitScript : MonoBehaviour {
  void Start() 
  {
    MintEvents.onSdkInitSuccessEvent += SdkInitSuccessEvent;
    MintEvents.onSdkInitFailedEvent += SdkInitFailedEvent;
  } 

  void SdkInitSuccessEvent()
  {
    Debug.Log("SdkInitSuccessEvent");
  }

  void SdkInitFailedEvent(string error)
  {
    Debug.Log("SdkInitFailedEvent: " + error);
  }
}

# 检查是否初始化

调用init()方法后,您还可以使用以下代码来确定SDK是否已成功初始化。

// To determine the result of init()
Mint.Agent.isInitialized()

# 展示价格回调(可选)

Mint Mediation SDK 支持广告展示价格回调,如果您需要获取每次广告展示的价格回调,您可以在初始化之后注册以下回调:


  MintEvents.onImpressionDataEvent += ImpressionDataEvent;

  private void ImpressionDataEvent(MintImpressionData data) {
    // The revenue of the impression.
    double revenue = data.revenue;
    // The currency of the revenue. For example, "USD".
    string currency = data.currency;
    // The country of the impression. For example, "US".
    string country = data.country;
    // The placement ID of the impression. Mint Mediation uses placement IDs to identify different ad placements in your app.
    string placementId = data.placementId;
    // The mediation ID of the impression. For example, "AdMob", "Unity", "Facebook", "AdColony".
    string mediationId = data.mediationId;
    // The ad type of the impression. For example, "Banner", "Interstitial", "RewardedVideo", "Splash", "RewardedInterstitial".
    string adType = data.adType;
    // The value type of the impression. 0 for Mint Mediation SDK, 1 for Ad Network SDK.
    int valueType = data.valueType;
  }

# 检测您的集成(可选)

Mint Mediation SDK 在开启调试模式的情况下,会在控制台输出一些调试信息,您可以通过这些信息来检测您的集成是否正确:

// 建议在初始化之前打开调试模式
Mint.Agent.debug(true);

初始化成功后,Mint SDK开始检查广告SDK集成情况,会输出以下信息:

integration check start

如果您的集成正确,Mint SDK会输出您当前集成的adapter以及广告sdk版本信息:

AdMob adapter version 21.1.0.1
AdMob sdk version 21.1.0

如果您的集成不正确,Mint SDK会输出以下警告或错误信息:

IronSource adapter version 7.2.3.1.1 is not support, support version is 7.2.3.1.2
IronSource sdk version 7.2.3 is not support, support version is 7.2.3.1

检查集成完成后,Mint SDK会输出检查完成的日志:

integration check finish