外部SDKとの連携
AdMel SDK は、外部広告SDK(インタースティシャル広告やリワード広告)と連携して動作させることが可能です。本ドキュメントでは、外部SDKとの連携時に必要な処理について説明します。
1. 外部SDKとの連携の基本方針
AdMel SDK は、外部SDKの広告表示状況に応じて適切な処理を行う必要があります。
- 外部SDKの広告(インタースティシャル・リワード)が表示される際
- AdMel SDK のオートリフレッシュを停止
- 既存の AdMel 音声広告が流れていた場合は停止
- 外部SDKの広告が終了した際
- AdMel SDK のオートリフレッシュを再開
2. 外部SDKの広告表示時の処理
外部SDKの広告(インタースティシャルやリワード広告)が表示されるタイミングで、以下のメソッドを呼び出してください。
// オートリフレッシュの一時停止
AdMelSdk.DisableAutoRefresh();
// 既にAdMelの音声広告が流れている場合、強制的に停止
AdMelSdk.StopAd();実装例
// 外部SDKの広告表示コールバック
void OnInterstitialAdShow()
{
// AdMelの音声広告が流れていたら一時停止
AdMelSdk.DisableAutoRefresh();
AdMelSdk.StopAd();
}3. 外部SDKの広告終了時の処理
外部SDKの広告が終了したら、AdMel SDK のオートリフレッシュを再開する必要があります。
// AdMelのオートリフレッシュを再開
AdMelSdk.EnableAutoRefresh();実装例
// 外部SDKの広告終了コールバック
void OnInterstitialAdClosed()
{
// インタースティシャル広告の終了後、AdMelのオートリフレッシュを再開
AdMelSdk.EnableAutoRefresh();
}4. AdMel SDK の広告再生中のインタースティシャル制御
また、AdMel SDK の音声広告が流れている間は、インタースティシャル広告をスキップするかどうかはパブリッシャー様の制御 となります。
if (!AdMelSdk.IsAdShowing()) // AdMel の広告が流れていない場合のみインタースティシャルを流す
{
// show interstitial ad
}実装例
void TryShowInterstitial()
{
if (!AdMelSdk.IsAdShowing())
{
externalAdSdk.ShowInterstitial();
}
else
{
Debug.Log("AdMelの音声広告が再生中のため、インタースティシャルをスキップ");
}
}5. まとめ
外部SDKの広告と AdMel SDK の連携には、以下の処理を適切に実装する必要があります。
| 状況 | 処理 |
|---|---|
| 外部SDKの広告が開始 | AdMelSdk.DisableAutoRefresh();
AdMelSdk.StopAd(); |
| 外部SDKの広告が終了 | AdMelSdk.EnableAutoRefresh(); |
| AdMelの広告が再生中のときのインタースティシャル広告 | if (!AdMelSdk.IsAdShowing()) { ShowInterstitial(); } |
これらの実装を行うことで、外部SDKと AdMel SDK が適切に共存し、ユーザー体験を損なわずに広告を配信することが可能になります。