Flutter应用程序在添加google_移动的_ads后崩溃

uajslkp6  于 2023-06-24  发布在  Flutter
关注(0)|答案(2)|浏览(147)
    • bounty还有2天到期**。此问题的答案有资格获得+50声望奖励。Saad想要引起更多关注这个问题:需要这个问题的答案

在我的flutter应用程序中添加google_mobile_ads包后,应用程序崩溃,没有显示任何东西。
我已经在androidManifest文件中添加了所需的文本。
androidManifest.xml文件:

<application
        android:label="ad_prac"
        android:name="${applicationName}"
        android:icon="@mipmap/ic_launcher">
         
        <activity
            android:name=".MainActivity"
            android:exported="true"
            android:launchMode="singleTop"
            android:theme="@style/LaunchTheme"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
            android:hardwareAccelerated="true"
            android:windowSoftInputMode="adjustResize">
         
            <meta-data
              android:name="io.flutter.embedding.android.NormalTheme"
              android:resource="@style/NormalTheme"
              />
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
          <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-3940256099942544/6300978111"/>
     
        <meta-data
            android:name="flutterEmbedding"
            android:value="2" />
     
    </application>

main. dart文件:

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

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  final initFuture = MobileAds.instance.initialize();
  final adState = AdState(initFuture);
  runApp(MyApp()),

}

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
  Widget build(BuildContext context) {
    return MyHomePage();
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key, required this.title});

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        body: Column(
      children: [
        Expanded(
          child: ListView.builder(
              itemCount: 100,
              itemBuilder: (context, index) {
                return ListTile(
                  title: Text("this is $index"),
                );
              }),
        ),
      
      ],
    ));
  }
}

我正在使用Android模拟器与谷歌播放
我已经在activity标记下面添加了Meta标记,并尝试了其他修复方法,但都不起作用

jexiocij

jexiocij1#

最新更新Flutter Version(在Pubspec.yaml sdk版本sdk: '>=3.0.1 <4.0.0'中),然后在项目级别ext.kotlin_version = '1.7.10'中更改Gradle文件

classpath 'com.android.tools.build:gradle:7.3.1'

现在它可以正常工作了

9gm1akwq

9gm1akwq2#

您还需要将这一行添加到应用级gradle文件的dependencies部分:

dependencies {
  ...
  implementation 'com.google.android.gms:play-services-ads:22.1.0'
}

并确保在同一文件中minSdkVersion19或更高:

defaultConfig {
        ...
        minSdkVersion 19
        ...
    }

AdMob -入门

相关问题