-
Notifications
You must be signed in to change notification settings - Fork 0
インフィード広告実装のベストプラクティス
Kim, Sungil edited this page Sep 4, 2023
·
4 revisions
広告の視認性確保のため、以下を目安に実装をお願いします。
- 縦画面: 動画広告の横幅が画面横幅の50%以上であること
- 横画面: 動画広告の横幅が画面横幅の25%以上であること
※上記基準を下回る場合は、広告の配信が停止される可能性がございますので、ご了承ください。
- 現在、複数枠には対応していません。
- 広告枠IDを使いまわすことも可能ですが、1画面で1箇所の設置を推奨します。
- また、設置箇所ごとのレポートは参照できず合算されます。
- 同一ページや1アプリ内で複数設置する場合は、メモリー負荷や通信量を抑制するため、不要なインスタンスは破棄することを推奨します。
AdfurikunNativeAdViewUtilityのsetNativeAdViewFrame APIはデバイスによって表示位置・サイズの違いを統一して表示することができます。
AdfurikunNativeAdViewUtility nativeAdViewUtility = GameObject.Find("AdfurikunNativeAdViewUtility").GetComponent<AdfurikunNativeAdViewUtility>();
nativeAdViewUtility.setNativeAdViewFrame(0, 0, 100, 100);
AdfurikunNativeAdViewUtilityのsetFrameGravity 及び setFitWidthFrame APIは掲載位置を指定して表示する機能を提供します。
public void setFrameGravity (string appId, float displaySizeW, float displaySizeH, float width, float height, int horizontalGravity, int verticalGravity)
指定した掲載位置及びサイズで、動画広告を表示する
@param string appID 広告枠ID
@param float visibleSizeW 表示画面のサイズ(幅)
ex). Director::getInstance()->getVisibleSize()で取得したsizeオブジェクトの幅
@param float visibleSizeH 表示画面のサイズ(高さ)
ex). Director::getInstance()->getVisibleSize()で取得したsizeオブジェクトの高さ
@param float width 広告枠の横幅
@param float height 広告枠の高さ
@param int horizontalGravity 水平方向での広告の掲載位置
ex).
0 : 画面の左端
1 : 画面中央
2 : 画面の右端
@param int verticalGravity 垂直方向での広告の掲載位置
ex).
0 : 画面上部
1 : 画面中央
2 : 画面下部
public void setFitWidthFrame (string appId, float displaySizeH, float height, int verticalGravity)
広告をアスペクト比を維持したまま、画面の横幅いっぱいまで広げて表示させます。
@param string appId ... 広告枠ID
@param float visibleSizeH ... 表示画面の高さ
ex). Director::getInstance()->getVisibleSize()で取得したsizeオブジェクトの高さ
@param float height ... 広告枠の高さ
@param int verticalGravity ... 垂直方向での広告の掲載位置
ex).
0 : 画面上部
1 : 画面中央
2 : 画面下部
静止画広告SDKのバナー機能を動画広告SDKに統合した時に広告の自動切り替え機能が破棄され、 アプリ側から実装する必要になったため、実装方法を参考してください。
// アドフリくんのGameObjectを取得
GameObject bannerObject = GameObject.Find("AdfurikunBannerUtility");
// デリゲートを設定
private AdfurikunBannerUtility bannerUtility = bannerObject.GetComponent.<AdfurikunBannerUtility>();
if (Application.platform == RuntimePlatform.Android)
{
bannerUtility.initializeBannerView(広告の横サイズ, 広告の縦サイズ);
}
bannerUtility.onLoadFinish = this.OnLoadFinish;
bannerUtility.onLoadError = this.OnLoadError;
bannerUtility.onPlayStart = this.OnPlayStart;
bannerUtility.onPlayFinish = this.OnPlayFinish;
bannerUtility.onPlayError = this.OnPlayError;
bannerUtility.onClicked = this.OnClicked;
/*
自動切り替えロード
*/
void AutoRefreshLoad()
{
if (bannerUtility != null)
{
// 広告をロード
bannerUtility.loadBannerView();
}
}
/*
広告ビューをセットアップ
*/
private void setupView()
{
if (bannerUtility != null)
{
// ビューをセットアップする
x = (Screen.width - width) / 2;
y = (Screen.height / 2) - (height / 2);
bannerUtility.setBannerView(x, y, width, height);
}
}
/*
広告準備完了時
*/
void OnLoadFinish(string appId)
{
// リトライカウントを初期化
mLoadRetryCount = 0;
// 広告ビューをセットアップ
setupView();
// 広告を表示する
if (bannerUtility != null)
{
bannerUtility.playBannerView();
}
// 60秒後に再ロードを行う
Invoke("AutoRefreshLoad", 60);
}
/*
広告準備失敗時
*/
void OnLoadError(string appId, int errorCode)
{
// エラーの確認および広告表示のリトライ処理
if (mLoadRetryCount < 5)
{
AutoRefreshLoad();
}
mLoadRetryCount++;
}
- 動画リワード広告
- インタースティシャル広告
- インフィード広告
- アプリ起動時広告
- ベストプラクティス
- 広告共通設定クラス
- Privacy設定について
- AdMobメディエーション
- フリークエンシーキャップ
- iOS
- Android
- FAQ