Flutter移动开发集成插件deltaxmobilesdk的使用

Flutter移动开发集成插件deltaxmobilesdk的使用

关于

这是用于DeltaX测量移动SDK的Flutter插件。

支持的平台

  • Android - DeltaX移动SDK - v1.3.2
  • iOS - DeltaX移动SDK - v1.7.12

使用的技术

  • flutter版本: 2.8.1
  • dart版本: 2.17.0
  • 依赖项:
    • Android:
      • com.deltax.tracker:AndroidSDK:1.3.2
      • com.android.installreferrer:installreferrer:2.2
    • iOS:
      • DeltaXTracker ( 使用AdSupport.framework )

开始使用

请与您的DeltaX账户经理联系以获取特定的集成文档。


示例代码

以下是一个完整的示例代码,展示如何在Flutter项目中集成并使用deltaxmobilesdk插件:

示例代码:example/lib/main.dart

import 'package:flutter/material.dart';
import 'dart:async';

import 'package:flutter/services.dart'; // 引入系统服务
import 'package:deltaxmobilesdk/deltaxmobilesdk.dart'; // 引入DeltaX移动SDK插件

void main() {
  runApp(const MyApp()); // 启动应用
}

class MyApp extends StatefulWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  State<MyApp> createState() => _MyAppState(); // 创建状态类
}

class _MyAppState extends State<MyApp> {
  String _platformVersion = '未知'; // 存储平台版本信息

  @override
  void initState() {
    super.initState();
    initPlatformState(); // 初始化平台状态
  }

  // 异步初始化平台状态
  Future<void> initPlatformState() async {
    String platformVersion; // 定义变量存储版本信息
    try {
      // 调用插件方法获取平台版本
      platformVersion = await Deltaxmobilesdk.platformVersion ?? '未知平台版本';
    } on PlatformException {
      // 捕获异常,设置默认值
      platformVersion = '无法获取平台版本。';
    }

    // 如果组件未挂载,直接返回
    if (!mounted) return;

    // 更新UI
    setState(() {
      _platformVersion = platformVersion;
    });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp( // 创建MaterialApp
      home: Scaffold( // 创建Scaffold布局
        appBar: AppBar( // 设置AppBar
          title: const Text('插件示例应用'), // 设置标题
        ),
        body: Center( // 设置中心内容
          child: Text( // 显示文本
            '运行在: $_platformVersion\n', // 显示平台版本信息
          ),
        ),
      ),
    );
  }
}

运行效果

运行上述代码后,您将看到一个简单的Flutter界面,显示当前运行的平台版本信息。如果插件成功集成,则会显示类似以下内容:

运行在: Unknown platform version

或者,如果您正确配置了插件并调用了正确的API,则可能会显示实际的平台版本信息。


注意事项

  1. 确保在pubspec.yaml文件中添加依赖项:
    dependencies:
      deltaxmobilesdk: ^1.0.0 # 替换为最新版本
    

更多关于Flutter移动开发集成插件deltaxmobilesdk的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter移动开发集成插件deltaxmobilesdk的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


DeltaXMobileSDK 是一个用于移动应用开发的插件,通常用于与 DeltaX 广告平台进行集成,以便在应用中展示广告。以下是如何在 Flutter 应用中集成和使用 deltaxmobilesdk 的基本步骤。

1. 添加依赖

首先,你需要在 pubspec.yaml 文件中添加 deltaxmobilesdk 插件的依赖。

dependencies:
  flutter:
    sdk: flutter
  deltaxmobilesdk: ^1.0.0  # 请使用最新版本

然后运行 flutter pub get 来获取依赖。

2. 初始化 SDK

在你的 Flutter 应用的 main.dart 文件中,初始化 DeltaXMobileSDK

import 'package:flutter/material.dart';
import 'package:deltaxmobilesdk/deltaxmobilesdk.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  
  // 初始化 DeltaXMobileSDK
  await DeltaXMobileSDK.initialize(
    appId: 'YOUR_APP_ID',  // 替换为你的应用ID
    apiKey: 'YOUR_API_KEY',  // 替换为你的API密钥
  );

  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter DeltaX Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(),
    );
  }
}

3. 展示广告

在应用中展示广告通常是通过 BannerAdInterstitialAd 来实现的。以下是一个简单的例子,展示如何集成横幅广告。

import 'package:flutter/material.dart';
import 'package:deltaxmobilesdk/deltaxmobilesdk.dart';

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  BannerAd? _bannerAd;

  @override
  void initState() {
    super.initState();
    _loadBannerAd();
  }

  void _loadBannerAd() {
    _bannerAd = BannerAd(
      adUnitId: 'YOUR_BANNER_AD_UNIT_ID',  // 替换为你的横幅广告单元ID
      size: AdSize.banner,
      listener: BannerAdListener(
        onAdLoaded: (Ad ad) {
          print('Banner ad loaded.');
        },
        onAdFailedToLoad: (Ad ad, LoadAdError error) {
          print('Banner ad failed to load: $error');
        },
        onAdOpened: (Ad ad) => print('Banner ad opened.'),
        onAdClosed: (Ad ad) => print('Banner ad closed.'),
      ),
    )..load();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Flutter DeltaX Demo'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text(
              'DeltaX Banner Ad Example',
            ),
            if (_bannerAd != null)
              Container(
                alignment: Alignment.center,
                width: _bannerAd!.size.width.toDouble(),
                height: _bannerAd!.size.height.toDouble(),
                child: AdWidget(ad: _bannerAd!),
              ),
          ],
        ),
      ),
    );
  }

  @override
  void dispose() {
    _bannerAd?.dispose();
    super.dispose();
  }
}

4. 处理插页广告

插页广告的集成与横幅广告类似。以下是一个简单的插页广告示例:

InterstitialAd? _interstitialAd;

void _loadInterstitialAd() {
  InterstitialAd.load(
    adUnitId: 'YOUR_INTERSTITIAL_AD_UNIT_ID',  // 替换为你的插页广告单元ID
    request: AdRequest(),
    adLoadCallback: InterstitialAdLoadCallback(
      onAdLoaded: (InterstitialAd ad) {
        _interstitialAd = ad;
        print('Interstitial ad loaded.');
      },
      onAdFailedToLoad: (LoadAdError error) {
        print('Interstitial ad failed to load: $error');
      },
    ),
  );
}

void _showInterstitialAd() {
  if (_interstitialAd != null) {
    _interstitialAd!.show();
  } else {
    print('Interstitial ad is not ready yet.');
  }
}
回到顶部