インタースティシャル広告実装方法 - glossom-dev/AdfurikunSDK-ReactNative GitHub Wiki

インタースティシャル広告実装方法

実装準備

SDKの導入がまだの場合は、以下の手順で導入頂く必要があります。

アドフリくんインタースティシャル広告のインポート

import { 
  AdfurikunInterstitial, 
  AdfurikunInterstitialCallbackResult, 
  AdfurikunInterstitialCallbackType } from 'react-native-adfurikunsdk';

インタースティシャル広告の初期化

AdfurikunInterstitialクラスのインスタンスを生成します。 引数には、アドフリくん管理画面で発行された広告枠IDを設定して下さい。

// インタースティシャル広告のプロパティを宣言します。
var interstitial: AdfurikunInterstitial = null;

export const InterstitialScreen: React.FC = () => {

  React.useEffect(
    () => {
      // インタースティシャル広告のインスタンスを生成します。
      interstitial = new AdfurikunInterstitial(appId);
    }, []);

インタースティシャル広告のリスナー設定

アドフリくんからのコールバックを設定します。

export const InterstitialScreen: React.FC = () => {

  React.useEffect(
    () => {
      // コールバックを設定します
      interstitial.setCallback((item) => notifyCallback(item));
    }, []);
  
  function notifyCallback(item: AdfurikunInterstitialCallbackResult): void {
    if (AdfurikunInterstitialCallbackType.onPrepareSuccess == item.type) {
      // 広告のロードが成功しました。
    } else if (AdfurikunInterstitialCallbackType.onPrepareFailure == item.type) {
      // 広告のロードが失敗しました。
    } else if (AdfurikunInterstitialCallbackType.onStartPlaying == item.type) {
      // 広告の再生を開始しました。
    } else if (AdfurikunInterstitialCallbackType.onFinishedPlaying == item.type) {
      // 広告の再生が完了しました。
    } else if (AdfurikunInterstitialCallbackType.onFailedPlaying == item.type) {
      // 広告の再生中にエラーが発生しました。
    } else if (AdfurikunInterstitialCallbackType.onAdClose == item.type) {
      // 広告を閉じました。
    }
  }

インタースティシャル広告のロード

load関数で広告をロードします。 ロード成功すると、コールバックのtype引数にAdfurikunInterstitialCallbackType.onPrepareSuccessが送られます。 失敗するとAdfurikunInterstitialCallbackType.onPrepareFailureが送られます。

if (interstitial != null) {
  interstitial.load();
}

インタースティシャル広告の表示

isPrepared関数の戻り値がtrueになる事を確認し、play関数で広告を再生します。

async function play() {
  if (interstitial != null) {
    var isPrepared = await interstitial.isPrepared();
    if (isPrepared) {
      interstitial.play();
    }
  }
}

・再生準備が完了したアドネットワークの中から、1つアドネットワークが選択されます。

インタースティシャル広告の破棄

AdfurikunInterstitialインスタンスを使わなくなった場合、destroy関数を呼び出して下さい。

React.useEffect(
  () => {
    return () => {
      if (interstitial != null) {
        interstitial.destroy();
        interstitial = null;
      }
    }
  }, []);