-
Notifications
You must be signed in to change notification settings - Fork 2
maioを複数経路で実装するガイド
- AdMobメディエーション(maio) × maio 実装
- SSP(maio) × maio 実装
- SSP(maio) × AdMobメディエーション(maio) 実装
- SSP1(maio) × SSP2(maio) 実装
maio と AdMobメディエーションの統合 の "Step 3: Import the maio SDK and adapter" にて maio SDK とアダプターを導入済みの場合、追加で maio SDK の導入は不要です。
AdMobメディエーションに maio を導入する方法は以下のガイドをご利用ください。
-
AdMob の実装方法
-
AdMobメディエーションと maio の連携方法
以下は、動画リワードで AdMobメディエーション、動画インタースティシャルで maio を表示するサンプルコードです。
※AdMobメディエーションと maio を併用する場合、maio SDK v1.3.0 以降、メディアID を分けずに使用できます。(※iOSのみ)
ゾーンを複数使用する場合は、再生時やデリゲート使用時にゾーンIDを確認して実装するようにしてください。
この例では ViewController が MaioDelegateの通知を受け、MaioInstance を保持します。
// ViewController.h
#import <Maio/Maio.h>
#import <GoogleMobileAds/GoogleMobileAds.h>
@interface ViewController : UIViewController <MaioDelegate>
// MaioInstanceを保持するためのプロパティを宣言します
@property (nonatomic) MaioInstance *maioInstance;
@end
初期化を行うコードを追加します。
// AppDelegate.m
#import <Maio/Maio.h>
#import <GoogleMobileAds/GoogleMobileAds.h>
@implementation AppDelegate
// maio から発行されるメディアIDに差し替えてください
// maio SDK v1.3.0 以降、メディアID は AdMobメディエーションで使用しているID と同じものを使用できます
NSString * const MAIO_MEDIA_ID = @"DemoPublisherMedia";
// AdMob から発行される App ID に差し替えてください
NSString * const ADMOB_APP_ID = @"ca-app-pub-3940256099942544~1458002511";
- (BOOL) application: (UIApplication *) application didFinishLaunchingWithOptions: (NSDictionary *) launchOptions {
ViewController *viewController = (ViewController *)self.window.rootViewController;
// AdMob を初期化します
[GADMobileAds configureWithApplicationID:ADMOB_APP_ID];
// Maio を初期化します
viewController.maioInstance = [Maio startWithNonDefaultMediaId:MAIO_MEDIA_ID delegate:viewController];
}
@end
再生ボタンの実装と、動画再生後のリワードを付与する処理を実装します。
// ViewController.m
@implementation ViewController
// ... 略 ...
// maio から発行されるゾーンID に差し替えてください
// ゾーンID は AdMobメディエーションで使用しているID とは別に新しく作成してください
NSString * const MAIO_ZONE_ID = @"DemoPublisherZone";
// AdMob から発行される広告ユニットID に差し替えてください
NSString * const ADMOB_AD_UNIT_ID = @"ca-app-pub-3940256099942544/1712485313";
- (void)viewDidLoad {
[super viewDidLoad];
// AdMob のイベント通知の設定
[GADRewardBasedVideoAd sharedInstance].delegate = self;
// 動画リワード広告をリクエストする
[[GADRewardBasedVideoAd sharedInstance] loadRequest:[GADRequest request] withAdUnitID:ADMOB_AD_UNIT_ID];
}
// AdMob を表示する
- (IBAction) startAdMobButton : (id) sender {
// isReady プロパティがYESの場合に、動画広告を表示します
if ([[GADRewardBasedVideoAd sharedInstance] isReady]) {
[[GADRewardBasedVideoAd sharedInstance] presentFromRootViewController:self];
}
}
// maio を表示する
- (IBAction) startmaioButton : (id) sender {
// canShowAtZoneId プロパティがYESの場合に、動画広告を表示します
if([self.maioInstance canShowAtZoneId:MAIO_ZONE_ID]) {
[self.maioInstance showAtZoneId:MAIO_ZONE_ID vc:self];
}
}
// AdMob のデリゲート定義
- (void)rewardBasedVideoAdDidReceiveAd:(GADRewardBasedVideoAd *)rewardBasedVideoAd {
// 広告が表示可能ならトリガーを有効化
}
// 広告表示完了時に呼び出すデリゲートを設定します
// これによって、maio SDK からのイベント通知を取得することが可能になります
// 本メソッドは、ユーザが動画を見終わった直後に呼び出されます
// ”skipped”が”NO”であれば最後まで動画が再生された事を示しますので、
// その際にユーザに報酬を付与する事が可能になります
- (void) maioDidFinishAd: (NSString *) zoneId
playtime: (NSInteger) playtime
skipped: (BOOL) skipped
rewardParam: (NSString *) rewardParam {
// ユーザへのリワード付与処理
}
/**
* 広告の配信可能状態が変更された際に呼ばれます
*
* @param zoneId NSString 広告の配信可能状態が変更されたゾーンの識別子
* @param BOOL newValue 変更後のゾーンの状態 ※YESの場合配信可能
*/
- (void) maioDidChangeCanShow: (NSString *) zoneId newValue: (BOOL) newValue {
// 広告が表示可能ならトリガーを有効化
}
// ... 略 ...
@end
このガイドでは、前提として、既に SSP で maio を配信している方を対象とします。
maio SDK は SSP で導入されたものを使います。新しく追加する必要はありません。
maio を実装する際は startWithMediaId:delegate:
ではなく startWithNonDefaultMediaId:delegate:
を使用して SDK を初期化します。
実装方法については以下を参考にしてください。
SSP と maio の直接利用でメディアIDは別のIDを使用してください。
SSP と AdMobメディエーションでメディアIDは別のIDを使用してください。
その他の実装方法、注意事項等につきましては AdMobメディエーション、各 SSP の実装ガイドに従ってください。
どちらか片方の SSP が 複数メディアIDの実装 に対応している場合、実装が可能です。
お使いの SSP が 対応しているかどうかにつきましては各 SSP へお問い合わせください。
デリゲート使用時はゾーンIDを確認して、正しく実装を行ってください。
デリゲートの設定方法に関しては、こちらを参照ください。