첫 노출 지연 시간 줄이기

플랫폼 선택: Android 신규 Android iOS Unity

폭포식 구조 미디에이션 체인이 길고 서드 파티 어댑터가 여러 개인 앱을 초기화하면 사용자 세션에서 먼저 표시되는 중요한 노출의 광고 요청 지연 시간이 늘어날 수 있습니다. 첫 노출의 지연 시간이 늘어나면 광고 요청이 아직 응답을 반환하지 않은 상태이므로 광고가 게재되지 않을 수 있습니다.

이 가이드에서는 앱 세션에서 첫 노출의 지연 시간을 줄이는 방법을 설명합니다.

시작하기 전에

계속하기 전에 Google Mobile Ads SDK를 설정합니다.

초기화 제한 시간 설정

노출 기회를 놓치지 않으려면 초기화 제한 시간을 설정하세요. 이 방식을 사용하면 정의한 제한 시간을 초과하지 않습니다. 설정한 제한 시간이 지나거나 초기화가 완료되면 광고 요청을 진행할 수 있습니다.

다음 예에서는 초기화 제한 시간을 5초로 설정합니다.

Swift

Task {
  // Create TaskGroup to manage a race between
  // SDK initialization and a 5 second timer.
  await withTaskGroup(of: Void.self) { group in

    // Create a task to initialize the MobileAds SDK.
    group.addTask {
      await withCheckedContinuation { continuation in
        MobileAds.shared.start { _ in
          // SDK initialization finished, resume the continuation.
          // This will not stop the SDK's internal initialization process.
          continuation.resume()
        }
      }
    }

    // Create a cancellable task which is a 5 second timer.
    group.addTask {
      do {
        // Sleep for 5 seconds. This delay *is* cancellable.
        try await Task.sleep(nanoseconds: 5 * 1_000_000_000)
      } catch {
        // cancelAll() will stop this task and throw CancellationError.
        // This happens if the SDK initialization completes first.
      }
    }

    // Wait for either task to complete.
    await group.next()

    // Cancel the timer task if the SDK initialized first.
    group.cancelAll()
  }

  // Load an ad once after task group finishes.
  await self.loadAd()

첫 요청이 있을 때 폭포식 구조 광고 소스 삭제

폭포식 구조 광고 소스에서 추가 지연 시간 없이 광고를 게재하려면 키-값 세분화를 통해 첫 번째 광고 요청이 있을 때 폭포식 구조 광고 소스를 삭제하세요. 다음 단계를 완료합니다.

  1. 미디에이션 그룹을 만들고 입찰 광고 소스를 추가합니다.
  2. latency 키와 low 값을 사용하여 새로운 입찰 전용 미디에이션 그룹에 키-값 세분화를 추가합니다.
  3. UI에서 새 입찰 전용 미디에이션 그룹의 우선순위를 기본 미디에이션 그룹보다 높게 설정합니다. 순서를 조정하려면 미디에이션 그룹 우선순위를 변경하세요.
  4. 첫 번째 광고 요청에 맞춤 타겟팅 키-값 쌍을 포함합니다.

    Swift

    let customTargeting: [String: String] = ["latency": "low"]
    let request = GADRequest()
    request.customTargeting = customTargeting
    

    Objective-C

    NSDictionary *customTargeting = @{@"latency" : @"low"};
    GADRequest *request = [GADRequest request];
    request.customTargeting = customTargeting;
    

  5. 키-값 세분화 설정을 테스트하여 새 입찰 전용 미디에이션 그룹을 올바르게 타겟팅하고 있는지 확인합니다.

시간에 덜 민감한 노출의 실적 개선

앱 실행 시 바로 표시할 필요가 없는 광고처럼 시간에 덜 민감한 노출의 실적을 개선하려면, 입찰 전용 미디에이션 그룹을 타겟팅하지 않는 광고 요청에 광고 미리 로드를 사용하세요.