-
public class MobwithNativeAdLoader여러 개의 네이티브 광고를 관리하고 로드하는 클래스입니다. 이 로더는 다음과 같은 주요 기능을 수행합니다: - 여러 개의 광고 유닛 ID를 받아 각 유닛 ID에 해당하는 네이티브 광고를 관리합니다. - NativeAdItem 객체를 내부적으로 사용하여 각 광고의 상태(데이터, UI, 콜백 전송 여부 등)를 추적합니다. - 광고 요청 시 서버(SortList API)로부터 미디에이션 정보를 받아 MediationManager를 통해 광고를 로드합니다. - 로드된 광고 데이터(자체 광고 또는 외부 네트워크 광고)를 기반으로 NativeAdView를 구성하고 UI를 업데이트합니다. - 광고 로드 성공/실패, 광고 클릭 등의 이벤트를 iNativeBannerCallback을 통해 외부로 전달합니다. - 특정 인덱스에 해당하는 광고를 미리 로드하거나, 현재 로드된 광고 뷰를 반환하는 기능을 제공합니다. - 로드된 광고의 클릭 이벤트를 처리하고, 광고 정보 URL로 이동하는 기능을 포함합니다.
-
-
Field Summary
Fields Modifier and Type Field Description private MobwithAdCategoryModelmobwithAdCategoryModel
-
Constructor Summary
Constructors Constructor Description MobwithNativeAdLoader(Context context, Array<String> unitIds)여러 개의 네이티브 광고를 관리하고 로드하는 클래스입니다.이 로더는 다음과 같은 주요 기능을 수행합니다:- 여러 개의 광고 유닛 ID를 받아 각 유닛 ID에 해당하는 네이티브 광고를 관리합니다.
-
Method Summary
Modifier and Type Method Description voidsetMobwithAdCategoryModel(MobwithAdCategoryModel mobwithAdCategoryModel)광고 카테고리 모델을 설정합니다. voidsetAdListener(iNativeBannerCallback callback)네이티브 광고 관련 이벤트(로드 성공/실패, 클릭 등)를 수신할 콜백 리스너를 설정합니다. voidsetNativeADView(Context context, int viewLayoutID, int mediaViewContainerID, int adImageViewID, int adLogoImageViewID, int titleViewID, int descriptionViewID, int gotoSiteButtonID, int infoLogoViewContainerID, int infoLogoImageViewID)네이티브 광고를 표시할 때 사용할 UI 요소들의 정보를 설정합니다. voiddestroyAllAd()현재 로더에 의해 관리되고 있는 모든 광고( nativeAdItemMap에 저장된 광고들)를 제거합니다.이 메소드를 호출하면 이전에 로드된 광고 데이터나 상태가 모두 초기화됩니다. ViewGrouploadAD(Context context, int index)특정 인덱스에 해당하는 네이티브 광고를 로드하고, 해당 광고를 표시할 NativeAdView를 반환합니다. booleanisLoadedAd(int index)특정 인덱스의 광고가 성공적으로 로드되었는지 여부를 반환합니다. voidperformAdClicked(int index, Context context, iBannerCallback callback)특정 인덱스의 광고에 대해 클릭 액션을 수행합니다. voiddetachADView(int index)특정 인덱스의 광고를 표시하는 뷰를 부모 뷰에서 분리(detach)합니다. -
-
Method Detail
-
setMobwithAdCategoryModel
void setMobwithAdCategoryModel(MobwithAdCategoryModel mobwithAdCategoryModel)
광고 카테고리 모델을 설정합니다. (선택적 기능)이 정보는 미디에이션 과정에서 특정 카테고리의 광고를 필터링하거나 타겟팅하는 데 사용될 수 있습니다.
- Parameters:
mobwithAdCategoryModel- 광고 카테고리 정보를 담은 모델 객체
-
setAdListener
void setAdListener(iNativeBannerCallback callback)
네이티브 광고 관련 이벤트(로드 성공/실패, 클릭 등)를 수신할 콜백 리스너를 설정합니다.
- Parameters:
callback- iNativeBannerCallback 구현 객체
-
setNativeADView
void setNativeADView(Context context, int viewLayoutID, int mediaViewContainerID, int adImageViewID, int adLogoImageViewID, int titleViewID, int descriptionViewID, int gotoSiteButtonID, int infoLogoViewContainerID, int infoLogoImageViewID)
네이티브 광고를 표시할 때 사용할 UI 요소들의 정보를 설정합니다.이 정보는 NativeAdViewItem 객체에 저장되며, loadAD 메소드에서실제 NativeAdView를 생성할 때 사용됩니다.
- Parameters:
context- 컨텍스트viewLayoutID- 네이티브 광고를 구성하는 커스텀 레이아웃 XML 파일의 ID (예: R.layout.my_native_ad).mediaViewContainerID- 광고 이미지(ImageView)를 감싸는 ViewGroup의 레이아웃 ID.adImageViewID- 광고 이미지를 표시할 ImageView의 레이아웃 ID.adLogoImageViewID- 광고주 로고를 표시할 ImageView의 레이아웃 ID.titleViewID- 광고 제목을 표시할 TextView의 레이아웃 ID.descriptionViewID- 광고 설명을 표시할 TextView의 레이아웃 ID.gotoSiteButtonID- 광고 클릭 유도 문구(CTA: Call To Action)를 표시하고 클릭 이벤트를 처리할 View(예: Button, TextView)의 레이아웃 ID.infoLogoViewContainerID- 광고 정보 아이콘(예: i 아이콘)을 표시할 ImageView를 감싸는 ViewGroup의 레이아웃 ID.infoLogoImageViewID- 광고 정보 아이콘을 표시할 ImageView의 레이아웃 ID.
-
destroyAllAd
void destroyAllAd()
현재 로더에 의해 관리되고 있는 모든 광고( nativeAdItemMap에 저장된 광고들)를 제거합니다.이 메소드를 호출하면 이전에 로드된 광고 데이터나 상태가 모두 초기화됩니다.
-
loadAD
ViewGroup loadAD(Context context, int index)
특정 인덱스에 해당하는 네이티브 광고를 로드하고, 해당 광고를 표시할 NativeAdView를 반환합니다.이 메소드는 먼저 nativeAdViewItem이 설정되어 있는지 확인합니다.해당 인덱스의 NativeAdItem이 없으면 새로 생성합니다.그 후 NativeAdView를 생성하고, CTA 버튼 및 정보 로고에 대한 클릭 리스너를 설정합니다.마지막으로 preloadAd를 호출하여 해당 인덱스의 광고 데이터 로드를 시작(또는 이미 로드된 경우 UI 업데이트)하고,생성된 NativeAdView를 반환합니다.
- Parameters:
context- 컨텍스트 (NativeAdView 생성 시 사용)index- 로드할 광고의 인덱스
-
isLoadedAd
boolean isLoadedAd(int index)
특정 인덱스의 광고가 성공적으로 로드되었는지 여부를 반환합니다.해당 인덱스의 NativeAdItem이 존재하고, 그 아이템의 sendSuccessCallback 플래그가 true이면광고가 성공적으로 로드된 것으로 간주합니다.
- Parameters:
index- 확인할 광고의 인덱스
-
performAdClicked
void performAdClicked(int index, Context context, iBannerCallback callback)
특정 인덱스의 광고에 대해 클릭 액션을 수행합니다.해당 인덱스의 NativeAdItem을 찾아 performAdClicked를 호출합니다.이 메소드는 외부에서 프로그래매틱하게 광고 클릭을 트리거할 때 사용될 수 있습니다.
- Parameters:
index- 클릭할 광고의 인덱스context- 컨텍스트 (NativeAdItem의 performAdClicked에 전달됨)callback- 광고 클릭 관련 이벤트를 수신할 콜백 (현재 코드에서는 NativeAdItem에 null로 전달됨)
-
detachADView
void detachADView(int index)
특정 인덱스의 광고를 표시하는 뷰를 부모 뷰에서 분리(detach)합니다.해당 인덱스의 NativeAdItem을 찾고, 그 안에 저장된 NativeAdViewItem 및 NativeAdView를 참조하여관련 뷰들을 부모로부터 제거합니다.이 메소드는 광고 뷰를 재사용하거나 화면에서 제거할 때 호출될 수 있습니다.
- Parameters:
index- 분리할 광고 뷰의 인덱스
-
-
-
-