GlossomAds 2.2.2

GlossomAds 2.2.2

GlossomAds 维护。



  • Glossom Inc.

GlossomAds SDK

・セットアップ

CocoaPodsで設置

GlossomAds SDK 可以通过 CocoaPods 安装。

可以在 Podfile 中按以下方式安装:

pod 'GlossomAds'

Frameworkをダウンロードして設置

  1. 请将 GlossomAds.framework 添加到您的项目中
  2. 打开 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可以在控制台日志中查看。