外部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 が適切に共存し、ユーザー体験を損なわずに広告を配信することが可能になります。