Audience Network를 사용하면 Facebook 광고를 통해 Android 앱에서 수익을 창출할 수 있습니다. 이 가이드에서는 배너와 중간 직사각형 광고를 앱에 추가하는 방법을 설명합니다.
You can change placements in Monetization Manager to the Medium Rectangle format if these were previously configured as Banner for bidding. Similarly, for any new medium rectangle placements, navigate to the placement settings page in Monetization Manager and select Medium Rectangle (not Banner).
Placements will deliver as normal even if they are not changed to the medium rectangle format. However, to avoid confusion, we recommend that you change these placements to medium rectangle.
다른 광고 유닛에 관심이 있을 경우 사용 가능한 유형 리스트를 참조하세요.
진행하기 전에 Android 설정 가이드를 완료했는지 확인하세요.
레이아웃 파일(예: /res/layout/activity_main.xml
)에서 광고의 컨테이너 역할을 할 레이아웃을 추가합니다.
나중에 코드에서 참조해야 하므로 여기에서 설정한 ID를 기억하세요.
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout ... > ... <LinearLayout android:id="@+id/banner_container" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:orientation="vertical" app:layout_constraintBottom_toBottomOf="parent" /> ... </RelativeLayout>
Facebook 광고 SDK를 가져오려면 활동의 맨 위에 다음 코드를 추가합니다.
import com.facebook.ads.*;
다음으로 AdView
개체를 인스턴스화하고 광고를 읽어들이기 위한 요청을 보냅니다. AdView
는 View
의 하위 클래스이므로 다른 보기와 마찬가지로 보기 계층에 추가할 수 있습니다.
private AdView adView; @Override public void onCreate(Bundle savedInstanceState) { ... // Instantiate an AdView object. // NOTE: The placement ID from the Facebook Monetization Manager identifies your App. // To get test ads, add IMG_16_9_APP_INSTALL# to your placement id. Remove this when your app is ready to serve real ads. adView = new AdView(this, "IMG_16_9_APP_INSTALL#YOUR_PLACEMENT_ID", AdSize.BANNER_HEIGHT_50); // Find the Ad Container LinearLayout adContainer = (LinearLayout) findViewById(R.id.banner_container); // Add the ad view to your activity layout adContainer.addView(adView); // Request an ad adView.loadAd(); }
태블릿용 앱을 빌드할 경우 대신 AdSize.BANNER_HEIGHT_90
크기를 사용하세요. 모든 경우에 배너 너비는 최소 320px로 유동적입니다.
마지막으로 다음 코드를 활동의 onDestroy()
함수에 추가하여 AdView
가 사용하는 리소스를 릴리스합니다.
@Override protected void onDestroy() { if (adView != null) { adView.destroy(); } super.onDestroy(); }
위의 함수를 실행하고 나면 다음과 같은 화면이 나타납니다.
기본 Google Android 에뮬레이터를 사용하는 경우 테스트 광고를 읽어들이기 전에 다음 코드 행을 추가합니다.AdSettings.addTestDevice("HASHED ID");
.
기기에 광고를 읽어들이기를 처음 요청할 때는 logcat에 인쇄되어 있는 해시 처리된 ID를 사용하세요.
Genymotion 및 실제 기기에서는 이 단계가 필요하지 않습니다. 실제 광고를 사용하여 테스트하려면 테스트 가이드를 참조하세요.
기본 코드를 실행했으므로 AdListener
를 AdView
에 설정하여 특정 이벤트를 수신할 수 있습니다.
import android.widget.Toast; ... protected void onCreate(Bundle savedInstanceState) { ... AdListener adListener = new AdListener() { @Override public void onError(Ad ad, AdError adError) { // Ad error callback Toast.makeText( MainActivity.this, "Error: " + adError.getErrorMessage(), Toast.LENGTH_LONG) .show(); } @Override public void onAdLoaded(Ad ad) { // Ad loaded callback } @Override public void onAdClicked(Ad ad) { // Ad clicked callback } @Override public void onLoggingImpression(Ad ad) { // Ad impression logged callback } }; // Request an ad adView.loadAd(adView.buildLoadAdConfig().withAdListener(adListener).build()); }
Audience Network의 AdView
에서는 세 가지 광고 크기를 사용할 수 있습니다. 배너 유닛의 너비는 최소 크기 320px을 시작으로 기기 화면에 따라 확장될 수 있으므로 높이만 지정합니다.
광고 형식 | AdSize 참고 자료 | 크기 | 권장 사항 |
---|---|---|---|
표준 배너 |
| 320x50 | 휴대폰에 가장 적합한 배너입니다. |
대형 배너 |
| 320x90 | 태블릿과 크기가 큰 기기에 가장 적합한 배너입니다. |
중간 크기 직사각형 |
| 300x250 | 스크롤할 수 있는 피드나 레벨 종료 화면에 가장 적합한 형식입니다. |
Github에서 Facebook의 Audience Network Android 코드 샘플을 확인하세요. IDE에 프로젝트를 가져온 다음 기기나 에뮬레이터에서 실행합니다.
앱에 광고를 전송하여 수익을 창출할 준비가 완료되었다면, 앱이 Audience Network 정책 및 Facebook 커뮤니티 규정을 준수하는지 확인한 후 검수를 위해 제출하세요.