integration guide android - unity-cn/unityads-help-cn GitHub Wiki
注意: 这篇是Unity Ads 1.5.x集成文档, Unity Ads 2.0 已经推出, 1.5.x将只会在未来有限的时间内获得支持. Unity Ads 2.0 的文档请参考这里
注意: 这篇是Android开发时候集成的文档, 并不是使用Unity Editor开发时的集成方法. 如果需要查看Unity开发时候的集成文档, 请查阅本站的其他文档.
Unity Ads的集成包括两部分:
- 一部分是在游戏中集成
- 另一部分是在开发者控制台上进行配置 Unity Ads Publisher Dashboard
如果还没下载的话, 可以 从 Github 上下载 Unity Ads SDK.
大纲:
- 在你的Android项目中导入
unity-ads
库 - 初始化Unity Ads并传入Game ID
- 检查有广告(Campaign)可以展示
- 展示广告
- 待用户看完广告后奖励用户游戏内道具或货币
使用 unity-ads.aar
这个包里有所有Android SDK所需的文件.
选择 'File' > 'New' > 'New Module', 然后选择 'Import .JAR/.AAR Package' 导入 unity-ads.aar
包.
之后把导入的Unity Ads包加成Android项目的依赖(dependency). 右键点击app module, 选择 'Open Module Settings', 然后选择 'Dependencies' tab. 添加一个 'Module Dependency', 选择unity-ads作为module dependency.
Unity Ads API UnityAds
类. 在初始化 UnityAds
的时候, 你需要传入activity, gameid和一个实现了UnityAdsListener
的实例.
UnityAds.init((Activity)this, "11001", (UnityAdsListener)this);
你可以开启 调试模式(debug mode) 来获得更丰富的log. 关掉调试模式后需要重新编译才能发布. 测试模式(test mode) 可以开启测试广告, 来限制它.
UnityAds.setDebugMode(true);
UnityAds.setTestMode(true);
在Activity切换或生命周期改变的时候, 我们希望让Unity Ads能够知道当前的Activity以保证它能够正确的工作, 可以在onResume里加上这句changeActivity(Activity)
来实现.
例如:
@Override
public void onResume()
{
super.onResume();
UnityAds.changeActivity(this);
}
UnityAdsListener
里最重要的方法是, onFetchCompleted
和 onFetchFailed
, 用来通知用户广告的可用状况.
在 init
之后Unity Ads会自动调用这2个方法, 如果有广告可用的话就调用onFetchCompleted
, 否则的话就调用onFetchFailed
.
另外一个最重要的方法是
-
onVideoCompleted(String itemKey, boolean skipped)
– 在视频结束时被调动. 在奖励式视频广告中也用于给玩家奖励.
注意: itemKey 已经不用了.
Unity Ads SDK 初始化完成后, 就可以展示广告啦. 你需要使用 canShow
方法检查广告准备好了. 默认情况下使用默认(default)的广告位(placement).
if ( UnityAds.canShow() )
{
UnityAds.show();
}
这个功能让开发者可以在 Publisher Dashboard 上设置广告位, 并针对不同的广告位进行不同的设置.
public boolean setZone(String zoneId)
如果 zone ID 不存在, setZone
会返回 false
.
setZone
和 canShow
都返回 true
之后才能展示广告.
For example:
if ( UnityAds.setZone("rewardedVideo") && UnityAds.canShow() )
{
UnityAds.show();
}
zoneId
是在 Publisher Dashboard 里定义的广告位 (Integration ID, Ad-placement).
你可以通过 getZone
方法获得当前激活中的ZoneID.
如果你并不打算使用奖励式视频广告来奖励玩家, 可以跳过这一节.
注意: Item key 已经废弃了..
视频完成播放后, onVideoCompleted(String itemKey, boolean skipped)
方法会被调用.
如果 skipped 是 false, 说明玩家看完了视频, 你就可以根据zone id来奖励玩家了.
如果您在集成时候遇到任何问题, 可以向 [email protected] 发邮件联系技术支持寻求帮助. 技术支持是支持中文的.
我们建议使用Android Studio进行集成和开发. 但如果受限于您的环境仍然必须使用Eclipse的话, 可以参考这个文档