2. SDK 초기화 및 구현

1. MainActivity 클래스

circle-info

MainActivity 클래스를 FlutterActivity가 아닌 FlutterFragmentActivity로 사용해야 합니다.

public class MainActivity extends FlutterFragmentActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }
}

2. Initialize 클래스

circle-info

광고를 요청하기 전에 초기화가 이루어져야 합니다. 초기화 방법은 초기화를 담당하는 AdWhaleMediationAds 클래스를 MainActivity 에서 호출해주며, 초기화 호출 결과는 AdWhaleMediationOnInitCompleteListener 클래스를 통해 통지됩니다. 자세한 구현은 아래 API와 샘플코드를 참고하여 구현하면 됩니다.

AdWhaleMediationAds 클래스

void initialize()

초기화 샘플코드

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

3. GDPR, COPPA설정

circle-info

GDPR은 유럽연합(이하 'EU')의 개인정보 보호 법령으로 서비스 제공자는 EU 사용자의 개인정보 또는 그에 준하는 정보에 대한 수집 및 활용에 대해 사용자에게 동의 여부를 확인받아야 합니다. GDPR 규정 준수 및 규정에 따른 광고네트워크 동작에 필요한 절차입니다. 유럽 경제 지역 (European Economic Area) 사용자에게 동의 여부를 선택할 수 있는 기능을 제공하며 애드몹 UMP (User Messaging Platform)에 의해서 처리됩니다.

AdWhaleMediationAds 클래스

circle-info

setGdpr 자체적으로 GDPR 선택창을 사용하실 경우 사용하며 AdWhale SDK 내부 GDPR 세팅을 위해 호출.

파라미터 타입

파라미터 값

bool

true : gdpr 동의 false : gdpr 비동의

파라미터 타입

파라미터 값

bool

true : coppa 동의 false : coppa 비동의

초기화 샘플코드

에러 메시지

TIME_OUT (WebView 로 consent form 을 불러오는 데 시간이 너무 오래 걸려 발생 또는 네트워크 연결에 실패한 경우)

Web view timed out

Timed out while loading consent form

INTERNET_ERROR (네트워크 연결이 없거나, 요청이 서버까지 도달하지 못한 경우)

Failed to load consent form due to network error

No internet connection

INTERNAL_ERROR (SDK 내부 로직이나 예외적인 상황에서 발생. 드물게 WebView 초기화 실패 등에서도 볼 수 있음)

Internal error

An unexpected error occurred while loading the consent form

INVALID_OPERATION (아직 load 되지 않은 폼을 show 하려 하거나, 이미 표시 중인데 다시 show 호출했을 때 발생)

Invalid operation. Consent form already showing

Invalid operation: Consent form not ready

Last updated