[플러터] 웹뷰에서 애드센스 사용하기

소요 시간: 3분

최근 구글은 웹뷰(안드로이드와 iOS)에서 애드센스 광고를 사용하는 것을 허용했습니다. 이를 통해 플러터 애플리케이션에서도 웹뷰를 통해 애드센스를 사용할 수 있게 되었습니다. 이 글에서는 플러터 애플리케이션에서 웹뷰를 통해 애드센스를 사용하는 방법을 단계별로 설명하겠습니다.


Google Mobile Ads SDK 버전 20.6.0에서는 웹뷰 기술을 이용한 애드센스 지원이 추가되었습니다. 웹뷰를 기본 뷰로 사용하는 앱에서 웹뷰에서 애드센스를 이용한 광고를 보여줄 수 있게 되었습니다. 이를 위해서는 광고용 웹뷰 API를 안드로이드 또는 iOS에 통합해야 합니다.


안드로이드에서 웹뷰를 통한 애드센스 구현 방법

  1. 종속성 추가

    먼저, 프로젝트의 app/build.gradle 파일에 다음 종속성을 추가합니다.

    dependencies {
      implementation 'com.google.android.gms:play-services-ads:21.3.0'
    }
    
  2. 메타데이터 추가

    AndroidManifest.xml 파일에 다음 메타데이터를 추가하여 APPLICATION_ID 검사를 우회합니다.

    <meta-data
          android:name="com.google.android.gms.ads.INTEGRATION_MANAGER"
          android:value="webview"/>
    
  3. 라이프사이클 메서드 수정

    MainActivityonCreate 메서드에 다음 코드를 추가하여 웹뷰를 등록합니다.

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
        WebView webView = findViewById(R.id.webView);
        MobileAds.registerWebView(webView);
    
        // 웹뷰 초기화 코드 추가
        webView.getSettings().setJavaScriptEnabled(true);
        webView.loadUrl("<https://your-adsense-enabled-website.com>");
    }
    


iOS에서 웹뷰를 통한 애드센스 구현 방법

iOS에서도 유사한 절차를 따라야 합니다. 다음은 주요 단계입니다.

  1. Podfile 수정

    프로젝트의 Podfile에 다음 종속성을 추가합니다.

    pod 'Google-Mobile-Ads-SDK', '~> 8.0'
    
  2. Info.plist 수정

    Info.plist 파일에 다음 설정을 추가합니다.

    <key>GADIsAdManagerApp</key>
    <true/>
    
  3. 라이프사이클 메서드 수정

    AppDelegate에 다음 코드를 추가하여 웹뷰를 초기화하고 등록합니다.

    import GoogleMobileAds
    
    @UIApplicationMain
    class AppDelegate: UIResponder, UIApplicationDelegate {
        var window: UIWindow?
    
        func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
            GADMobileAds.sharedInstance().start(completionHandler: nil)
    
            // 웹뷰 초기화 코드 추가
            if let viewController = window?.rootViewController as? ViewController {
                viewController.webView.navigationDelegate = self
                viewController.webView.load(URLRequest(url: URL(string: "<https://your-adsense-enabled-website.com>")!))
            }
    
            return true
        }
    }
    

이처럼 플러터 애플리케이션에서도 웹뷰를 통해 애드센스를 구현할 수 있습니다. 구글의 공식 문서와 안내서를 참고하여 필요한 설정을 추가하고, 애드센스를 효과적으로 활용해 보세요.

플러터 리스트