# 5. SDK 初始化

API 参数 说明
initSDK string appid, string appkey 初始化SDK。
initSDK string appid, string appkey, ATSDKInitListener listener 初始化SDK。
setLogDebug bool isDebug 是否开启SDK的Debug log,强烈建议在测试阶段开启,方便排查问题
setChannel string channel 设置渠道信息,用于TopOn后台区分广告数据,只允许设置字符的规则:[A-Za-z0-9_]
setSubChannel string subChannel 设置子渠道信息,只允许设置字符的规则:[A-Za-z0-9_]
initCustomMap Dictionary<string, string> customMap 自定义key-value,可用于App维度匹配后端下发的广告列表信息 App的自定义规则为全局设置,对全部Placement有效. 开发者可以在TopOn后台的流量分组中设置相应的自定义规则,具体参考流量分组使用说明
setCustomDataForPlacementID Dictionary<string, string> customData, string placementID 自定义key-value,可用于广告位维度匹配后端下发的广告列表信息 仅对当前Placement有效,您可以在App自定义规则基础上增加Placement特有的自定义规则.开发者可以在TopOn后台的流量分组中设置相应的自定义规则,具体参考流量分组使用说明
getUserLocation ATGetUserLocationListener listener 判断当前网络是否在欧盟地区
getGDPRLevel - 获取当前隐私数据的上报等级
showGDPRAuth - 展示GDPR授权页面

您可以通过以下代码初始化 SDK




//设置开启Debug日志(强烈建议测试阶段开启,方便排查问题)
ATSDKAPI.setLogDebug(true);


//SDK的初始化(必须配置)
ATSDKAPI.initSDK("a5c4ad280995c9", "7b4e37f819dbee652ef79c4506e14288");//Use your own app_id & app_key here

//询问用户是否同意收集隐私数据
private class GetLocationListener:ATGetUserLocationListener
{
    public void didGetUserLocation(int location)
    {
        Debug.Log("Developer callback didGetUserLocation(): " + location);
        if(location == ATSDKAPI.kATUserLocationInEU && ATSDKAPI.getGDPRLevel() == ATSDKAPI.UNKNOWN)
        {
            ATSDKAPI.showGDPRAuth();
        }
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

注: ATSDKAPI类中还有一个init方法,它接受一个侦听对象,您可以使用此侦听器获得SDK初始化完成事件(成功/失败)的通知:

初始化

由于后续操作(加载,显示等)不依赖于此事件,因此您可以使用上面显示的代码并在初始化SDK后立即调用加载API。