GlossomAds SDK
・セットアップ
CocoaPodsで設置
GlossomAds SDK 可以通过 CocoaPods 安装。
可以在 Podfile 中按以下方式安装:
pod 'GlossomAds'
Frameworkをダウンロードして設置
- 请将
GlossomAds.framework
添加到您的项目中 - 打开 TARGETS > Build Phases > Link Binary With Libraries,并添加以下库和框架:
AVFoundation.framework
AdSupport.framework
CoreGraphics.framework
CoreMedia.framework
CoreTelephony.framework
MediaPlayer.framework
StoreKit.framework
SystemConfiguration.framework
UIKit.framework
WebKit.framework
SafariServices.framework
(v1.10.0以后添加)
・从iOS14开始必要的设置
关于更改默认浏览器设备的导航问题
从iOS14开始,将默认浏览器设置为Safari以外的芳,在单击某些广告时可能会出现导航不良的情况。为此,请通过Info.plist进行以下设置以应对。
<key>LSApplicationQueriesSchemes</key>
<array>
<string>http</string>
<string>https</string>
</array>
・SDK实现
视频奖励广告 / 视频插屏广告 / 视频横幅广告
介绍实现视频广告的方法。
以下是Objective-C的实现方式,但也可以使用Swift以相同的方式进行实现。
初始化
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[GlossomAds initialize:/* App ID */
zoneIds:@[/* Zone IDs */]
clientOptions:@{/* Options */}]
return YES;
}
- 广告Zone的初始化只需进行一次,如果使用多个zone,请将所有生成的zones全部放入,或对每个Zone进行多次初始化。
- 请在应用启动的直调用,如
application:didFinishLaunchingWithOptions:
生命周期等方法。
广告获取
[GlossomAds load:/* Zone ID */
notifyTo:/* GlossomAdsLoadDelegate */];
在播放广告之前,需要获取广告信息。
可以通过GlossomAdsLoadDelegate
接收通知来确认广告库存是否可检查,或者广告获取失败的情况。
注意: 如果不进行初始化,则load调用将必定失败。
typedef NS_ENUM(NSInteger, GlossomAdLoadError) {
GlossomAdsLoadErrorNoAd,
GlossomAdsLoadErrorNetworkError,
GlossomAdsLoadErrorInvalidResponse,
GlossomAdsLoadErrorUnknown
};
- (void)onAdLoadSuccess:(nonnull NSString *)zoneId;
- (void)onAdLoadFail:(nonnull NSString *)zoneId error:(GlossomAdLoadError)error;
广告显示
准备好广告后,根据广告类型调用相应的播放函数即可显示广告。
视频奖励广告播放
- (IBAction)triggerVideo:(UIButton *)button {
if ([GlossomAds isReady:/* Reward Zone ID */]) {
[GlossomAds showRewardVideo:/* Reward Zone ID */ delegate:self];
}
}
视频插播广告播放
- (IBAction)triggerVideo:(UIButton *)button {
if ([GlossomAds isReady:/* Interstitial Zone ID */]) {
[GlossomAds showVideo:/* Interstitial Zone ID */ delegate:self];
}
}
视频横幅广告显示
- (IBAction)triggerVideo:(UIButton *)button {
if ([GlossomAds isReady:/* BillboardAd Zone ID */]) {
[GlossomAds showBillboardAd:kGlossomAdsBillboardAdZoneId
delegate:self
layoutVertical:/* GlossomBillBoardAdLayoutVertical */
layoutHorizontal:/* GlossomBillBoardAdLayoutHorizontal */];
}
}
GlossomBillBoardAdLayoutVertical
指定垂直画面的布局
顶部、中部(默认)、底部
GlossomBillBoardAdLayoutHorizontal
指定横向画面的布局
左侧(默认)、中部、右侧
仅视频奖励广告提供奖励
在上述视频显示时,请在指定的Delegate类中实现delegate方法,并在其中为用户分配奖励的实现。
@import GlossomAds;
@interface ViewController : UIViewController<GlossomAdsRewardAdDelegate>
- (void)onGlossomAdsReward:(NSString *)zoneId success:(BOOL)success {
if (success) {
// ユーザに報酬を付与する
}
}
第二次及以后的广告播放
第一次播放广告后,要再次播放广告则需要从广告获取(Load)开始重新循环。
① Zone初期化
② 広告取得
③ 再生
④ 広告取得
...
视频原生广告
从v1.10版本开始,新增了视频原生格式。提供可设置大小的视频视图,可以在应用内任意位置粘贴。
视频原生广告实现
以下为Objective-C的实现,但Swift也可以使用类似的方法实现。具体实现请参考sample内的NativeAdViewController.m
。
- ZoneID初始化
[GlossomAds initialize:/* App ID */
zoneIds:@[/* Zone IDs */]
clientOptions:@{/* Options */}]
- 创建视频原生的实例
self.nativeAd = [[GlossomAdsNativeAd alloc]
initWithZoneId:/* 動画NativeのZone ID */];
// callback受けるためにdelegateを設定
self.nativeAd.delegate = self;
- 请求视频原生广告
[self.nativeAd loadAd];
// load成功する時のcallback
- (void)onGlossomNativeAdDidLoad:(nonnull GlossomAdsNativeAd *)nativeAd;
// load失敗する時のcallback
- (void)onGlossomNativeAdDidFailWithError:(nullable NSError *)error;
- 视频原生的视频视图
// 動画表示したい時の直前、動画Viewを作成
[self.nativeAd setupMediaView];
// 好きな場所に貼る
[self.adContainerView addSubview: [self.nativeAd getMediaView]];
// 必要なサイズを設定、動画は16:9になります
[self.nativeAd getMediaView].frame =
CGRectMake(0, 0,
self.adContainerView.bounds.size.width,
self.adContainerView.bounds.size.width * 9/ 16);
- 播放视频视图的视频
[self.nativeAd playMediaView];
注意: ZoneID初始化
是loadAd
必败的条件。
视频原生视频指南
关于尺寸建议
为确保广告的可见性,以下仅供参考。
- 竖屏:视频广告的宽度至少为屏幕宽度的50%。
- 横屏:视频广告的宽度至少为屏幕宽度的25%。
※如果不符合上述标准,广告的投递可能会停止,敬请理解。
关于视频案件更新
- 要显示以下案件的视频,需要新请求
视频原生(loadAd)
。 loadAd
的时机建议在页面切换时。
关于多个显示
- 如果要在同一页面上使用多个视频原生,请根据数量使用多个zone。
- 建议每个屏幕只放置一个位置。
关于广告播放时的音量设置
在视频广告播放时可以选择播放背景音乐或不播放。
如果不进行显式设置,将按以下方式操作。
广告类型 | 默认值 |
---|---|
奖励 | 有声音 |
全屏插入式 | 有声音 |
横幅 | 静音 |
原生 | 静音 |
GlossomAds.setSoundEnable:(BOOL)enable
将enable设置为True将使广告播放时播放声音。
此外,调用此函数时,将在左上方显示静音按钮,用户可以在播放广告时进行控制。对于原生广告,将始终显示静音按钮。
测试模式
可以测试指定广告ID在终端上的SDK是否按测试模式运行。启用测试模式后,将仅显示测试案例。开发期间可以在此使用。
//set up to receive test movie, you can find your deviceId from console log
[GlossomAds addTestDevice:/* 広告ID */];
**广告ID可以在控制台日志中查看。