Facebook Audience Network

 
 
 

Audience Network 구현 테스트

Facebook Audience Network를 모바일 웹사이트나 앱에 통합하는 경우 프로덕션 단계로 넘어가기 전에 실제 기기에서 실제 광고를 사용하여 테스트해야 합니다. 최신 버그 수정 사항과 개선 사항이 적용되도록 통합에 최신 Audience Network SDK를 사용하세요. 다음 섹션에서는 앱과 웹사이트를 테스트하는 방법에 대한 지침을 제공합니다.

iOS 또는 Android 시뮬레이터에서 실행하는 경우 테스트 모드를 활성화하고 기기의 해시 처리된 ID를 지정하여 테스트 광고를 표시할 수 있습니다. 이 단계는 구현을 테스트하기 위한 첫 번째 단계입니다. 또한 아래 지침에 따라 실제 기기에서 실제 광고를 사용하여 테스트하시기 바랍니다.

1. 실제 광고를 사용한 테스트

2. 실제 광고 요청의 오류 코드

3. 테스트 광고를 사용한 테스트

Audience Network 요청 디버거를 사용한 요청 테스트

앱에 노출 위치를 구현한 후에는 Audience Network 요청 디버거 도구를 사용하여 Facebook이 앱의 요청을 수신하고 있는지 확인할 수 있습니다.

개발자 대시보드의 Audience Network 섹션에서 다음 단계를 수행하세요. https://developers.facebook.com/apps/<your_app_id>/audience-network/

"Audience Network"의 왼쪽 패널에서 "앱" 섹션으로 이동하고 "Audience Network 요청 디버거"까지 아래로 스크롤합니다. Start 버튼을 클릭하면 도구에서 직접 앱의 요청을 모니터링합니다.

실제 iOS 및 Android 테스트 기기, iOS 또는 Android에서 앱으로 이동하여 Audience Network 광고 노출 위치를 트리거하면 도구에 광고 요청이 표시됩니다. 요청이 올바른 노출 위치 ID, 번들 패키지 이름 등을 사용하여 전송되었는지 확인하시기 바랍니다.

이 과정에서는 실제 기기를 사용해야 하며 iOS 시뮬레이터나 Android 에뮬레이터에서는 작동하지 않습니다.

도구에서 모니터링하기 위해 사용하는 동일한 테스트 기기에서 Facebook 앱에 로그인되어 있어야 합니다.

도구에 광고 요청이 표시되지 않는 경우 Facebook에서 요청을 정상적으로 수신하지 않는 것입니다. 디버깅을 위해 다음 항목을 확인하시기 바랍니다.

  1. 시뮬레이터/에뮬레이터가 아닌 실제 기기를 사용해야 합니다.
  2. 테스트 기기에 Facebook 앱이 설치되어 있어야 합니다.
  3. Facebook Audience Network 앱의 관리자, 개발자 또는 테스터로 등록된 사용자로 테스트 기기의 Facebook에 로그인되어 있어야 합니다.
  4. 미디에이션을 사용하는 경우 미디에이션 계층에서 Facebook Audience Network로 요청을 전송해야 합니다.

실제 광고를 사용한 테스트

실제 광고를 사용한 테스트는 2단계에 걸쳐 진행됩니다. 첫 번째 단계에서는 앱이 승인되기 전에 테스터가 실제 광고를 볼 수 있도록 테스터를 앱 설정에 추가합니다. 두 번째 단계에서는 추가된 테스터가 Facebook에 로그인한 상태에서 앱 또는 모바일 웹사이트를 사용합니다. 다음에서 두 가지 단계를 수행하는 방법을 자세히 알아보세요.

앱에 테스터 추가

테스터를 Facebook에 원하는 역할로 추가한 후 실제 기기에서 실제 광고를 사용하여 앱 또는 웹사이트를 테스트할 수 있습니다. 앱에 테스터를 추가하는 데 권장되는 방법은 다음과 같습니다.

  1. 앱의 대시보드로 이동하여 왼쪽의 역할 탭을 클릭합니다.
  2. 테스터 섹션에서 테스터 추가 버튼을 클릭합니다. 테스터 외에도 관리자 또는 개발자 역할을 지정할 수 있습니다. 앱이나 웹사이트를 테스트하되 Facebook에서 해당 앱이나 웹사이트의 설정을 보는 권한은 제한하려면 테스터 역할을 지정하는 것이 좋습니다.
  3. 테스터로 추가할 사람의 이름, Facebook ID 또는 사용자 이름을 입력하고 제출을 클릭합니다. 여기에 여러 사람을 입력할 수 있습니다.
  4. 위 단계를 완료하면 테스터로 추가한 사람들이 표시됩니다.

미디에이션 계층을 사용하는 경우 미디에이션 계층에서 Audience Network에 요청을 보내는지 확인하세요. 미디에이션 계층에서 테스트를 활성화한 경우 Facebook 서버에 요청을 보내지 않을 수도 있습니다.

모바일 앱 테스트

  1. 원하는 방법으로 테스터의 기기에 앱을 배포합니다.
  2. 추가된 각 테스터는 자신의 기기에 Facebook 앱이 설치되어 있고, 테스터 역할에 추가된 Facebook 사용자 ID를 사용하여 앱에 로그인한 상태여야 합니다. 앱의 검수 상태와 관계없이 광고를 반환하려면 Facebook에서 사용자를 테스터로 인식할 수 있어야 하기 때문입니다.
  3. 위 단계를 모두 완료하면 테스터는 앱을 실행하고 테스트할 노출 위치를 트리거하는 데 필요한 단계를 실행할 수 있습니다. 이렇게 하면 테스터에게 실제 광고가 표시됩니다.

광고 노출 위치를 테스트할 때 Facebook은 앱이나 모바일 웹사이트에서 요청한 광고가 수신되지 않는 사례를 처리하는 방식을 테스트할 수 있도록 요청의 약 20%에 대해서는 의도적으로 광고를 전송하지 않습니다.

실제 광고 요청의 오류 코드

Facebook Audience Network의 구현을 테스트하는 경우 요청할 때 여러 가지 오류 코드가 나타날 수 있습니다. 아래는 발생할 수 있는 오류 코드와 그에 대한 설명입니다.

1000 - Network Error

서버 응답 SDK 문서

Code=1000 “Network Error"

  • Error 1000 - Network Error: Audience Network SDK가 facebook.com(http://facebook.com/)에 연결할 수 없다는 의미입니다.
  • 네트워크에 연결할 수 있을 때까지 앱에서 다른 요청을 시도해야 합니다. 연결이 재설정되거나 시간을 초과했다는 메시지가 표시될 때까지 계속 요청하는 것이 좋습니다.

1001 - No Fill

이 오류는 테스트하는 동안 표시되는 일반적인 오류이며 "No Fill" 응답과 관련이 있습니다. 이 오류가 발생하는 가장 일반적인 이유는 사용자가 모바일 앱을 테스트할 때 Facebook 앱에 로그인하지 않았거나 모바일 웹사이트를 테스트할 때 Facebook 모바일 웹사이트에 로그인하지 않았기 때문입니다.

서버 응답 SDK 문서

Code=1001 “No Fill”

  • Error 1001 - No Fill: 아래와 같은 원인이 있을 수 있습니다.
  • 사용자가 모바일 기기에서 네이티브 Facebook 앱에 로그인하지 않았습니다.
  • 광고 추적 제한이 설정되었습니다(iOS).
  • 관심사 기반 광고에 대한 옵트 아웃이 설정되었습니다(Android).
  • 현재 사용자에 대한 광고 인벤토리가 없습니다.
  • 테스트 기기에 네이티브 Facebook 앱이 설치되지 않았습니다.
  • 앱에서 요청을 다시 보낼 때는 30초 이상의 간격이 필요합니다.

1002 - Ad Load Too Frequently

서버 응답 SDK 문서

Code=1002 “Load Too Frequently”

  • 광고 요청은 아래 항목의 조합을 기반으로 합니다.
  • 기기 ID
  • 노출 위치 ID
  • 표시 형식(배너, 삽입, 네이티브)
  • 앱에서 요청을 다시 보낼 때는 30분 이상의 간격이 필요합니다. 새로 고침 비율이나 요청 비율도 조정하는 것이 좋습니다.

1203 - Not An App Admin, Developer or Tester

서버 응답 SDK 문서

Code=1203 “Not An App Admin, Developer or Tester”

  • 번들에서의 초기 요청은 앱 관리자, 개발자 또는 테스터로부터 수신되어야 합니다.

2000 - Server Error

서버 응답 SDK 문서

Code=2000 “Server Error"

  • Error 2000 - Server Error: 아래와 같은 원인이 있을 수 있습니다.
  • 잘못된 노출 위치 ID - 각 노출 위치 및 유형에는 고유한 ID가 있습니다.
  • 지원되지 않거나 오래된 SDK 버전 - Cocoa Pods를 사용하는 경우 최신 버전을 다운로드하거나 Pod를 업데이트하세요.
  • loadAd 메서드의 부적절한 호출/사용 - loadAd 및 연결된 모든 메서드/콜백에 중단점을 설정하세요.
  • 앱에서 요청을 다시 보낼 때는 30초 이상의 간격이 필요합니다.

2001 - Internal Error

서버 응답 SDK 문서

Code=2001 “Internal Error”

  • Error 2001 - Internal Error: Audience Network SDK에서 facebook.com의 응답을 처리할 수 없다는 의미입니다.
  • 앱에서 요청을 다시 보낼 때는 30초 이상의 간격이 필요합니다.
  • 이 오류가 계속해서 발생하면 Facebook에 버그 신고를 제출하세요.

테스트 광고를 사용한 테스트

앱을 테스트하는 사용자가 Facebook의 앱 대시보드에서 해당 역할에 추가되었는지 확인해야 합니다. 테스트할 수 있는 역할에 추가된 사람이 실제 기기에서 실제 광고를 볼 수 있으므로 권장되는 테스트 방법입니다. 권장되는 테스트 방법에 대한 자세한 내용은 실제 광고를 사용한 테스트 섹션을 참조하세요.

하지만, 이전 섹션에서 언급되었듯이 항상 앱의 UI 보기를 사용하여 실제 광고의 모습을 테스트할 수 있는 것은 아닙니다. 또한 앱에서 받는 광고가 반드시 이미지 광고, 동영상 광고 또는 슬라이드 광고인 것은 아닙니다. 실제 광고를 요청해도 반환된 광고의 콘텐츠와 형식이 보장되지는 않습니다. 세로가 긴 동영상 콘텐츠가 포함된 광고가 앱의 UI 보기를 사용하여 올바로 표시되는지 테스트하려면 어떻게 해야 하나요?

Audience Network SDK 4.23부터 testAdType이라고 하는 클래스 속성이 iOS SDK의 FBAdSettings 및 Android SDK의 AdSettings에 추가되었습니다. 다음 섹션에서는 iOS 및 Android SDK를 사용하여 테스트 광고 요청을 구현하는 경우를 보여줍니다.

iOS에서 테스트 광고 사용

Testflight를 사용하여 앱을 배포하고 테스트하는 경우 해당 테스트 빌드에서 실제 광고를 볼 수 없습니다. 대신 Audience Network에서 광고를 가져오려면 아래 표시된 대로 테스트 모드를 설정해야 합니다. Testflight에서 배포한 앱에서 광고주용 식별자(IDFA)를 요청할 때마다 다른 IDFA를 받게 됩니다. 일반적으로 한 기기의 IDFA는 사용자가 수동으로 재설정할 때까지 일정하게 유지됩니다. 하지만 Testflight 빌드에서 운영 체제에 IDFA를 요청하는 경우 "실제" IDFA를 받지 않습니다. 대신, 앱이 요청할 때마다 변경되는 "더미" IDFA를 받습니다.

이 문제를 해결하기 위해 테스트 모드를 설정하여 테스트 광고가 표시되도록 할 수 있습니다.

iOS 앱에서 광고를 읽어들이기 전에 다음 코드 행을 추가합니다.

#ifdef DEBUG
[FBAdSettings setLogLevel:FBAdLogLevelLog];
[FBAdSettings addTestDevice:@"HASHED_ID"];
#endif

다음과 같은 로그 메시지가 표시됩니다.

[FBAudienceNetworkLog/FBAdSettings:94] 
When testing your app with Facebook ad units,  
you must specify the device hashed ID to ensure the delivery of test ads, 
add the following code before loading an ad: `[FBAdSettings addTestDevice:@"HASHED_ID"]`
Test mode device hash: bd675f960298a92003630d76fa612b1706b745ab

HASHED_ID를 위의 로그에 인쇄된 테스트 모드 기기 해시로 바꿉니다.

위의 테스트 코드를 사용하면 테스트 광고만 표시되므로 테스트 코드가 포함된 채로 앱을 공개해서는 안 됩니다. 대신 DEBUG 또는 TESTING과 같은 전처리기 매크로를 사용한 다음 #ifdef를 사용하여 테스트 빌드를 릴리스 빌드와 구별해야 합니다.

이미지 보기 및 앱 설치 CTA가 포함된 광고를 호출하려면 다음 메서드를 호출하세요. 다음 섹션에서 다른 콘텐츠와 형식의 광고를 테스트할 수 있는 여러 테스트 광고 유형을 확인할 수 있습니다.

FBAdSettings.testAdType = FBAdTestAdType_Img_16_9_App_Install; 

테스트가 완료되면 다음 코드 행을 사용하여 테스트 기기 설정을 지워야 합니다.

[FBAdSettings clearTestDevice:[FBAdSettings testDeviceHash]]; 

테스트 광고 유형 요청 방법을 보여주는 코드 샘플을 확인하세요. NativeAdSample은 SDK의 일부로 사용할 수 있으며, FBAudienceNetwork/samples 폴더에서 찾을 수 있습니다. Xcode를 사용하여 프로젝트를 열고 기기나 시뮬레이터에서 실행하세요.

  1. 톱니바퀴 아이콘을 눌러 설정 컨트롤러를 열고 테스트 모드 UI 스위치를 켠 후 UI 선택 도구에서 테스트 광고 유형을 선택합니다.

  2. "완료" 버튼을 눌러 돌아간 다음 "네이티브 광고 읽어들이기" 버튼을 눌러 테스트 광고를 요청합니다. 몇 초 후 아래 표시된 것과 같이 세로가 긴 동영상 콘텐츠가 포함된 광고가 "지금 설치" CTA와 함께 반환됩니다.

Android에서 테스트 광고 사용

실제 Android 기기에서 테스트하는 경우 Logcat에 다음과 같은 메시지가 표시됩니다.

로그: 테스트 모드 기기 해시: HASHED_ID 로그: Facebook의 광고 유닛을 사용하여 앱을 테스트하는 경우 테스트 광고가 전송될 수 있도록 기기에 해시 처리된 ID를 지정하고 광고를 읽어들이기 전에 다음 코드를 추가해야 합니다. AdSettings.addTestDevice("HASHED ID");

이 방법을 사용할 수 없는 경우에는 광고를 읽어들이기 전에 다음과 같은 코드 행을 추가하여 기기에서 테스트 광고를 활성화할 수 있습니다.

AdSettings.addTestDevice("HASHED ID");

여러 개의 테스트 기기를 추가하려면 광고를 읽어들이기 전에 다음과 같이 추가할 문자열의 리스트를 만들면 됩니다.

List<String> testDevices = new ArrayList<>();
testDevices.add("HASHED_ID_1");
testDevices.add("HASHED_ID_2");
AdSettings.addTestDevices(testDevices);

이미지 보기 및 앱 설치 CTA가 포함된 광고를 호출하려면 다음 메서드를 호출하세요. 다음 섹션에서 다른 콘텐츠와 형식의 광고를 테스트할 수 있는 여러 테스트 광고 유형을 확인할 수 있습니다.

AdSettings.testAdType = IMG_16_9_APP_INSTALL; 

테스트 광고 유형

다음 표에는 테스트 광고를 요청하기 전에 iOS SDK의 FBAdSettings.testAdType 또는 Android SDK의 AdSettings.testAdType에 대해 설정할 수 있는 enum 값이 나와 있습니다.

테스트 광고 유형(iOS) 테스트 광고 유형(Android) 설명

FBAdTestAdType_Default

DEFAULT

테스트 모드가 설정되어 있을 때 임의의 광고 유형을 반환합니다.

FBAdTestAdType _Img_16_9_App_Install

IMG_16_9_APP_INSTALL

앱 설치 CTA 옵션이 포함된 16x9 이미지 광고

FBAdTestAdType _Img_16_9_Link

IMG_16_9_LINK

링크 CTA 옵션이 포함된 16x9 이미지 광고

FBAdTestAdType _Vid_HD_16_9_46s_App_Install

VIDEO_HD_16_9_46S_APP_INSTALL

앱 설치 CTA 옵션이 포함된 16x9 HD 동영상 46초 광고

FBAdTestAdType _Vid_HD_16_9_46s_Link

VIDEO_HD_16_9_46S_LINK

링크 CTA 옵션이 포함된 16x9 HD 동영상 46초 광고

FBAdTestAdType _Vid_HD_16_9_15s_App_Install

VIDEO_HD_16_9_15S_APP_INSTALL

앱 설치 CTA 옵션이 포함된 16x9 HD 동영상 15초 광고

FBAdTestAdType _Vid_HD_16_9_15s_Link

VIDEO_HD_16_9_15S_LINK

링크 CTA 옵션이 포함된 16x9 HD 동영상 15초 광고

FBAdTestAdType _Vid_HD_9_16_39s_App_Install

VIDEO_HD_9_16_39S_APP_INSTALL

앱 설치 CTA 옵션이 포함된 9x16 HD 동영상 39초 광고

FBAdTestAdType _Vid_HD_9_16_39s_Link

VIDEO_HD_9_16_39S_LINK

링크 CTA 옵션이 포함된 9x16 HD 동영상 39초 광고

FBAdTestAdType _Carousel_Img_Square _App_Install

CAROUSEL_IMG_SQUARE_APP_INSTALL

정사각형 이미지 및 앱 설치 CTA 옵션이 포함된 슬라이드 광고

FBAdTestAdType _Carousel_Img_Square_Link

CAROUSEL_IMG_SQUARE_LINK

정사각형 이미지 및 링크 CTA 옵션이 포함된 슬라이드 광고