App Native Carousel
App Native Carousel은 멀티 슬라이드 광고 형식입니다. 이 형식은 네이티브 형식이므로 화살표, 스위치와 같은 캐러셀 탐색 요소를 앱 디자인에 맞게 사용자 지정할 수 있습니다.
슬라이드는 다양한 캠페인의 배너입니다. 이 배너들을 특별한 방식으로 설정하여 캐러셀에 업로드하세요.
캐러셀을 표시하려면 동일한 배치에 다음을 생성하고 추가합니다.
- Carousel [프로필](*campaign profile) 및 캐러셀 디자인 설정이 포함된 메인 캠페인.
- Direct sale [프로필](*campaign profile) 및 특정 배너 템플릿이 포함된 추가 캠페인.
직접 판매 캠페인의 슬라이드 배너는 Carousel 프로필과 함께 캠페인에서 지정한 배너 디자인 설정에 따라 하나의 캐러셀에 표시됩니다.
사이트에 캐러셀 형식을 설정하는 방법을 알아보려면 Adfox 도움말을 참조하세요.
형식 세부 사항
-
캐러셀에서는 2~10개의 슬라이드를 선택할 수 있습니다.
-
캐러셀의 단일 위치는 하나의 캠페인의 단일 슬라이드입니다.
-
각 슬라이드를 특정 오디언스 세그먼트를 타겟팅하여 설정할 수 있습니다.
-
슬라이드 위치는 캠페인 수준과 우선순위에 따라 정의됩니다.
Adfox가 특정 위치에 대한 슬라이드를 선택할 수 없는 경우(예: 캠페인이 종료되었거나 활성 배너가 없는 경우), 해당 위치에 우선순위가 낮은 슬라이드를 표시합니다. -
통계는 전체 캐러셀뿐만 아니라 각 슬라이드에 대해서도 제공됩니다.
다음은 모스크바의 사용자를 대상으로 하는 3개 슬라이드 캐러셀을 채우는 예시입니다.
Adfox에 배너 추가
1단계. 캐러셀의 마스터 슬라이더 생성
- Yandex 광고 네트워크 인터페이스에서 Native design 형식의 광고 단위를 생성하고 Adfox에 연결합니다. 그러면 연결된 광고 단위가 있는 배치가 Adfox 인터페이스에 나타납니다.
- Carousel [캠페인 프로필](*campaign profile)로 Guarantee 캠페인을 생성합니다. 프로필에 대해 자세히 알아보려면 캠페인 프로필을 참조하세요.
- 캠페인 설정에서 Banners로 이동하여 Add를 클릭합니다.
- Mobile Advertising App 배너 형식, App Mobile Native 배너 유형, App Native Carousel 템플릿을 선택합니다.
- 슬라이드 수를 2개에서 10개로 설정합니다.
- Placement에서 배너의 배치를 선택합니다.
2단계. 캐러셀 콘텐츠 설정
-
Direct sale [캠페인 프로필](*campaign profile)로 Guarantee 캠페인을 생성합니다. Placement에서 캐러셀에 대한 배치 설정을 선택합니다.
Важно
슬라이드를 캐러셀의 마스터 슬라이더와 동일한 지면에 배치해야 합니다.
-
배너 추가 양식으로 이동합니다. Mobile Advertising App 형식, App Mobile Native 배너 유형, Media Native Slide 템플릿을 선택합니다.
-
배너 매개변수를 설정하고 Save를 클릭합니다.
3단계. 슬라이더 로드
네이티브 광고 슬라이더를 로드하려면 SliderAdLoader
객체를 생성합니다.
광고 요청 매개변수는 NativeAdRequestConfiguration.Builder
클래스 객체를 통해 구성됩니다. 요청 매개변수에서는 광고 단위 ID, 이미지 로딩 방법, 연령, 성별 속성, 그리고 노출의 관련성을 높일 수 있는 기타 데이터를 전달할 수 있습니다.
Adfox에서 렌더링하려면 Parameters
값을 nativeAdRequestConfiguration
객체에 추가합니다.
광고 로딩 결과에 대한 알림을 받으려면 SliderAdLoadListener
인스턴스를 생성합니다. 이 인스턴스를 광고 슬라이더 로더의 이벤트를 수신하도록 설정합니다.
광고를 로드하려면 loadAd()
메서드를 호출합니다.
아래 예시는 Activity의 네이티브 광고를 로드하는 방법을 보여줍니다.
class AdfoxSliderActivity : AppCompatActivity(R.layout.activity_adfox_slider) {
private var sliderAdLoader: SliderAdLoader? = null
private lateinit var binding: ActivityAdfoxSliderBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityAdfoxSliderBinding.inflate(layoutInflater)
setContentView(binding.root)
sliderAdLoader = createSliderAdLoader()
sliderAdLoader?.loadSlider(
// 여기서 NativeAdRequestConfiguration.Builder 클래스의 메서드를 사용하여 특정 매개 변수를 설정할 수 있습니다.
NativeAdRequestConfiguration
.Builder("your-ad-unit-id")
.setParameters(mapOf("adf_ownerid" to "xxxx", "adf_p1" to "xxxx")
.build()
))
}
private fun createSliderAdLoader(): SliderAdLoader {
return sliderAdLoader ?: SliderAdLoader(this).apply {
setSliderAdLoadListener(object : SliderAdLoadListener {
override fun onSliderAdLoaded(p0: SliderAd) {
// 슬라이더 광고가 성공적으로 로드되었습니다. 이제 로드된 광고를 표시할 수 있습니다.
}
override fun onSliderAdFailedToLoad(p0: AdRequestError) {
// AdRequestError로 광고를 로드하는 데 실패했습니다.
// onAdFailedToLoad() 메서드에서 새 광고를 로드하려는 시도는 권장되지 않습니다.
}
})
}
}
}
class AdfoxSliderActivity extends AppCompatActivity {
@Nullable
private SliderAdLoader mSliderAdLoader = null;
private ActivityAdfoxSliderBinding mBinding;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mBinding = ActivityAdfoxSliderBinding.inflate(getLayoutInflater());
setContentView(mBinding.getRoot());
mSliderAdLoader = createSliderAdLoader();
if (mSliderAdLoader != null) {
// 여기서 NativeAdRequestConfiguration.Builder 클래스의 메서드를 사용하여 특정 매개변수를 설정할 수 있습니다.
mSliderAdLoader.loadSlider(
new NativeAdRequestConfiguration
.Builder("your-ad-unit-id")
.setParameters(new java.util.HashMap<String, String>() {{
put("adf_ownerid", "xxxx");
put("adf_p1", "xxxx");
}})
.build()
);
}
}
private SliderAdLoader createSliderAdLoader() {
if (mSliderAdLoader != null) {
return mSliderAdLoader;
}
final SliderAdLoader newSliderAdLoader = new SliderAdLoader(this);
newSliderAdLoader.setSliderAdLoadListener(new SliderAdLoadListener() {
@Override
public void onSliderAdLoaded(@NonNull SliderAd sliderAd) {
// 슬라이더 광고가 성공적으로 로드되었습니다. 이제 로드된 광고를 표시할 수 있습니다.
}
@Override
public void onSliderAdFailedToLoad(@NonNull final AdRequestError error) {
// AdRequestError로 광고를 로드하는 데 실패했습니다.
// onAdFailedToLoad() 메서드에서 새 광고를 로드하려는 시도는 권장되지 않습니다.
}
});
return mSliderAdLoader;
}
}
-
슬라이더에서 광고를 수신할 수 있도록
NativeAdLoader
클래스의 인스턴스를 생성합니다. -
NativeAdRequestConfiguration
클래스를 사용하여nativeAdRequestConfiguration
요청에 대한 구성을 생성합니다. 요청 매개변수에서는 광고 단위 ID, 이미지 로딩 방법, 연령, 성별 속성, 그리고 노출의 관련성을 높일 수 있는 기타 데이터를 전달할 수 있습니다.
Adfox에서 렌더링하려면 배치 `Parameters` 값을 `nativeAdRequestConfiguration` 요청에 추가하세요.
-
NativeAdLoaderDelegate
프로토콜을 구현하는 광고 수신 대리자를 설정합니다. -
광고 로딩 과정을 추적하려면
NativeAdLoaderDelegate
프로토콜의 메서드(-nativeAdLoader:didFailLoadingWithError:
,-nativeAdLoader:didLoadAd:
)를 구현합니다. -
loadAdWithRequestConfiguration:
로더에 메시지를 전송하여 광고를 로드합니다. -
광고가 로드되면 다음 메서드가 호출됩니다.
func nativeAdLoader(_ loader: NativeAdLoader, didLoad ad: NativeAd)
-
광고 로드에 실패하면 다음 메서드가 호출됩니다.
func nativeAdLoader(_ loader: NativeAdLoader, didFailLoadingWithError error: Error)
일반 광고 요청 샘플
// 로더 생성
adLoader = NativeAdLoader()
adLoader.delegate = self
// Adfox 요청 매개 변수 생성
var parameters = [String: String]()
parameters["adf_ownerid"] = "xxxxxx"
parameters["adf_p1"] = "xxxx"
// 요청 구성 생성
let requestConfiguration = MutableNativeAdRequestConfiguration(adUnitID: "<AdUnitID>")
requestConfiguration.parameters = parameters
// 로더에 요청 구성 전달
adLoader.loadAd(with: requestConfiguration)
// 대리인의 메서드 구현
// ...
func nativeAdLoader(_ loader: NativeAdLoader, didLoad ad: NativeAd) {
// 여기에 광고를 표시합니다
}
4단계. 슬라이더 디스플레이 설정
슬라이더 렌더링 방법을 알아보려면 네이티브 광고 슬라이더 렌더링을 참조하세요.
광고 라벨링
동일한 캐러셀 내에서 여러 광고주의 광고를 배치하고, 최종 광고주와의 별도 계약에 따라 이러한 광고를 상태 레지스터(ERIR, 온라인 광고 통합 레지스터)에 제출할 수 있습니다. 각 위치는 자체 캠페인의 고유한 배너입니다.
캐러셀에서는 슬라이드 배너만 라벨링할 수 있습니다. 마스터 슬라이더에서는 Carousel 프로필로 라벨링을 활성화할 수 없습니다.
통계
배너 통계는 여러 수준에서 수집됩니다.
Carousel 프로필이 있는 캠페인 수준으로 이동합니다. Reports 탭을 열고 By campaigns in Carousel 또는 By Carousel positions 보고서를 선택하세요.
슬라이드가 있는 캠페인 수준으로 이동합니다. Reports 탭을 열고 By banners slides in Carousel 보고서를 선택하세요.
슬라이드 배너가 없는 캠페인에는 보고서가 제공되지 않습니다.
슬라이드 수준으로 이동하여 Reports 탭을 연 다음 By positions in Carousel 보고서를 선택하세요.
사전 설정된 보고서에 대한 그룹화를 선택할 수 없습니다.
사용자 지정 보고서에서 이벤트별로 그룹화된 지표를 분석하려면 보고서를 생성할 때 Bulk formats → Position 그룹화를 추가하세요.
Примечание
Splits by banners 그룹화를 추가하면 배너가 두 개 이상의 위치에 제공된 경우 특정 위치의 배너에 대한 위치 지표가 계산됩니다.
캠페인을 생성하는 데 사용되는 미리 정의된 필드 및 값의 집합입니다. 캠페인 프로필은 캠페인의 목적을 정의합니다. 캠페인을 저장하면 프로필을 변경할 수 없습니다.