iOS의 수동 로딩 보상형 동영상 광고 연동
아이언소스의 보상형 동영상 광고들은 기본적으로 자동으로 로딩되지만, 수동으로 로딩할 수 있게게 설정할 수도 있습니다. 이렇게 설정하기 위해서는, SDK 초기화 전에 전체 세션의 로딩 모드를 수동 로딩 모드로 설정해야 합니다. 이 기능은 아이언소스 SDK 7.2.0 이상 버전부터 지원됩니다.
1단계: 보상형 동영상 수동 로딩 설정
아이언소스 SDK 초기화 이전에 보상형 동영상 작동 모드를 변경합니다. 수동 모드로 변경할 시, 수동모드 전용 콜백 대리자(Delegate)인 LevelPlayRewardedVideoManualDelegate 도 구현해야 합니다.
[IronSource setLevelPlayRewardedVideoManualDelegate:self];
IronSource.setLevelPlayRewardedVideoManualDelegate(self)
이 대리자(Delegate)는 광고 준비 및 완료 상황에 대한 콜백을 발동시켜 언제 광고를 표시하고 사용자 보상을 전달해야 하는지를 알 수 있게 합니다.
아이언소스 SDK는 구현된 해당 리스너에 아래에 명시된 모든 가능한 이벤트들의 발생을 알립니다:
+ (void)setLevelPlayRewardedVideoManualDelegate:(nullable id<LevelPlayRewardedVideoManualDelegate>)delegate;
#pragma mark - LevelPlayRewardedVideoManualDelegate
/**
Called after an rewarded video has been loaded in manual mode
@param adInfo The info of the ad.
*/
- (void)didLoadWithAdInfo:(ISAdInfo *)adInfo{
}
/**
Called after a rewarded video has attempted to load but failed in manual mode
@param error The reason for the error
*/
- (void)didFailToLoadWithError:(NSError *)error{
}
/**
Called after a rewarded video has been viewed completely and the user is eligible for a reward.
@param placementInfo An object that contains the placement's reward name and amount.
@param adInfo The info of the ad.
*/
- (void)didReceiveRewardForPlacement:(ISPlacementInfo *)placementInfo withAdInfo:(ISAdInfo *)adInfo{
}
/**
Called after a rewarded video has attempted to show but failed.
@param error The reason for the error
@param adInfo The info of the ad.
*/
- (void)didFailToShowWithError:(NSError *)error andAdInfo:(ISAdInfo *)adInfo{
}
/**
Called after a rewarded video has been opened.
@param adInfo The info of the ad.
*/
- (void)didOpenWithAdInfo:(ISAdInfo *)adInfo{
}
/**
Called after a rewarded video has been dismissed.
@param adInfo The info of the ad.
*/
- (void)didCloseWithAdInfo:(ISAdInfo *)adInfo{
}
/**
Called after a rewarded video has been clicked.
This callback is not supported by all networks, and we recommend using it
only if it's supported by all networks you included in your build
@param adInfo The info of the ad.
*/
- (void)didClick:(ISPlacementInfo *)placementInfo withAdInfo:(ISAdInfo *)adInfo{
}
IronSource.setLevelPlayRewardedVideoManualDelegate(delegate: LevelPlayRewardedVideoManualDelegate?)
// MARK: LevelPlayRewardedVideoManualDelegate
/**
Called after an rewarded video has been loaded in manual mode
@param adInfo The info of the ad.
*/
func didLoad(with adInfo: ISAdInfo!) {
}
/**
Called after a rewarded video has attempted to load but failed in manual mode
@param error The reason for the error
*/
func didFailToLoadWithError(_ error: Error!) {
}
/**
Called after a rewarded video has been viewed completely and the user is eligible for a reward.
@param placementInfo An object that contains the placement's reward name and amount.
@param adInfo The info of the ad.
*/
func didReceiveReward(forPlacement placementInfo: ISPlacementInfo!, with adInfo: ISAdInfo!) {
}
/**
Called after a rewarded video has attempted to show but failed.
@param error The reason for the error
@param adInfo The info of the ad.
*/
func didFailToShowWithError(_ error: Error!, andAdInfo adInfo: ISAdInfo!) {
}
/**
Called after a rewarded video has been opened.
@param adInfo The info of the ad.
*/
func didOpen(with adInfo: ISAdInfo!) {
}
/**
Called after a rewarded video has been dismissed.
@param adInfo The info of the ad.
*/
func didClose(with adInfo: ISAdInfo!) {
}
/**
Called after a rewarded video has been clicked.
This callback is not supported by all networks, and we recommend using it
only if it's supported by all networks you included in your build
@param adInfo The info of the ad.
*/
func didClick(_ placementInfo: ISPlacementInfo!, with adInfo: ISAdInfo!) {
}
전체 대리자(Delegate)에 대한 구현사항은 여기를 참고 부탁 드립니다 .
2단계: 보상형 동영상 광고 수동 로드
보상형 동영상 광고 로딩은 시간이 걸릴 수 있기 때문에, 광고를 사용자에게 보여주기 전에 동영상 로드를 요청합니다. 아래의 API를 사용하여 광고를 로드합니다:
복수의 보상형 동영상 광고를 게재하기 위해서는 이전 광고가 표시되고 닫힌 다음 이 과정을 반복해 동영상을 로드해야 합니다. didClose Delegate가 호출되고 나면, 새로운 보상형 동영상 광고를 로드할 수 있습니다.
완료했습니다!
로드 작동 모드를 수동으로 설정되었으면 여기에서 설명된 대로 보상형 동영상 연동을 완료할 수 있습니다.