Skip to main content

集成及API说明

Unity平台接入SDK#

  1. 请在mac上下载解压sdk,否则会导致部分文件损坏,编译出错。
  2. 将TradPlusSDK文件夹放入Assets或AssetsPlugins等目录。
  3. 导出Xcode项目后,将TradPlusFrameworks目录放到Xcode项目文件夹内,并添加到项目中,不用的渠道自行删除。如果是unity2019导出的项目,请在Xcode项目里的UnityFramework文件夹点右键添加TradPlusFrameworks,添加的时候选择Create groups.
  4. 添加广告位 (以下为测试广告位,发布时请用TradPlus后台对应的正式广告位)
private readonly string _bannerAdUnit = "6008C47DF1201CC875F2044E88FCD287";
private readonly string _interstitialAdUnit = "063265866B93A4C6F93D1DDF7BF7329B";
private readonly string _rewardedVideoAdUnit = "160AFCDF01DDA48CCE0DBDBE69C8C669";
  1. SDK初始化,加载广告并添加回调方法。
TradPlus.InitializeSdk(new TradPlusBase.SdkConfiguration {
AppId = _appId, //tradplus后台的应用Id
});
TradPlus.LoadBannerPluginsForAdUnits(_bannerAdUnit);
TradPlus.LoadInterstitialPluginsForAdUnits(_interstitialAdUnit);
TradPlus.LoadRewardedVideoPluginsForAdUnits(_rewardedVideoAdUnit);
//banner加载成功 其他callback类似
TradPlusManager.OnAdLoaded += OnAdLoadedEventCustom;
//插屏加载结束,根据参数决定加载成功还是失败 其他callback类似
TradPlusManager.OnInterstitialAdAllLoaded += OnInterstitialAllLoadedEventCustom;
//激励视频加载结束,根据参数决定加载成功还是失败 其他callback类似
TradPlusManager.OnRewardedVideoAdAllLoaded += OnRewardedVideoAllLoadedEventCustom;
  1. 请求横幅广告
TradPlus.CreateBanner(_bannerAdUnit, TradPlus.AdPosition.BottomCenter);
  1. 请求插屏广告。
//建议将autoReload设为true,启用自动加载,后续不用再调用request方法。
TradPlus.RequestInterstitialAd(_interstitialAdUnit,true);
  1. 请求激励视频广告,建议将autoReload设为true,启用自动加载。
//public static void RequestRewardedVideo(string adUnitId, bool autoReload = false, bool isPangleTemplateRender = false)
//isPangleTemplateRender参数已废弃
//建议将autoReload设为true,启用自动加载,后续不用再调用request方法。
TradPlus.RequestRewardedVideo(_rewardedVideoAdUnit,true);
  1. 实现回调方法,在方法内调用各自的广告展示方法。实际使用时根据需求调整展示方法的位置。
private void OnAdLoadedEventCustom(string adUnitId, float height)
{
Debug.Log("OnAdLoadedEvent: " + adUnitId + " height: " + height);
//TradPlus.ShowBanner (adUnitId, true);
}
private void OnInterstitialAllLoadedEventCustom(bool isAdReady,string adUnitId)
{
Debug.Log("OnInterstitialAllLoadedEvent: " + adUnitId);
//if (isAdReady)
//TradPlus.ShowInterstitialAd (adUnitId);
}
private void OnRewardedVideoAllLoadedEventCustom(bool isReady,string adUnitId)
{
Debug.Log("OnRewardedVideoAllLoadedEvent: " + adUnitId);
//if (isReady)
//TradPlus.ShowRewardedVideo (adUnitId);
}
  1. 重新加载广告的时机
      如果 RequestInterstitialAd或RequestRewardedVideo设置自动autoReload为true,后续都不需要再调用。 否则需要在OnRewardedVideoAdClosed立即调用request方法,在OnRewardedVideoAdAllLoaded的isAdReady为false时,30秒后调用request方法。

关于上传至AppStore时的UIWebview警告#

    TradPlusFrameworks里的所有framework都已经移除了关于UIWebview的引用。需要注意的是,Unity部分版本也会用到UIWebview,具体如下: WechatIMG12.jpeg 来源:Unity官方对于上传AppStore时遇到UIWebview警告的处理

导出到xcode后的一些项目设置改动#

  • 如果接入admob,需要在info.plist里GADApplicationIdentifier设置admob平台的appid admob接入注意项
  • build settings里的改动
      enable module 设为yes //如无相关报错,可不设置     enable bitcode 设为NO
      other link flags 增加-ObjC
      C language Dialet 改为compile default //如无相关报错,可不设置     general 里将MoPub.framework和KSAdSDK.framework设置为Embed & Sign //如果未用到这两个渠道,不用设置,请删掉TradPlusFrameworks下对应文件夹。
  • 添加常用系统依赖框架
    libz.tbd
    libxml2.tbd
    libresolv.tbd libbz2.tbd EventKit.framework EventKitUI.framework WechatIMG8.jpeg