Реклама не показывается на устройствах iOS - PullRequest
0 голосов
/ 02 сентября 2018

Во флаттере мы хотим использовать AdMob.

Устанавливаем следующим образом. Поскольку могут быть отношения, мы также пишем Firebase Analytics.

[pubspec.yaml]
dependencies:
  flutter:
    sdk: flutter

  firebase_admob: ^0.5.7
  firebase_analytics: ^1.0.3

[main.dart]
void main() {
  // [Analytics]
  FirebaseAnalytics().logAppOpen();

  // [Initialize:AdMob]
  FirebaseAdMob.instance.initialize(
    appId: Platform.isAndroid
        ? 'ca-app-pub-xxxxxxxxxxxxxxxx~xxxxxxxxxx'
        : 'ca-app-pub-yyyyyyyyyyyyyyyy~yyyyyyyyyy',
  );

  // [Create Banner Ad:AdMob]
  createBannerAd()
    ..load()
    ..show(
      anchorType: AnchorType.top,
    );

  runApp(MyApp());
}

final MobileAdTargetingInfo targetingInfo = new MobileAdTargetingInfo(
  testDevices: Const.testDevices,
  keywords: <String>[
    'foo',
    'bar',
  ],
  birthday: new DateTime.now(),
  childDirected: true,
  gender: MobileAdGender.female,
);

// [Create Banner Ad:AdMob]
BannerAd createBannerAd() {
  return new BannerAd(
    adUnitId: Platform.isAndroid
        ? 'ca-app-pub-XXXXXXXXXXXXXXXX/XXXXXXXXXX'
        : 'ca-app-pub-YYYYYYYYYYYYYYYY~YYYYYYYYYY',
    size: AdSize.banner,
    targetingInfo: targetingInfo,
    listener: (MobileAdEvent event) {
      print("BannerAd event $event");
    },
  );
}

Мы загружаем файл конфигурации Firebase и размещаем его в следующем. В Целевом членстве XCode мы подтвердили, что оно установлено правильно.

/android/app/google-services.json
/ios/Runner/GoogleService-Info.plist

Отображается нормально на устройстве Android. Тем не менее, он не отображается на устройстве iOS. Был выведен следующий журнал.

2018-08-29 11:21:58.147849+0900 Runner[459:115739] FirebaseAdMobPlugin <warning> [FIRApp configure]
2018-08-29 11:21:58.157062+0900 Runner[459:115880] 5.5.0 - [Firebase/Core][I-COR000003] The default Firebase app has not yet been configured. Add `[FIRApp configure];` (`FirebaseApp.configure()` in Swift) to your application initialization. Read more:
[abridgement]
2018-08-29 11:21:59.755279+0900 Runner[459:115739] FirebaseAdMobPlugin <warning> adView:didFailToReceiveAdWithError: Request Error: No ad to show. (MobileAd <FLTBannerAd: 0x113ef81b0> PENDING mobileAdId:ZZZZZZZZZ for: <GADBannerView: 0x113efa7b0; frame = (0 0; 320 50); clipsToBounds = YES; layer = <CALayer: 0x113efac40>>)
2018-08-29 11:21:59.757247+0900 Runner[459:115885] flutter: BannerAd event MobileAdEvent.failedToLoad

Как мы должны реализовать [FIRApp configure]; в флаттере? Это ненужно? Мы не смогли найти его в примере кода.

Правильны ли наши настройки? Если мы подождем еще несколько дней, не будет отложено ожидание mobileAdId?

$ flutter doctor -v
[✓] Flutter (Channel dev, v0.7.2, on Mac OS X 10.13.6 17G65, locale ja)
    • Flutter version 0.7.2 at /Applications/flutter
    • Framework revision f8a2fc7c28 (4 days ago), 2018-08-27 20:58:30 +0200
    • Engine revision af42b6dc95
    • Dart version 2.1.0-dev.1.0.flutter-ccb16f7282

[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    • Android SDK at /Users/xxxxx/src/android-sdks
    • Android NDK at /Users/xxxxx/src/android-sdks/ndk-bundle
    • Platform android-27, build-tools 27.0.3
    • ANDROID_HOME = /Users/xxxxx/src/android-sdks
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)
    • All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 9.4.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 9.4.1, Build version 9F2000
    • ios-deploy 1.9.2
    • CocoaPods version 1.5.3

[✓] Android Studio (version 3.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 27.1.1
    • Dart plugin version 173.4700
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)

[✓] VS Code (version 1.25.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 2.17.1

[✓] Connected devices (1 available)
    • iPhone 6 Plus • XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX • ios • iOS 11.4.1

• No issues found!

Параллельно с этим вопросом мы также связываемся с AdMob. Объявления не будут отображаться с использованием следующего идентификатора приложения и идентификатора рекламного блока.

ca-app-pub-3940256099942544~1458002511
ca-app-pub-3940256099942544/2934735716

Ответы [ 2 ]

0 голосов
/ 04 сентября 2018

Мы попробовали несколько терминалов.

  • [OK] ASUS Z017DA (Android)
  • [OK] iPad mini
  • [OK] iPhone 4s
  • [NG] iPhone 6 Plus
  • [NG] iPhone SE

Мы пробовали различные изменения, но они были неэффективны. Однако сегодня «Нет рекламы для показа» внезапно прекратилось. Но объявление еще не отображалось.

Мы думали, что реклама может отображаться за пределами экрана. Когда мы выполнили следующие настройки, объявление показывалось в том месте, где мы ожидали.

_bannerAd
  ..load()
  ..show(
    anchorType: AnchorType.top,
    anchorOffset: 50.0,
  );

Однако в терминале, который обычно отображался до изменения, реклама отображалась смещенной вниз. Мы не могли принять этот метод, потому что мы не можем попробовать все терминалы.

Далее мы разместили рекламу под экраном.

_bannerAd
  ..load()
  ..show(
    anchorType: AnchorType.bottom,
  );

В этом случае мы смогли подтвердить, что реклама отображается нормально на всех терминалах. Мы хотели разместить объявление сверху, но мы отказались от него.

AnchorType.top может быть неправильным в некоторых случаях.

0 голосов
/ 03 сентября 2018

-> Конфиденциальность, затем

-> Реклама тогда

-> Ограничение отслеживания рекламы Admob теперь отображается при повторном включении и выключении.

Возможно, это плохо, что DeviceID находится в том же состоянии?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...