2025ver. 플러터로 개발 후 광고 삽입하여 배포하는 방법

플러터 앱 광고 삽입 및 배포 방법

광고 삽입

1. 광고 통합 (AdMob 기준)

  • AdMob 계정 설정: AdMob에서 Android/iOS 앱 등록 후 각 플랫폼별 App ID 획득. App ID 형식은 ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy.
  • 플랫폼 설정:
  • Android: android/app/src/main/AndroidManifest.xml에 <meta-data> 태그로 App ID 추가.
  • iOS: ios/Runner/Info.plist에 GADApplicationIdentifier 키로 App ID 설정.
  • 패키지 추가: google_mobile_ads 플러그인 설치 (flutter pub add google_mobile_ads)
  • SDK 초기화: main.dart에서 MobileAds.instance.initialize() 호출, 비동기 처리 위해 WidgetsFlutterBinding.ensureInitialized() 필수.
  • 광고 유형 구현:
    • 배너 광고: BannerAd 인스턴스 생성 후 load() 호출. AdSize로 크기 조정 가능.
final bannerAd = BannerAd(
  size: AdSize.banner,
  adUnitId: 'ca-app-pub-3940256099942544/6300978111',
  listener: BannerAdListener(),
  request: AdRequest(),
)..load();
  • 전면 광고: InterstitialAd.load()로 로드 후 ‘show()’ 실행.
  • 보상형 광고: RewardedAd.load() 사용, 사용자 상호작용 시 보상 제공.

2. 앱 배포 준비

  • Android (Google Play):
  1. 키 저장소 생성: keytool 명령어로 .jks 파일 생성.
  2. 빌드 설정: android/key.properties에 키 정보 입력 후 build.gradle에서 서명 구성.
  3. AAB 생성: flutter build appbundle –release 실행.
  4. Play Console 업로드: 내부 테스트 트랙에 .aab 파일 업로드 후 프로덕션 전환.
  • iOS (App Store):
  1. 번들 ID 등록: Apple Developer Portal에서 com.example.app 형식으로 고유 ID 생성.
  2. Xcode 설정: 자동 서명 활성화 및 팀 계정 연결.
  3. IPA 빌드: flutter build ipa –export-method app-store 실행.
  4. Transporter 업로드: .ipa 파일을 Apple에 제출 후 심사 요청.

3. 고급 전략

  • 매체 연동 (Mediation): AdMob 외 Facebook Audience, Unity Ads 등 다중 네트워크 통합 가능. mediation 패키지 활용 시 수익 극대화.
  • 테스트 광고 사용: 개발 단계에선 테스트 Ad Unit ID(ca-app-pub-3940256099942544/6300978111) 필수[1][28].
  • 규정 준수:
  • Android: 광고 ID 권한 확인.
  • iOS: Xcode에서 ATT 프레임워크 적용 및 개인정보 처리 방침 명시.

4. 대체 광고 플랫폼

  • AppLovin/Unity Ads: applovin_max 또는 unity_ads_plugin 패키지 사용.
  • IronSource: 보상형 광고 최적화 가능.

5. 주의사항

  • 키 저장소 관리: 분실 시 앱 업데이트 불가능.
  • 광고 밀도 제어: 사용자 경험 저하 방지를 위해 전면 광고 노출 빈도 제한.
  • 애드몹 정책: 유해 콘텐츠 및 클릭 유도 배너 금지.

더 자세한 설명

1. 광고 통합 (AdMob 기준)

AdMob 계정 설정

AdMob 웹사이트에서 계정을 생성하고 Android 및 iOS 앱을 등록합니다. 각 플랫폼에 맞는 App ID를 획득해야 합니다. App ID는 ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy 형태를 가집니다.

플랫폼별 설정

  • Android: android/app/src/main/AndroidManifest.xml 파일을 열고 <application> 태그 내에 <meta-data> 태그를 추가하여 AdMob App ID를 설정합니다.
<manifest>
    <application>
        ...
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
    </application>
</manifest>
  • iOS: ios/Runner/Info.plist 파일을 열고 GADApplicationIdentifier 키를 추가하여 AdMob App ID를 설정합니다.
<key>GADApplicationIdentifier</key>
<string>ca-app-pub-################~##########</string>

#에는 자신이 가지고 있는 펍코드 숫자로 넣어주세요.

플러그인 추가

google_mobile_ads 플러그인을 Flutter 프로젝트에 추가합니다. 터미널에서 다음 명령어를 실행합니다.

flutter pub add google_mobile_ads

SDK 초기화

lib/main.dart 파일에서 Mobile Ads SDK를 초기화합니다. MobileAds.instance.initialize() 메서드를 호출하여 SDK를 초기화하고, 초기화가 완료될 때까지 기다립니다.

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

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  MobileAds.instance.initialize();
  runApp(MyApp());
}

광고 유형 구현

  • 배너 광고: BannerAd 인스턴스를 생성하고 load() 메서드를 호출하여 배너 광고를 로드합니다. AdSize를 사용하여 배너 광고의 크기를 조정할 수 있습니다.
final bannerAd = BannerAd(
  size: AdSize.banner,
  adUnitId: 'ca-app-pub-3940256099942544/6300978111', // 테스트 광고 단위 ID
  listener: BannerAdListener(),
  request: AdRequest(),
)..load();
  • 전면 광고: InterstitialAd.load()를 호출하여 전면 광고를 로드하고, show() 메서드를 호출하여 광고를 표시합니다.
  • 보상형 광고: RewardedAd.load()를 사용하여 로드하고, 사용자 상호 작용에 대한 보상을 제공합니다.

2. 앱 배포 준비

Android (Google Play)

1. 키 저장소 생성: keytool 명령어를 사용하여 앱 서명에 필요한 .jks 키 저장소 파일을 생성합니다.

    keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

    2. 빌드 설정: android/key.properties 파일을 생성하고 키 저장소 정보를 입력합니다.

      storePassword=your_store_password
      keyPassword=your_key_password
      keyAlias=key
      storeFile=../key.jks

      ‘android/app/build.gradle’파일에서 서명 구성을 추가합니다.

      android {
          ...
          signingConfigs {
              release {
                  storeFile file("key.jks")
                  storePassword "your_store_password"
                  keyAlias "key"
                  keyPassword "your_key_password"
              }
          }
          buildTypes {
              release {
                  signingConfig signingConfigs.release
              }
          }
      }

      3. AAB 생성: flutter build appbundle –release 명령어를 실행하여 Android App Bundle(.aab) 파일을 생성합니다.

      4. Play Console 업로드: Google Play Console에 접속하여 내부 테스트 트랙에 .aab 파일을 업로드하고, 앱을 프로덕션으로 전환합니다.

        iOS (App Store)

        1. 번들 ID 등록: Apple Developer Portal에서 앱의 고유한 Bundle ID를 등록합니다. Bundle ID는 com.example.app 형식입니다.
        2. Xcode 설정: Xcode에서 자동 서명(Automatically manage signing)을 활성화하고 팀 계정을 연결합니다.
        3. IPA 빌드: flutter build ipa –export-method app-store 명령어를 실행하여 IPA 파일을 생성합니다.
        4. Transporter 업로드: Apple Transporter 앱을 사용하여 .ipa 파일을 Apple에 제출하고 앱 심사를 요청합니다.

        3. 고급 전략

        매체 연동 (Mediation)

        AdMob 외에 Facebook Audience Network, Unity Ads 등 여러 광고 네트워크를 통합하여 광고 수익을 극대화할 수 있습니다. mediation 패키지를 사용하면 여러 광고 소스를 관리하고 최적화할 수 있습니다.

        테스트 광고 사용

        개발 단계에서는 실제 광고 대신 AdMob에서 제공하는 테스트 광고 단위 ID(ca-app-pub-3940256099942544/6300978111)를 사용해야 합니다.

        규정 준수

        • Android: AndroidManifest.xml 파일에서 광고 ID 권한을 확인합니다.
        • iOS: Xcode에서 ATT(App Tracking Transparency) 프레임워크를 구현하고 개인 정보 처리 방침을 명확하게 명시해야 합니다.

        4. 대체 광고 플랫폼

        • AppLovin/Unity Ads: applovin_max 또는 unity_ads_plugin 패키지를 사용하여 AppLovin 또는 Unity Ads를 통합할 수 있습니다.
        • IronSource: 보상형 광고에 최적화된 IronSource 플랫폼을 고려할 수 있습니다.

        5. 주의사항

        • 키 저장소 관리: 키 저장소를 분실하면 앱 업데이트가 불가능하므로 안전하게 보관해야 합니다.
        • 광고 밀도 제어: 사용자 경험을 저해하지 않도록 전면 광고의 노출 빈도를 적절하게 조절해야 합니다.
        • AdMob 정책 준수: AdMob 정책을 위반하는 콘텐츠(예: 유해 콘텐츠, 클릭 유도 배너)는 금지됩니다.

        Read more

        혼자서 앱 개발을 위한 플러터 사용 방법

        플러터는 구글에서 2017년 5월 출시된 Skia/Impeller를 렌더링 엔진으로 사용하는 모바일/웹/데스크톱 크로스플랫폼입니다. 하나의 코드베이스로 다양한 운영체제 및 웹 브라우저에서 모두 동작되는 앱을 위해 출시되었습니다. <안드로이드 스튜디오에서 플러터를 적용한 모습> 1. 개발 환경 설정 2. Dart 언어 학습 3. 플러터 기본 개념 4. 실전 앱 개발 5. 학습 리소스 6. 고급 팁 7. 성장 전략 핵심: 플러터 … Read more

        라그나로크M: 클래식 MMORPG의 모바일 부활, 7주년 이벤트

        리니지M 이후의 새로운 선택지2025년 현재 모바일 MMORPG 시장에서 라그나로크M은 클래식한 감성과 현대적인 시스템을 결합한 대표작으로 자리잡았습니다. 4.0 업데이트로 추가된 직업군과 개선된 파티 시스템은 신규 유저 유입과 복귀 유저들의 만족도를 동시에 충족시키며, 자동 사냥을 넘어 전략적 플레이의 재발견을 이끌고 있습니다. 초보자 추천 직업 분석 1. 레인저(궁수 계열) 2. 로드나이트(기사 계열) 진입 장벽을 낮추는 3가지 팁 오래 … Read more

        게임 개발 부트캠프 2가지, 유니티와 언리얼 엔진 비교하기

        게임 개발을 시작할 때 가장 먼저 결정해야 할 것 중 하나는 어떤 게임 엔진을 사용할지 선택하는 것입니다. 두 가지 주요 엔진인 유니티(Unity)와 언리얼 엔진(Unreal Engine)은 각각 고유한 장점과 특징을 가지고 있어, 개발자의 필요와 프로젝트의 요구 사항에 따라 선택이 달라질 수 있습니다. 이번 블로그에서는 이 두 플랫폼의 차이점을 비교하여 여러분이 더 나은 결정을 내릴 수 있도록 … Read more

        로스트 소드 서브컬처 RPG, 19세 게임 아니야?

        2025년 1월 16일, 위메이드커넥트가 국내에 선보인 카멜롯 신화를 바탕으로 한 서브컬처 RPG 게임, ‘로스트 소드’는 영국 아서왕 전설에 기반한 독창적인 세계관과 매력적인 스토리로 많은 이들의 이목을 끌고 있습니다. 게임은 신비로운 성검 엑스칼리버를 찾기 위해 떠나는 모험을 중심으로 전개되며, 깊이 있는 게임플레이와 전략적 요소가 돋보입니다. 게임의 배경과 중심 스토리 로스트 소드는 아서왕 전설을 모티브로 한 판타지 … Read more

        다이너스티 레전드2: 무쌍전란 게임플레이 및 캐릭터별 특징, 쿠폰

        다이너스티 레전드2: 무쌍전란에 대해 자세하게 소개해드리겠습니다. 이 게임은 2025년 2월 18일에 정식 출시된 모바일 RPG 게임으로, 삼국지를 배경으로 한 스토리와 액션이 결합된 대작입니다. 게임 특징 무쌍전란 게임플레이 세부적인 설명 위의 게임플레이에 대한 세부적인 설명입니다. 자유로운 카메라 전환 플레이어는 전투 중 자유롭게 카메라를 전환하여 전장의 전반적인 상황을 한눈에 파악할 수 있습니다. 이 기능을 통해 적의 움직임이나 … Read more

        FTC, 원신에 300억 과징금 부과 소식

        미국 연방거래위원회(FTC)가 ‘원신’ 개발사인 호요버스에 2,000만 달러(약 288억 원)의 과징금을 부과하였습니다. 이 결정은 2025년 1월 17일에 이루어졌으며, 다음과 같은 주요 사항들이 포함되어 있습니다. 과징금 부과 이유 해당 혐의로 벌금 7000억원 넘게 받은 에픽게임즈의 포트나이트가 있었습니다. FTC의 요구 사항 호요버스의 대응 호요버스 측은 FTC의 주장 중 일부가 부정확하다고 처음에는 받아들이지 않았지만, 커뮤니티의 신뢰와 투명성 확보를 위해 … Read more

        나 혼자 만렙 삼국 티어표 및 리세, 쿠폰(사전예약 100만 돌파)

        나 혼자 만렙 게임의 표절작이라는 느낌을 많이 받는 나 혼자 만렙 삼국게임을 가져왔습니다. ‘나 혼자 만렙 삼국‘은 아폴로 테크놀로지가 개발한 신작 모바일 RPG로, 2025년 1월 21일에 정식 출시되었습니다. 이 게임은 삼국 이세계를 배경으로 한 수집형 RPG로, 독특한 스토리와 다양한 게임플레이 요소를 제공합니다. 기본적인 게임의 소개와 티어표 및 리세마라를 할때 주의할점에 대해 알아보겠습니다. 나 혼자 만렙 … Read more

        25년 컴투스 신작, 갓앤데몬 게임 리뷰

        컴투스의 신작 방치형 RPG ‘갓앤데몬’이 2025년 1월 15일에 글로벌 출시되었습니다. 이 게임은 방치형 장르의 편리함과 전략적 깊이를 결합한 독특한 게임플레이를 제공합니다. 갓앤데몬 게임 특징 방대한 콘텐츠: ‘갓앤데몬’은 깊이 있는 메인 스토리, 다양한 던전, 서버 간 PvP, 길드 시스템 등 풍부한 콘텐츠를 제공합니다. 전략적 전투 시스템: 편리한 방치형 게임플레이: 다양한 게임 모드 개발 및 출시 정보 … Read more

        에이펙스 걸스 게임 리뷰(쿠폰코드 11개)

        에이펙스 걸스는 2025년 1월 9일에 출시된 네오리진의 서브컬처 신작 모바일 게임이다. 이 게임은 방치형 RPG 요소를 접목시킨 캐릭터 수집형 RPG로, 미래 세계관에서 ‘스텔라’라 불리는 기계소녀들을 수집하고 육성하는 게임이다. 게임 특징 장점 단점 다음으로는 게임의 스토리와 캐릭터 설명, 메카와 펫 시스템에 대한 설명이다. 에이펙스 걸스 스토리 에이펙스 걸스의 게임 스토리는 기계군단 ‘루인’에 의해 멸망한 세계를 배경으로 … Read more