Flutter广告播放插件purchasely_android_player的使用
Flutter广告播放插件purchasely_android_player的使用
Purchasely
Purchasely 是一个解决方案,旨在简化在 App Store、Google Play Store 和华为应用市场上的应用内购买和订阅的集成。
安装
在 pubspec.yaml 文件中添加以下依赖:
dependencies:
  purchasely_flutter: ^5.0.0-rc01
使用
以下是使用 Purchasely 插件的基本示例代码:
import 'package:flutter/material.dart';
import 'package:purchasely_flutter/purchasely_flutter.dart';
void main() {
  runApp(MyApp());
}
class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: HomeScreen(),
    );
  }
}
class HomeScreen extends StatefulWidget {
  [@override](/user/override)
  _HomeScreenState createState() => _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen> {
  bool _configured = false;
  [@override](/user/override)
  void initState() {
    super.initState();
    _configurePurchasely();
  }
  Future<void> _configurePurchasely() async {
    _configured = await Purchasely.start(
        apiKey: '<YOUR_API_KEY>',
        androidStores: ['Google', 'Huawei', 'Amazon'], // 可以根据需要选择多个商店
        storeKit1: false,
        logLevel: PLYLogLevel.error,
        runningMode: PLYRunningMode.full,
        userId: null,
    );
    if (_configured) {
      print('Purchasely 已成功配置');
    } else {
      print('Purchasely 配置失败');
    }
  }
  Future<void> _showAd() async {
    var result = await Purchasely.presentPresentationForPlacement("<YOUR_PLACEMENT_ID>", isFullscreen: true);
    switch (result.result) {
      case PLYPurchaseResult.cancelled:
        {
          print("用户取消了购买");
        }
        break;
      case PLYPurchaseResult.purchased:
        {
          print("用户购买了 ${result.plan?.name}");
        }
        break;
      case PLYPurchaseResult.restored:
        {
          print("用户恢复了 ${result.plan?.name}");
        }
        break;
    }
  }
  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Purchasely 广告播放示例'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: _configured ? _showAd : null,
          child: Text('展示广告'),
        ),
      ),
    );
  }
}
代码解释
- 
导入必要的库:
import 'package:flutter/material.dart'; import 'package:purchasely_flutter/purchasely_flutter.dart'; - 
主函数和应用根组件:
void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { [@override](/user/override) Widget build(BuildContext context) { return MaterialApp( home: HomeScreen(), ); } } - 
HomeScreen 组件:
class HomeScreen extends StatefulWidget { [@override](/user/override) _HomeScreenState createState() => _HomeScreenState(); } class _HomeScreenState extends State<HomeScreen> { bool _configured = false; [@override](/user/override) void initState() { super.initState(); _configurePurchasely(); } - 
配置 Purchasely:
Future<void> _configurePurchasely() async { _configured = await Purchasely.start( apiKey: '<YOUR_API_KEY>', androidStores: ['Google', 'Huawei', 'Amazon'], storeKit1: false, logLevel: PLYLogLevel.error, runningMode: PLYRunningMode.full, userId: null, ); if (_configured) { print('Purchasely 已成功配置'); } else { print('Purchasely 配置失败'); } } - 
展示广告:
Future<void> _showAd() async { var result = await Purchasely.presentPresentationForPlacement("<YOUR_PLACEMENT_ID>", isFullscreen: true); switch (result.result) { case PLYPurchaseResult.cancelled: { print("用户取消了购买"); } break; case PLYPurchaseResult.purchased: { print("用户购买了 ${result.plan?.name}"); } break; case PLYPurchaseResult.restored: { print("用户恢复了 ${result.plan?.name}"); } break; } } - 
UI 界面:
[@override](/user/override) Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('Purchasely 广告播放示例'), ), body: Center( child: ElevatedButton( onPressed: _configured ? _showAd : null, child: Text('展示广告'), ), ), ); } 
更多关于Flutter广告播放插件purchasely_android_player的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter广告播放插件purchasely_android_player的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
purchasely_android_player 是 Flutter 中的一个插件,专门用于在 Android 平台上播放广告。它通常用于应用中嵌入广告内容,如视频广告、插屏广告等。以下是如何使用 purchasely_android_player 插件的详细步骤:
1. 添加依赖
首先,你需要在 pubspec.yaml 文件中添加 purchasely_android_player 插件的依赖。
dependencies:
  flutter:
    sdk: flutter
  purchasely_android_player: ^1.0.0  # 请使用最新版本
然后运行 flutter pub get 来获取依赖。
2. 初始化插件
在使用插件之前,你需要在应用的 main 函数中初始化插件。
import 'package:flutter/material.dart';
import 'package:purchasely_android_player/purchasely_android_player.dart';
void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  
  // 初始化 Purchasely Android Player
  await PurchaselyAndroidPlayer.init();
  
  runApp(MyApp());
}
class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Purchasely Android Player Example',
      home: HomeScreen(),
    );
  }
}
3. 播放广告
你可以使用 PurchaselyAndroidPlayer 来播放广告。以下是一个简单的例子,展示如何播放一个视频广告。
import 'package:flutter/material.dart';
import 'package:purchasely_android_player/purchasely_android_player.dart';
class HomeScreen extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Purchasely Android Player Example'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: () async {
            // 播放视频广告
            await PurchaselyAndroidPlayer.playVideoAd(
              adUnitId: 'YOUR_AD_UNIT_ID',  // 替换为你的广告单元ID
            );
          },
          child: Text('Play Video Ad'),
        ),
      ),
    );
  }
}
4. 处理广告事件
你可以监听广告事件,如广告加载完成、广告播放完成、广告点击等。
PurchaselyAndroidPlayer.onAdLoaded.listen((event) {
  print('Ad Loaded: $event');
});
PurchaselyAndroidPlayer.onAdFailedToLoad.listen((event) {
  print('Ad Failed to Load: $event');
});
PurchaselyAndroidPlayer.onAdClosed.listen((event) {
  print('Ad Closed: $event');
});
PurchaselyAndroidPlayer.onAdClicked.listen((event) {
  print('Ad Clicked: $event');
});
5. 其他功能
purchasely_android_player 插件还提供了其他功能,如暂停广告、恢复广告、销毁广告播放器等。你可以根据需要使用这些功能。
// 暂停广告
await PurchaselyAndroidPlayer.pauseAd();
// 恢复广告
await PurchaselyAndroidPlayer.resumeAd();
// 销毁广告播放器
await PurchaselyAndroidPlayer.destroy();
6. 注意事项
- 广告单元ID:确保你使用了正确的广告单元ID,否则广告将无法加载。
 - 权限:确保你的应用有必要的权限来播放广告,如网络访问权限。
 - 测试广告:在开发阶段,建议使用测试广告单元ID,以避免产生不必要的广告费用。
 
7. 示例代码
以下是一个完整的示例代码,展示了如何使用 purchasely_android_player 插件播放广告。
import 'package:flutter/material.dart';
import 'package:purchasely_android_player/purchasely_android_player.dart';
void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  
  // 初始化 Purchasely Android Player
  await PurchaselyAndroidPlayer.init();
  
  runApp(MyApp());
}
class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Purchasely Android Player Example',
      home: HomeScreen(),
    );
  }
}
class HomeScreen extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Purchasely Android Player Example'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: () async {
            // 播放视频广告
            await PurchaselyAndroidPlayer.playVideoAd(
              adUnitId: 'YOUR_AD_UNIT_ID',  // 替换为你的广告单元ID
            );
          },
          child: Text('Play Video Ad'),
        ),
      ),
    );
  }
}
        
      
            
            
            
