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> |
MaterialApp の
navigatorKey |
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();