Flutter SDK API リファレンス

概要

AdMel Flutter SDK (admel_sdk) は、Flutter向けの音声広告SDKです。
広告の 初期化・表示・再生制御・オートリフレッシュ・コインリワード演出 の機能を提供します。

1. AdMelEnvironment

SDK の環境設定を表す列挙型です。

enum AdMelEnvironment {
  development,  // 開発環境 (dev.admelapi.com)
  production,   // 本番環境 (admelapi.com)
}

2. AdMelSdk

メインのSDKクラスです。すべての広告操作はこのクラスのインスタンスを通じて行います。

final admelSdk = AdMelSdk();

メディアID・ユーザーID

setMediaId(String mediaId)

Future<void> setMediaId(String mediaId)

SDK で使用するメディアIDを設定します。initialize() の前に呼び出してください。

引数 説明
mediaId String AdMel管理画面で発行されたメディアID

setUserId(String userId)

Future<void> setUserId(String userId)

パブリッシャーのユーザーIDを設定します。S2Sコールバックでのユーザー識別に使用されます。initialize() の前に呼び出してください。

引数 説明
userId String パブリッシャー側のユーザーID

getUserId()

Future<String?> getUserId()

現在設定されているユーザーIDを取得します。

SDK の初期化

initialize(AdMelEnvironment environment)

Future<void> initialize(AdMelEnvironment environment)

SDKを初期化します。setMediaId() を先に呼び出してください。

引数 説明
environment AdMelEnvironment development または production

await admelSdk.setMediaId('your_media_id');
await admelSdk.initialize(AdMelEnvironment.production);

広告の表示

showAd(String slotId, {String position, double offsetX, double offsetY})

Future<void> showAd(
  String slotId, {
  String position = 'bottom-right',
  double offsetX = 0.0,
  double offsetY = 0.0,
})

指定されたスロットIDで広告をロードし表示します。

引数 デフォルト 説明
slotId String (必須) 広告スロットID
position String 'bottom-right' 表示位置
offsetX double 0.0 X軸オフセット(px)
offsetY double 0.0 Y軸オフセット(px)

position の値:

位置
top-left 左上
top-right 右上
bottom-left 左下
bottom-right 右下
center 中央

await admelSdk.showAd(
  'your_slot_id',
  position: 'top-right',
  offsetX: 10.0,
  offsetY: 20.0,
);

再生制御

pause()

Future<void> pause()

音声の再生を一時停止し、バナーの進捗表示を停止します。

resume()

Future<void> resume()

一時停止した音声の再生を再開します。

stopAudioAndHideBanner()

Future<void> stopAudioAndHideBanner()

音声を停止し、バナーを非表示にします。

isPlaying()

Future<bool> isPlaying()

音声が現在再生中かどうかを返します。

getCurrentPosition()

Future<double> getCurrentPosition()

現在の再生位置(秒)を返します。

getDuration()

Future<double> getDuration()

音声の全体の長さ(秒)を返します。

getProgress()

Future<double> getProgress()

再生の進捗(0.0 〜 1.0)を返します。

音量制御

getCurrentVolume()

Future<double> getCurrentVolume()

現在の音量を返します。

setVolume(double volume)

Future<void> setVolume(double volume)

音量を設定します。

引数 説明
volume double 音量(0.0 〜 1.0)

オートリフレッシュ

setAutoRefresh({required bool enabled, int interval})

Future<void> setAutoRefresh({
  required bool enabled,
  int interval = 30,
})

オートリフレッシュの有効/無効と間隔を設定します。

引数 デフォルト 説明
enabled bool (必須) オートリフレッシュの有効/無効
interval int 30 リフレッシュ間隔(秒)

isAutoRefreshEnabled()

Future<bool> isAutoRefreshEnabled()

オートリフレッシュが有効かどうかを返します。

広告ライフサイクルイベント

setAdEventListeners({...})

void setAdEventListeners({
  AdEventCallback? onAdStarted,
  AdEventCallback? onAdStopped,
  AdEventCallback? onAdCompleted,
})

広告のライフサイクルイベントのコールバックを設定します。

コールバック 説明
onAdStarted 広告の音声再生が開始された
onAdStopped 広告の音声再生が停止した(完了・停止・エラー)
onAdCompleted 広告の音声再生が100%完了した

admelSdk.setAdEventListeners(
  onAdStarted: () => print('広告開始'),
  onAdStopped: () => print('広告停止'),
  onAdCompleted: () => print('広告完了'),
);

コインリワード演出

enableCoinReward({required GlobalKey<NavigatorState> navigatorKey, AdMelCoinRewardConfig config})

void enableCoinReward({
  required GlobalKey<NavigatorState> navigatorKey,
  AdMelCoinRewardConfig config = const AdMelCoinRewardConfig(),
})

広告の100%再生完了時にコインが飛び出す演出を有効にします。

引数 説明
navigatorKey GlobalKey<NavigatorState> MaterialAppnavigatorKey
config AdMelCoinRewardConfig アニメーションのカスタマイズ(任意)

disableCoinReward()

void disableCoinReward()

コインリワード演出を無効にします。

3. AdMelCoinRewardConfig

コインリワード演出のカスタマイズ設定です。

const AdMelCoinRewardConfig({
  String coinImageUrl,           // コイン画像URL
  double coinSize,               // コインサイズ(デフォルト: 36.0)
  Duration animationDuration,    // アニメーション時間(デフォルト: 1.8秒)
  Widget Function()? coinBuilder, // カスタムコインWidget
  VoidCallback? onAnimationComplete, // アニメーション完了時のコールバック
})

admelSdk.enableCoinReward(
  navigatorKey: navigatorKey,
  config: AdMelCoinRewardConfig(
    coinSize: 40.0,
    animationDuration: const Duration(seconds: 2),
    onAnimationComplete: () {
      print('コインアニメーション完了');
    },
  ),
);

4. AdEventCallback

広告イベントコールバックの型定義です。

typedef AdEventCallback = void Function();