Unity Ads SDK iOS集成指南,unity接入sdk教学Unity Ads SDK iOS集成指南下载最新版本的 Unity Ads FrameworkUnity iOS 2.0 SDK 最低支持 iOS 7.0大纲Quickstart 指南新建游戏项目 Project代码集成SwiftObjectiv......
下载最新版本的 Unity Ads Framework
Unity iOS 2.0 SDK 最低支持 iOS 7.0
大纲
Quickstart 指南
新建游戏项目 Project
代码集成
Swift
ObjectiveC
高级操作指南
Quickstart 指南
在Unity Ads Dashboard 新建一个游戏项目 Project
使用您的 UDN 账户登录 UnityAds开发者操作台.
如果您还没有 UDN 账户,请注册
从开发者后台选择 Projects 点击 NEW PROJECT 新建一个项目.
提示: 如果您的游戏在美国发布且专门供美国13岁以下的儿童使用,依据美国儿童隐私保护法,您需要点击COPPA勾选框。全年龄段适用的游戏则不需要勾选此项。
选中新建的项目 Settings Project Settings , 您可以看到Unity自动为iOS和Android平台分别生成的对应 GAME ID 。您将会在初始化 Unity Ads 时使用对应的 Game ID 。
Locate your Game ID
选中新建的项目 Monetization Placements , 您可以查看广告位,Unity会在您新建项目时默认为您生成2个广告位,您也可以手动添加更多。
video (默认广告位 / 5秒后允许用户跳过广告)
rewardedVideo (不可跳过广告)
可选: 通过Platform的设置选项开启测试模式以接收测试广告,游戏发布上线前,请您务必记得回到此处关闭测试模式,以免影响您的广告收入。
Projects 选中一个项目 Settings Project Settings Test Mode 选择一个平台 Force test mode ON
代码集成
Swift 集成 Unity Ads
点击跳转ObjectiveC方式
导入Unity Ads
下载最新版本的 Unity Ads Framework
拖拽UnityAds.framework到您的项目,添加时勾选 Copy items.
在 ViewController 中导入UnityAds,并实现 UnityAdsDelegate 协议
import UnityAds
class GameViewController: UIViewController, UnityAdsDelegate {
在 ViewController 中实现UnityAdsDelegate 协议的如下回调方法
unityAdsReady
unityAdsDidStart
unityAdsDidError
unityAdsDidFinish
func unityAdsReady( placementId: String) { }
func unityAdsDidStart( placementId: String) { }
func unityAdsDidError( error: UnityAdsError, withMessage message: String) { }
func unityAdsDidFinish( placementId: String, with state: UnityAdsFinishState) { }
到此步骤,您的项目应该可以成功通过编译。
初始化 Unity Ads 和 展示广告
使用 UnityAds.initialize() 初始化SDK。
将您从开发者后台获取的 Game ID 以String类型,以及代表ViewController的 self 作为参数传入:
override func viewDidLoad() {
super.viewDidLoad()
UnityAds.initialize(1003843, delegate: self)
}
提示:
Unity Ads 初始化一般需要至少10秒,建议您尽量在游戏生命周期的早期进行初始化。
Unity Ads 只初始化一次. SDK 2.0 的网络重连功能更加可靠. 您可以在没有网络连接的情况下尝试初始化, 之后 SDK 会在网络可用的时候再请求广告.
检查广告加载完成 ready 后,选择一个合法的 Placement ID 作为参数,和 self 一起传入 UnityAds.show() 来展示广告。
提示:
如果不指定 Placement ID,则展示 Default placement ID, 您可以在开发者后台查看您的 Default placement ID。
Unity Ads SDK 2.0 在任何一次调用展示(show)方法时候, 都需要传入一个 ViewController 作为参数 (如示例中的self ).
let placement = rewardedVideo
if (UnityAds.isReady(placement)) {
//广告加载完成 且 广告位合法
UnityAds.show(self, placementId: placement)
}
到此步骤,您应该可以在运行时成功观看到广告展示。
对看完视频的玩家给予奖励
对看完视频的玩家给与奖励,可以提高玩家的参与度,从而带来更高的收入。常见的奖励方式如:
免费的游戏货币
一定时长的性能提速
挑战失败后继续游戏
游戏道具 或 解锁关卡
通过在 unityAdsDidFinish() 回调方法里检查广告视频没有被跳过,确认玩家观看完整视频后再给与奖励。
func unityAdsDidFinish( placementId: String, with state: UnityAdsFinishState) {
if state != .skipped{
// 奖励用户
}
}
到此步骤,您应该可以成功展示广告和奖励用户。
ObjectiveC 集成 Unity Ads
导入Unity Ads
下载最新版本的 Unity Ads Framework
拖拽UnityAds.framework到您的项目,添加时勾选 Copy items.
在 ViewController(.h)文件中导入UnityAds,并实现 UnityAdsDelegate 协议
#import UnityAds/UnityAds.h
@interface ViewController : UIViewControllerUnityAdsDelegate
在 ViewController(.m)文件中实现UnityAdsDelegate 协议的如下回调方法
(void)unityAdsReady:(NSString *)placementId{
}
(void)unityAdsDidError:(UnityAdsError)error withMessage:(NSString *)message{
}
(void)unityAdsDidStart:(NSString *)placementId{
}
(void)unityAdsDidFinish:(NSString *)placementId withFinishState:(UnityAdsFinishState)state{
}
到此步骤,您的项目应该可以成功通过编译。
初始化 Unity Ads 和 展示广告
使用 UnityAds.initialize() 初始化SDK。
将您从开发者后台获取的 Game ID 以String类型,以及代表ViewController的 self 作为参数传入:
(void)viewDidLoad {
[super viewDidLoad];
[UnityAds initialize:@1088169 delegate:self];
}
提示:
Unity Ads 初始化一般需要至少10秒,建议您尽量在游戏生命周期的早期进行初始化。
Unity Ads 只初始化一次. SDK 2.0 的网络重连功能更加可靠. 您可以在没有网络连接的情况下尝试初始化, 之后 SDK 会在网络可用的时候再请求广告.
检查广告加载完成 ready 后,选择一个合法的 Placement ID 作为参数,和 self 一起传入 UnityAds.show() 来展示广告。
提示:
如果不指定 Placement ID,则展示 Default placement ID, 您可以在开发者后台查看您的 Default placement ID。
Unity Ads SDK 2.0 在任何一次调用展示(show)方法时候, 都需要传入一个 ViewController 作为参数 (如示例中的self ).
if ([UnityAds isReady:@rewardedVideo]) {
//广告加载完成 且 广告位合法
[UnityAds show:self placementId:@rewardedVideo];
}
到此步骤,您应该可以在运行时成功观看到广告展示。
对看完视频的玩家给予奖励
对看完视频的玩家给与奖励,可以提高玩家的参与度,从而带来更高的收入。常见的奖励方式如:
免费的游戏货币
一定时长的性能提速
挑战失败后继续游戏
游戏道具 或 解锁关卡
通过在 unityAdsDidFinish() 回调方法里检查广告视频没有被跳过,确认玩家观看完整视频后再给与奖励。
(void)unityAdsDidFinish:(NSString *)placementId withFinishState:(UnityAdsFinishState)state{
if (state != kUnityAdsFinishStateSkipped) {
//奖励用户
}
}
到此步骤,您应该可以成功展示广告和奖励用户。
特别声明:以上文章内容仅代表作者本人观点,不代表ESG跨境电商观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与ESG跨境电商联系。
二维码加载中...
使用微信扫一扫登录
使用账号密码登录
平台顾问
微信扫一扫
马上联系在线顾问
小程序
ESG跨境小程序
手机入驻更便捷
返回顶部