Flutter广告延迟深度链接插件google_ads_deferred_deep_link的使用

发布于 1周前 作者 ionicwang 来自 Flutter

Flutter广告延迟深度链接插件google_ads_deferred_deep_link的使用

简介

google_ads_deferred_deep_link 是一个用于在Flutter应用中实现Google Ads延迟深度链接(Deferred Deep Link)功能的插件。通过该插件,您可以捕获用户点击广告后首次打开应用时传递的深度链接信息,从而实现更精准的广告归因和用户引导。

前置条件

  1. 阅读官方文档:请先阅读Google Ads关于延迟深度链接的官方文档,了解如何在Google Ads SDK中激活延迟深度链接。
  2. 联系广告合作伙伴:如果可能,请与您组织中的广告团队以及Google Ads团队联系,确保所有配置正确无误。

开始使用

在您的Flutter项目中添加以下依赖项:

dependencies:
  firebase_core: 
  firebase_analytics: 
  google_ads_deferred_deep_link: 

启用功能

为了启用延迟深度链接功能,您需要修改Android项目的AndroidManifest.xml文件,在<application>标签内添加以下元数据标签:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.myawesome.app">

    <uses-permission android:name="android.permission.INTERNET" />

    <application
        android:name=".MainActivity">

        <!-- 启用延迟深度链接 -->
        <meta-data android:name="google_analytics_deferred_deep_link_enabled" android:value="true"/>

        <activity
            android:name=".MainActivity">
        </activity>

    </application>

</manifest>

使用示例

以下是一个完整的示例代码,展示了如何在Flutter应用中使用google_ads_deferred_deep_link插件来捕获并处理延迟深度链接。

import 'dart:async';

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

void main() {
  runApp(const MyApp());
}

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

  [@override](/user/override)
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  String _deepLink = 'Unknown'; // 初始化深度链接为未知
  final _googleAdsDeferredDeepLinkPlugin = GoogleAdsDeferredDeepLink();

  [@override](/user/override)
  void initState() {
    super.initState();
    _fetchDeferredDeepLink(); // 在初始化时调用获取延迟深度链接的方法
  }

  // 异步方法用于获取延迟深度链接
  Future<void> _fetchDeferredDeepLink() async {
    try {
      // 监听延迟深度链接事件
      _googleAdsDeferredDeepLinkPlugin.deferredDeepLinkStream.listen((event) {
        if (mounted) {
          setState(() {
            _deepLink = event?.deepLink ?? 'Callback Error'; // 更新状态,显示获取到的深度链接
          });
        }
      });
      // 开始获取延迟深度链接
      _googleAdsDeferredDeepLinkPlugin.startFetch();
    } on PlatformException {
      if (mounted) {
        setState(() {
          _deepLink = 'Start Error'; // 如果发生错误,显示启动错误
        });
      }
    }
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Plugin example app'), // 应用标题
        ),
        body: Center(
          child: Text('Fetched deep link: $_deepLink\n'), // 显示获取到的深度链接
        ),
      ),
    );
  }
}

更多关于Flutter广告延迟深度链接插件google_ads_deferred_deep_link的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter广告延迟深度链接插件google_ads_deferred_deep_link的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,以下是一个关于如何使用 google_ads_deferred_deep_link 插件在 Flutter 应用中实现广告延迟深度链接(Deferred Deep Linking)的示例代码。这个插件主要用于处理来自 Google Ads 的延迟深度链接,以便在用户点击广告后,根据广告点击信息将用户引导到应用内的指定页面。

首先,确保你已经在 pubspec.yaml 文件中添加了 google_ads_deferred_deep_link 依赖:

dependencies:
  flutter:
    sdk: flutter
  google_ads_deferred_deep_link: ^最新版本号

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

接下来,在你的 Flutter 应用中实现以下步骤:

  1. 初始化插件并监听深度链接事件

在你的主应用入口文件(通常是 main.dart)中,初始化 GoogleAdsDeferredDeepLink 插件并设置监听器来处理深度链接事件。

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

void main() {
  WidgetsFlutterBinding.ensureInitialized();

  // 初始化插件并设置监听器
  GoogleAdsDeferredDeepLink.instance.initialize().then((_) {
    GoogleAdsDeferredDeepLink.instance.deferredDeepLink.listen((DeepLinkData? data) {
      if (data != null) {
        // 处理深度链接数据
        handleDeepLink(data);
      }
    });
  });

  runApp(MyApp());
}

void handleDeepLink(DeepLinkData data) {
  // 根据深度链接数据执行相应的逻辑
  // 例如,导航到特定页面
  print('Received deferred deep link: ${data.link}');
  // 你可以在这里添加代码来解析 data.link 并导航到相应的页面
}

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

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Flutter Demo Home Page'),
      ),
      body: Center(
        child: Text('Hello, World!'),
      ),
    );
  }
}
  1. 处理深度链接数据

在上面的代码中,handleDeepLink 函数会根据接收到的深度链接数据执行相应的逻辑。你可以解析 data.link 并根据该链接导航到应用内的特定页面。

  1. 配置 Google Ads

确保你已经在 Google Ads 控制台中正确配置了延迟深度链接。这通常涉及到在广告系列设置中指定深度链接 URL,并确保该 URL 与你的应用能够正确匹配和处理。

  1. 测试延迟深度链接

最后,通过模拟广告点击或使用 Google Ads 提供的测试工具来测试延迟深度链接功能是否正常工作。

请注意,实际开发中可能需要根据具体需求对代码进行调整,例如解析深度链接 URL 的具体逻辑、错误处理等。此外,确保你的应用已经正确配置了与 Google Ads 相关的所有必要信息,如应用 ID、广告跟踪等。

回到顶部