搜尋套件、儲存庫與 APP 分類

unity_ads_plugin 封面
套件詳情v0.5.0

unity_ads_plugin

適用於 Flutter 應用程式的 Unity Ads 插件。此外掛程式可顯示 Unity 橫幅廣告和 Unity 影片廣告。

AndroidiOS
近 30 天下載
5820
喜歡數
176
Pub 分數
160

安裝套件

flutter pub add unity_ads_plugin

套件介紹

根據套件公開資料產生的選型評估,僅供參考。

unity_ads_plugin 插件使 Flutter 應用能夠整合 Unity 廣告,支援 Android 和 iOS 上的橫幅與影片廣告格式。它提供一個簡單的介面,用於在應用中載入與顯示廣告,幫助開發者透過 Unity 的廣告平台實現專案收益。此插件設計為與 Flutter 的原生整合功能無縫搭配,能在不需要深入平台特定知識的情況下實現流暢的廣告呈現。對於尋求可靠應用內廣告解決方案且設定簡易的應用來說,這是一個理想選擇。

適用情境

  • 移動遊戲變現
  • 在應用中顯示橫幅廣告
  • 播放獎勵視頻廣告
  • 整合 Unity 的廣告網路
  • 透過應用內廣告提升應用收入

主要特色

  • 支援 Unity 橫幅廣告
  • 支援 Unity 視頻廣告
  • 跨平台(Android 與 iOS)
  • 與 Flutter 的簡單整合
  • 即時廣告加載和顯示

適合對象

  • 使用 Unity Ads 的 Flutter 開發人員
  • 尋求變現的移動遊戲開發者
  • 需要激勵視頻廣告的應用
  • 面向 Android 和 iOS 的開發者
  • 需要輕量級廣告整合的項目

使用建議

  • 需要 Unity Ads 帳戶設定
  • 依賴於 Unity Ads SDK 版本
  • 在 Android 上可能需要額外的權限
  • 廣告可用性取決於地區和庫存
  • 廣告載入延遲帶來的效能影響

原始 README

以下為關聯原始碼儲存庫的 README 原文快照,最新內容請造訪原始碼儲存庫。

Unity Ads Plugin

Pub License Pub likes Monthly downloads Pub points Flutter platform

Buy Me A Coffee PayPal

📢 Follow for updates: t.me/pavelzaichyk_dev

A Flutter plugin for integrating Unity Ads into your mobile applications. Easily display Unity Banner Ads and Unity Video Ads (Rewarded & Interstitial) with simple Dart APIs.


Features

  • Display Unity Banner, Rewarded, and Interstitial Video Ads
  • Simple initialization and ad loading
  • Server-to-server reward callback support
  • Privacy consent management
  • Firebase Test Lab support (Android)
  • Null safety

Table of Contents


Installation

Add the plugin to your pubspec.yaml:

dependencies:
  unity_ads_plugin: ^<latest_version>

Then run:

flutter pub get

Usage Example

Here is a minimal example of using the plugin:

import 'package:unity_ads_plugin/unity_ads_plugin.dart';

void main() {
  UnityAds.init(
    gameId: 'YOUR_GAME_ID',
    testMode: true,
    onComplete: () => print('Unity Ads Initialized'),
    onFailed: (error, message) => print('Unity Ads Initialization Failed: $error $message'),
  );
}

For more detailed usage, see the Getting Started section.


Getting Started

1. Initialization
UnityAds.init(
  gameId: 'PROJECT_GAME_ID',
  onComplete: () => print('Initialization Complete'),
  onFailed: (error, message) => print('Initialization Failed: $error $message'),
);

Set your Game ID. For testing purposes, set testMode to true.

UnityAds.isInitialized() can be used to check if the SDK has initialized successfully.


Android only: To change ad behavior in Firebase Test Lab, use the firebaseTestLabMode parameter. Possible values:

Mode Description
disableAds Ads are not displayed in Firebase Test Lab (default)
showAdsInTestMode Ads are displayed in test mode.
showAds Real ads are displayed if testMode is false.
2. Show Rewarded/Interstitial Video Ad

Rewarded Video Ad Interstitial Video Ad

Load a video ad before showing it.

UnityAds.load(
  placementId: 'PLACEMENT_ID',
  onComplete: (placementId) => print('Load Complete $placementId'),
  onFailed: (placementId, error, message) => print('Load Failed $placementId: $error $message'),
);

Show a loaded ad.

UnityAds.showVideoAd(
  placementId: 'PLACEMENT_ID',
  onStart: (placementId) => print('Video Ad $placementId started'),
  onClick: (placementId) => print('Video Ad $placementId click'),
  onSkipped: (placementId) => print('Video Ad $placementId skipped'),
  onComplete: (placementId) => print('Video Ad $placementId completed'),
  onFailed: (placementId, error, message) => print('Video Ad $placementId failed: $error $message'),
);
Server-to-server Redeem Callbacks

UnityAds.showVideoAd has a serverId parameter. To use server-to-server callbacks, set this parameter. Read more at docs.unity.com.

3. Show Banner Ad

Banner Ad

Place the UnityBannerAd widget in your app.

UnityBannerAd(
  placementId: 'PLACEMENT_ID',
  onLoad: (placementId) => print('Banner loaded: $placementId'),
  onClick: (placementId) => print('Banner clicked: $placementId'),
  onShown: (placementId) => print('Banner shown: $placementId'),
  onFailed: (placementId, error, message) => print('Banner Ad $placementId failed: $error $message'),
)
Privacy Consent

Read more about privacy consent in the Unity Ads documentation.

Use the following code to pass the appropriate consent flags to the Unity Ads SDK:

UnityAds.setPrivacyConsent(<Privacy Consent type>, true)

Troubleshooting

Android: the ad shows up as a separate app in Recent Apps

Symptom. While a fullscreen ad is playing, Recent Apps shows two cards for your app — your app and the ad. Users can swipe the ad away before it completes, so the impression is lost.

Fix. Remove one line from your app's android/app/src/main/AndroidManifest.xml:

<activity
    android:name=".MainActivity"
    android:taskAffinity=""     <!-- remove this line -->
    ...>

Flutter's template adds that blank affinity; Unity's ad screen keeps the default one. Android puts screens with different affinities in different tasks — hence the second card. Removing it puts the ad back in your app's task.

Trade-off. The attribute guards against task hijacking (flutter#144018), which Android patches at the OS level from API 30. On minSdk 30+ removing it costs nothing; below that, users on Android 7–10 lose partial protection — raising minSdk to 30 fixes both concerns at once.

Adding excludeFromRecents to Unity's ad activity does not work as an alternative. See issue #70.


Donate

If you find this package helpful and would like to support its continued development, please consider making a donation. Your contributions are greatly appreciated and motivate the further enhancement of this and other plugins.

Donate Buy Me A Coffee PayPal

Your support helps maintain and improve this package, ensuring it remains up-to-date and useful for the community.

Thank you for your generosity!

所屬分類

原始碼儲存庫

使用此套件的專案