Flutter 注册原生广告工厂

Posted

技术标签:

【中文标题】Flutter 注册原生广告工厂【英文标题】:Flutter register native ad factory 【发布时间】:2021-05-05 15:59:00 【问题描述】:

我正在阅读此文档:https://pub.dev/packages/firebase_admob

但我不明白:

这取决于您是否使用 嵌入 V1 或嵌入 V2

我怎么知道?

我还发现了一个包含以下内容的 MainActivity.kt:

package com.drodriguez.my_rents

import androidx.annotation.NonNull;
import io.flutter.embedding.android.FlutterActivity
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugins.GeneratedPluginRegistrant

import android.os.Build
import android.view.ViewTreeObserver
import android.view.WindowManager
class MainActivity: FlutterActivity() 
    override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) 
        GeneratedPluginRegistrant.registerWith(flutterEngine);
    

但它不是 .java

【问题讨论】:

【参考方案1】:

在您的 AndroidManifest.xml 文件中,您将找到以下条目:

<meta-data
  android:name="flutterEmbedding"
  android:value="2" />

这将告诉您您的项目正在使用哪个嵌入版本。 很可能是版本 2,因为这是自 FLutter 版本 1.2 以来的标准。

另请参阅:Android v1 embedding app and plugin creation deprecation

关于 firebase_admob 包: 随着 Flutter 2 和 null-safety 的到来,我建议您使用新的 google_mobile_ads pacakge。 google_mobile_ads

旧包很快就会被弃用。

【讨论】:

有趣的是,您提到了已弃用的部分。 Flutter 的团队在任何地方都没有提到这一点。我对新包的问题是:github.com/googleads/googleads-mobile-flutter/issues/… 不确定这是否能解决您的问题,但我还必须参考他们的示例才能正确显示广告。文档缺少某些部分。 Examples in Github 哦,当你打开old package's site时,你会在红色框中看到'DISCONTINUED' ^^ 是的,他们最近补充说

以上是关于Flutter 注册原生广告工厂的主要内容,如果未能解决你的问题,请参考以下文章

使用 Admob 处理多个原生广告

Flutter和原生交互---StreamController.broadcast

Flutter和原生交互---StreamController.broadcast

Flutter和原生交互---StreamController.broadcast

Flutter admob 中介与 Facebook Audience Network:如何自定义广告显示?

ios原生嵌套Flutter模块