Ads are not showing on iOS devices

自闭症网瘾萝莉.ら 提交于 2020-01-06 05:25:24

问题


In flutter, we want to use AdMob.

We set as follows. Because there may be relationships, we also write 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");
    },
  );
}

We download the Firebase configuration file and place it in the following. In Xcode's Target Membership, we have confirmed that it is set correctly.

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

It is displayed normally on Android device. However, it is not displayed on the iOS device. The following log was output.

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

How should we implement [FIRApp configure]; in the flutter? Is it unnecessary? We could not find it in the sample code.

Is our setting correct? If we wait for a few more days, will mobileAdId not be pending?

$ 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!

In parallel with this question, we also contact AdMob. Ads will not be shown using the following app ID and ad unit ID.

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

回答1:


We tried several terminals.

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

We tried various changes but they were ineffective. However, today "No ad to show" suddenly ceased to occur. But the ad was not displayed yet.

We thought that ads might be displayed outside the screen. When we made the following settings, the ad was displayed in the place we expected.

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

However, in the terminal normally displayed before the change, the ad was displayed shifted downward. We could not adopt this method because we can not try all the terminals.

Next, we placed the ad under the screen.

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

In this case, we were able to confirm that ad is displayed normally on all terminals. We wanted to place the ad on top but we gave it up.

AnchorType.top may be incorrect in some cases.




回答2:


-> Privacy then

-> Adverting then

-> Limit Ad Tracking Admob is now displayed when repeating on and off.

Perhaps it is bad that DeviceID is in the same state?



来源:https://stackoverflow.com/questions/52136942/ads-are-not-showing-on-ios-devices

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!