小编Luk*_*uke的帖子

Play 商店警告:您必须先完成广告 ID 声明,然后才能发布面向 Android 13 (API 33) 的应用

我正在尝试向 Play 商店发布一个基于 Flutter 的 Android 应用程序。

当我在 Play 商店控制台中查看我的版本时,我收到以下警告:

您必须先完成广告 ID 声明,然后才能发布面向 Android 13 (API 33) 的应用。我们将使用此声明在 Play Console 中提供保护措施,以适应 Android 13 中广告 ID 的更改。

面向 Android 13 或更高版本并使用广告 ID 的应用必须在清单中包含 com.google.android.gms.permission.AD_ID 权限。

我已遵循建议并将以下内容添加到我的 android/app/src/main/AndroidManifest.xml 中:

    </application>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
</manifest>
Run Code Online (Sandbox Code Playgroud)

当我“flutter clean”、创建并上传新包时,我仍然收到相同的警告。有谁知道如何解决这个警告?

注意:我已使用 google_mobile_ads 插件将 Google Ads 合并到我的应用中。

卢克

android ads flutter google-play-console

88
推荐指数
3
解决办法
8万
查看次数

使用 Mocktail 测试模拟 http 客户端时,类型“Null”不是类型“Future&lt;Response&gt;”的子类型

我已经使用 Mocktail 编写了一个简单的 HTTP get 测试来模拟 HTTP 客户端。当我在测试中调用 get 方法时,我收到“类型‘Null’不是类型‘Future’的子类型”。

有人知道为什么会这样吗?

这是测试:

class MockHttpClient extends Mock implements http.Client {}

void main() {
  late IdRemoteDataSourceImpl dataSource;
  late MockHttpClient mockHttpClient;

  setUp(
    () {
      mockHttpClient = MockHttpClient();
      dataSource = IdRemoteDataSourceImpl(client: mockHttpClient);
    },
  );

  group('Get id', () {
    test(
      'when response code is 200',
      () async {
        final url = Uri.parse('https://api.test.com/');
        const tUsername = 'username';
        final accountJson = json.decode(
          fixture('account.json'),
          // ignore: avoid_as
        ) as Map<String, dynamic>;
        final tIdModel = IdModel.fromJson(accountJson);
        // arrange
        when(() …
Run Code Online (Sandbox Code Playgroud)

mocking dart flutter

13
推荐指数
1
解决办法
1万
查看次数

小部件测试 TextFormField 模糊文本值

我似乎无法找到一种方法来小部件测试 TextFormField 是否将 obliqueText 设置为 true 或 false。

我知道 TextFormField 是 TextField 的包装器,而 obliqueText 是 TextField 的属性,但无法想出在我的测试中访问 obliqueText 的方法。

因此,当我尝试访问 obscureText 时,我收到消息: The getter 'obscureText' isn't Defined for the type 'TextFormField'

有人知道如何测试 TextFormField 的 obliqueText 属性吗?

  testWidgets(
    'show and hide password fields',
    (
      WidgetTester tester,
    ) async {
      await tester.pumpWidget(
        materialWrapper(
          child: emailSignUpScreen,
        ),
      );
      final Finder passwordTextFormField = find.byKey(
        const Key(
          'passwordTextFormField',
        ),
      );
      final TextFormField input =
          tester.widget<TextFormField>(passwordTextFormField);
      expect(input.obscureText, true);
    },
  );
Run Code Online (Sandbox Code Playgroud)

flutter-test flutter-textformfield

4
推荐指数
1
解决办法
1284
查看次数