facebook twitter hatena line email

「Flutter/admob/admob flutter」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(サンプル)
(サンプル)
行32: 行32:
 
String getAppId() {
 
String getAppId() {
 
   if (Platform.isIOS) {
 
   if (Platform.isIOS) {
     return 'ca-app-pub-~~~~~~';
+
     return 'ca-app-pub-xxxxxxx-appid';
 
   } else if (Platform.isAndroid) {
 
   } else if (Platform.isAndroid) {
     return 'ca-app-pub-~~~~~~';
+
     return 'ca-app-pub-xxxxxxx-appid';
 
   }
 
   }
 
   return null;
 
   return null;

2019年12月13日 (金) 14:24時点における版

インストール

pubspec.yaml

dependencies:
 admob_flutter: ^0.3.4

準備

AndroidManifest.xml

<meta-data
 android:name="com.google.android.gms.ads.APPLICATION_ID"
 android:value="ca-app-pub-~~~~~~"/>

ios/Runner/Info.Plist

<key>GADApplicationIdentifier</key>
<string>ca-app-pub-~~~~~</string>
<key>io.flutter.embedded_views_preview</key>
<true/>

appIdを入れる。

サンプル

初回起動時に設定

import 'package:flutter/material.dart';
import 'package:admob_flutter/admob_flutter.dart';
import 'dart:io';
Admob.initialize(getAppId());
String getAppId() {
  if (Platform.isIOS) {
    return 'ca-app-pub-xxxxxxx-appid';
  } else if (Platform.isAndroid) {
    return 'ca-app-pub-xxxxxxx-appid';
  }
  return null;
}

広告挿入箇所

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: _buildListView(),
    );
  }
  Widget _buildListView() {
    AdmobBanner admobBanner = AdmobBanner(
      adUnitId: getBannerAdUnitId(),
      adSize: AdmobBannerSize.LEADERBOARD,
    );
    final int size = 10;
    List<Widget> _children = List<Widget>.generate(
      size,
          (int index) => _buildListItem(text: "iTem: $index"),
    );
    _children.insert(
      2,
      Padding(
        padding: const EdgeInsets.all(8.0),
        child: admobBanner,
      ),
    );
    return ListView(
      children: _children,
    );
  }
  Widget _buildListItem({String text}) {
    return Container(
      height: 150,
      child: Card(
        color: Colors.grey,
        child: Padding(
          padding: const EdgeInsets.all(8.0),
          child: Center(child: Text(text)),
        ),
      ),
    );
  }
  String getBannerAdUnitId() {
    if (Platform.isIOS) {
      return 'ca-app-pub-xxxxxx-unitid';
    } else if (Platform.isAndroid) {
      return 'ca-app-pub-xxxxxx-unitid';
    }
    return null;
  }

参考:https://qiita.com/gkn/items/f5fde5be608384f1a272

Missing google_app_id. Firebase Analytics disabled.エラーが出る場合

firebaseの設定を入れる必要がある。