Unity智能广告扩展
unityUnity SDK和智能广告(SmartAds)扩展可以从deltaDNA位于GitHub的公共资源库下载。资源库包含了分析和智能广告SDK两部分源码。为了便于安装,它们被打包成相互分离的Unity包。分析SDK可以被独立安装,但智能广告SDK需要依赖于分析SDK。Unity包可以从GitHub直接下载,通过输入文件名查找到最新版本。通过 “资源(Assets->导入包(Import Package->定制包(Custom Package)”导入到Unity。

分析SDK可以支持Unity 4和Unity 5,但是智能广告SDK只能支持Unity 5。

这个SDK将在后台自动检索广告,因此当你的游戏准备好要显示广告时将会有一个可用的广告。

将智能广告集成到你的Unity项目中需要与我们提供的源码相分离的本地代码扩展。添加Unity扩展需要下载和导入 deltadna-smartads-*.unitypackage

我们支持iOS和Andriod平台。关于使用智能广告和支持的广告网络的更多信息可以从本文档网站智能广告参考部分找到。

用法

学习如何使用智能广告的最快方法是查阅 Assets\DeltaDNAAds\Example中的例子。 AdsDemo类展示了如何使用空闲广告和奖励广告。通过调用 RegisterForAds函数可以激活对智能广告的支持。这必须在开启了分析SDK以后才能够被调用。 DDNASmartAds类定义了一系列的事件,你可以通过标记回调来获知广告何时开启或关闭。

启用分析SDK。

标记广告。

你可以使用 DDNASmartAds.Instance.IsInterstitialAdAvailable()函数测试一个空闲广告是否可以显示。

通过调用 DDNASmartAds.Instance.ShowInterstitialAd()函数展示一个空闲广告。

你可以使用 DDNASmartAds.Instance.IsRewardedAdAvailable()函数测试一个奖励广告是否可以显示。

通过调用 DDNASmartAds.Instance.ShowRewardedAd()函数展示一个奖励广告。

事件

回调可以被添加到下述事件,从而获知广告何时开启或关闭。

  • OnDidRegisterForInterstitialAds – 当你成功将空闲广告嵌入到你的游戏时调用。
  • OnDidFailToRegisterForInterstitialAds – 当如果因某些原因一个空闲广告不能使用时调用。通过一个字符串参数报告可能的错误。
  • OnInterstitialAdOpened – 当一个空闲广告显示在屏幕时调用。
  • OnInterstitialAdFailedToOpen – 如果一个空闲广告显示失败时调用。
  • OnInterstitialAdClosed – 当用户关闭一个空闲广告时调用。
  • OnDidRegisterForRewardedAds – 当你成功将奖励广告嵌入到你的游戏时调用。
  • OnDidFailToRegisterForRewardedAds – 当如果因某些原因一个奖励广告不能使用时调用。通过一个字符串参数报告可能的错误。
  • OnRewardedAdOpened – 当一个奖励广告显示在屏幕时调用。
  • OnRewardedAdFailedToOpen – 如果一个奖励广告显示失败时调用。
  • OnRewardedAdClosed – 当用户关闭一个奖励广告时调用。一个布尔参数被标识用户是否完整的看完这个奖励广告。

决策点

你可以通过使用决策点来添加对哪一类玩家可以看到广告的控制。通过 ShowInterstitialAd("pointInGameToShowAnAd")或者 ShowRewardedAd("anotherPointInGameToShowAnAd")展示一个广告,在deltaDNA的后台中标记这个决策点。SDK将询问是否在玩家现在的场景中显示广告。当你第一次集成时必须使用决策点,如果决策点没有在deltaDNA的后台被标记,它将被忽略而且广告将一直显示。

iOS整合

我们使用CocoaPods来安装我们的智能广告库外加第三方广告网络库。一个最小化的Podfile被包含在DeltaDNAAds/Editor/iOS。它将添加我们的iOS智能广告Pod连同我们支持的所有广告网络到你的Xcode项目。一个后期处理构建Hook配备Unity生成的XCode项目以支持CocoaPods,并添加Podfile到iOS构建路径。你必须从命令行运行 pod install以安装这些Pod。最终打开由pod install创建的Unity-iPhone.xcworkspace。一个 pods.command文件也被包含,从而为你运行pod install和打开XCode工作空间。

所包含的Podfile将为所有deltaDNA支持的广告网络提供支持。你可以定制Podfile以通过使用Subspecs下载仅仅是你要求的广告网络。这个过程和本地的iOS智能广告SDK相同。更多的关于定制Podfile的细节可以从那里找到。

Android整合

我们提供一个Python脚本来帮助管理第三方广告网络Dependencies。在 Assets\DeltaDNAAds\Editor\Android编辑 config.json以添加你想要集成的广告网络。然后从命令行运行 download.py。这将下载和复制这些依赖的AARs及Jar文件到 Assets\DeltaDNAAds\Plugins\Android文件夹。Unity将在你编译APK时加载他们。

这个SDK已经在 Assets\DeltaDNA\Plugins\Android为Google Play Services预封装一些Dependencies来推送通知(也就是智能广告)。如果你想使用你自己版本的Google Play Services,你需要删除这些Dependencies(即play-services-base-7.8.0.aar,play-services-gcm-7.8.0.aar等)以避免在编译阶段的重复类定义错误。请注意我们无法保证我们的SDK可以在除了7.8.0版本以外的Google Play Services正常使用。

授权

该资源适用于Apache 2.0授权。