기본 요건
이 구현 가이드에서는 다음 사항에 익숙하다고 가정합니다.
- AFS 맞춤 검색 광고 (CSA) 구현 프로토콜
- Android 앱 개발
- Google 모바일 광고 Android용 SDK (지금은 Google Play 서비스의 일부) Android 스튜디오 프로젝트와 함께 사용하면 됩니다. Google Play 서비스 버전 9.0.0이 필요합니다.
클래스
앱에 AFSMA 광고 (동적 높이 검색 광고라고도 함)를 게재하려면 다음 클래스를 구현합니다.
- 이 클래스는 Android
ViewGroup
클래스에서 상속됩니다. AFSMA 광고를 게재합니다.SearchAdView
는DynamicHeightSearchAdRequest
하고 반환된 광고를 렌더링합니다.SearchAdView
는 앱의 기존 뷰 그룹에 추가해야 합니다. - 컨텍스트로
SearchAdView
를 인스턴스화해야 합니다.SearchAdView
가 실행되는 환경(일반적으로Activity
)입니다. SearchAdView
가 인스턴스화되었으면setAdSize()
메서드를 호출해야 합니다.AdSize.SEARCH
와(과) 함께 사용하여 AFSMA 광고를 요청합니다. 다른 열거형 값은 모바일 앱용 AFS와 호환되지 않는 광고를 요청합니다.- 속성 코드를 사용하여 이 객체에서
setAdUnitId()
메서드를 호출합니다.
DynamicHeightSearchAdRequest.Builder
- 이 클래스는 광고 요청 매개변수를 캡슐화합니다. 이는 JavaScript 광고 요청 객체에서 매개변수를 설정하는 것과 비슷합니다. (페이지 옵션, 단위 옵션)입니다.
- 적절한 setter를 사용하여 매개변수를 설정합니다 (즉,
setQuery()
를 호출하여 쿼리 매개변수를 설정합니다.
구현 예
아래 예는 Activity
를 사용하여 SearchAdView
를 만드는 방법을 보여줍니다.
ViewGroup
의 하위 뷰로 설정됩니다. AFSMA 광고를 올바르게 요청하려면 SearchAdView
객체는 AdSize.SEARCH
로 setAdSize()
메서드를 호출해야 합니다.
// MainActivity.java implementation
// (MainActivity is a subclass of Activity)
// Create the SearchAdView
final SearchAdView searchAdView = new SearchAdView(this);
// Set parameter to request for dynamic height search ads
searchAdView.setAdSize(AdSize.SEARCH); // Important!
// Replace with your pub ID (e.g. ms-app-pub-9616389000213823)
searchAdView.setAdUnitId("ms-app-pub-################");
// Add searchAdView to parent view group
...
동일한 Activity
내에서 DynamicHeightSearchAdRequest.Builder
SearchAdView
에서 렌더링될 광고의 매개변수를 나타냅니다.
AFSMA 광고는 AFS 맞춤 검색 광고와 동일한 방식으로 설정됩니다.
AFS 맞춤 검색 광고를 참조하세요
참조
참조하세요.
// Create the ad request
DynamicHeightSearchAdRequest.Builder builder =
new DynamicHeightSearchAdRequest.Builder();
builder.setQuery("flowers");
builder.setNumber(2);
// Replace with the ID of a style from your custom search styles
builder.setAdvancedOptionValue("csa_styleId", "0000000001");
// Customization options (set using setters on
// DynamicHeightSearchAdRequest.Builder)
builder.setAdTest(true);
다른 맞춤설정 옵션은
DynamicHeightSearchAdRequest.Builder
드림
객체를 지정합니다.
광고 요청을 하려면 다음과 함께 loadAd()
메서드를 호출합니다.
SearchAdView
객체의 DynamicHeightSearchAdRequest.Builder
객체:
searchAdView.loadAd(builder.build());
고급 옵션
대부분의 광고 요청 매개변수는 setter 메서드를 통해 설정할 수 있습니다.
DynamicHeightSearchAdRequest.Builder
객체에서 설정합니다.
에 setter 메서드가 없는 매개변수는
DynamicHeightSearchAdRequest.Builder
는 키-값 쌍을 사용하여 설정할 수 있습니다.
setAdvancedOptionValue()
메서드를 사용하여 축소하도록 요청합니다.
AFS 맞춤 검색 광고 보기
참조
를 사용하여 설정할 수 있는 전체 설정 목록을 참조하세요.
setAdvancedOptionValue()
메서드를 사용하여 지도 가장자리에
패딩을 추가할 수 있습니다.
키 매개변수의 프리픽스는 'csa_'여야 합니다. 속성이 올바르게 설정되어야 합니다.
// Advanced customization options (set using key-value pair)
// Set a parameter (parameter_name) and its value (parameter_value)
// builder.setAdvancedOptionValue("csa_parameter_name", "parameter_value");
// Example: Show visible URL below description
// (domainLinkAboveDescription: false)
builder.setAdvancedOptionValue("csa_domainLinkAboveDescription", "false");
매개변수의 setter 메서드를 사용하고 setAdvancedOptionValue
를 사용하여 설정하는 경우
두 번째 호출이 첫 번째 호출의 값을 재정의합니다.
오류 조사
SearchAdView
(여기서 searchAdView
)에는 setAdListener()
메서드가 포함되어 있습니다.
자세히 살펴보겠습니다 동일한 Activity
내:
searchAdView.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
// Called when an ad is loaded
super.onAdLoaded();
Toast.makeText(MainActivity.this, "Ad Loaded",
Toast.LENGTH_SHORT).show();
Log.d(MainActivity.class.getSimpleName(), "Ad Loaded");
}
@Override
public void onAdOpened() {
// Called when an ad opens an overlay that covers the screen
super.onAdOpened();
Toast.makeText(MainActivity.this, "Ad Opened",
Toast.LENGTH_SHORT).show();
Log.d(MainActivity.class.getSimpleName(), "Ad Opened");
}
@Override
public void onAdLeftApplication() {
// Called when an ad leaves the application
// (to go to the browser for example)
super.onAdLeftApplication();
Toast.makeText(MainActivity.this, "Ad Left Application",
Toast.LENGTH_SHORT).show();
Log.d(MainActivity.class.getSimpleName(), "Ad Left Application");
}
@Override
public void onAdFailedToLoad(int errorCode) {
// Called when an ad request failed
super.onAdFailedToLoad(errorCode);
Toast.makeText(MainActivity.this, "Ad Failed to Load: " + errorCode,
Toast.LENGTH_SHORT).show();
Log.e(MainActivity.class.getSimpleName(), "Ad Failed to Load: " +
errorCode);
}
});
onAdFailedToLoad()
콜백 메서드에 사용되는 상수
자세한 내용은 API
참조
Google Play의 데이터 공개 요건 준비
2021년 5월, Google Play에서는 앱의 데이터 수집, 공유, 보안 관행과 관련하여 개발자가 제공하는 공개 정보인 새로운 데이터 보안 섹션을 발표했습니다.
이 페이지는 AFS 네이티브 SDK (쇼핑용 애드센스 사용에도 해당) 사용과 관련된 데이터 공개 요건을 충족하는 데 도움이 됩니다. 이 페이지에서는 SDK의 최종 사용자 데이터 처리 여부 및 처리 방식에 대한 정보를 확인할 수 있습니다.
Google은 파트너를 최대한 투명하게 지원하기 위해 노력하고 있습니다. 하지만 앱의 최종 사용자 데이터 수집, 공유 및 보안 관행과 관련하여 Google Play의 데이터 보안 섹션 양식에 응답하는 방법을 결정할 책임은 전적으로 앱 개발자에게 있습니다.
이 페이지의 정보를 사용하는 방법
이 페이지에는 최신 버전의 SDK에서 수집하는 최종 사용자 데이터만 나와 있습니다.
데이터 공개 정보를 작성하려는 경우 Android의 데이터 유형 가이드를 참고하면 수집되는 데이터를 가장 잘 설명하는 데이터 유형을 판단하는 데 도움이 됩니다. 특정 앱이 수집된 데이터를 공유하고 사용하는 방식도 데이터 공개 정보에 포함되어야 합니다.
SDK에서 액세스하고 수집하는 데이터 유형
패키지:
com.google.android.gms:play-services-afs-native
com.google.ads.afsn
자동으로 수집되는 데이터
AFS SDK는 다음 데이터를 자동으로 수집합니다. 모든 데이터는 광고 게재를 위해 기기 외부로 전송되고 Google은 전송 중에 암호화됩니다. 사용자의 개인 정보는 앱에서 사용자 검색어로 전송하지 않는 한 절대 수집되지 않습니다.
데이터 | 이 데이터는 다음과 같은 목적으로 수집됩니다. |
---|---|
IP 주소 |
<ph type="x-smartling-placeholder"></ph>
요약:
를 통해 개인정보처리방침을 정의할 수 있습니다.
<ph type="x-smartling-placeholder">
IP 주소는 사기 및 악용 모니터링에 사용되며 사용자의 대략적인 위치를 파악하는 데 사용됩니다. 대략적인 위치는 게재되는 광고가 현지 규정을 준수하는지 확인하고 사용자의 대략적인 지리적 위치와 관련된 광고를 제공하는 데 사용됩니다. |
앱 활동
<ph type="x-smartling-placeholder">
|
<ph type="x-smartling-placeholder"></ph>
요약:
를 통해 개인정보처리방침을 정의할 수 있습니다.
<ph type="x-smartling-placeholder">
키워드와 관련된 검색 광고를 반환하기 위해 앱에서 사용자의 검색어를 제공합니다. Google에서는 반환된 광고의 조회수와 참여 (탭)를 측정합니다. |
진단 |
<ph type="x-smartling-placeholder"></ph>
요약:
를 통해 개인정보처리방침을 정의할 수 있습니다.
<ph type="x-smartling-placeholder">
SDK는 제품 개선사항을 구현하고 측정할 수 있도록 광고의 렌더링 지연 시간을 측정합니다. 또한 비정상 종료/오류 보고서를 전송하고 때때로 게시자가 기능을 사용하는 방식을 이해하기 위해 필요한 경우 다른 계측을 추가합니다. |
기기 또는 기타 식별자 |
<ph type="x-smartling-placeholder"></ph>
요약:
를 통해 개인정보처리방침을 정의할 수 있습니다.
<ph type="x-smartling-placeholder">
기기 ID는 사기 및 악용 모니터링과 광고 실적 측정에 사용됩니다. |