iOS Native

배너광고-Banner

인벤토리 수익을 증대할 수 있는 비보상형 광고 상품으로 원하는 위치 어디에나 연동이 가능합니다.

Version

pod 'PointHome', '1.2.2'

PointHomeAdLoader

ADCash iOS SDK에서 제공하는 광고 로더, 광고를 직접 호출하고 원하는곳에 View를 삽입합니다.

AdView를 받아오기 위해서 Delegate의 onLoaded함수를 반드시 호출해줘야 합니다

Setting

NAMSdkKey를 Info.plist에 추가를 해줘야 초기화를 통해서 수월하게 광고호출이 가능합니다.

NAMSdkKey / N256497692

Parameters

  • 광고 이미지의 비율을 맞추기 위해서 width값을 파라미터로 전달해주시면 height 계산해서 광고 setting을 합니다.

Code

var namBanner: PointHomeAdLoader! = nil

override func viewDidLoad() {
  super.viewDidLoad()
  
  namBanner = PointHomeAdLoader(rootVC: self,
                               placementId: "d6da84a3-d614-4df3-bc7a-866a1f1fa1ad",
                                width: 320) 
  namBanner.delegate = self
}

requestAd()

namBanner.requestAd()

requestAd()를 하면 delegate에 onLoaded 또는 onFailed가 떨어지게 됩니다.

stopAd()

호출된 광고를 종료합니다. 하나의 loader에서 광고를 재호출할 경우 stopAd를 호출해주셔야합니다.

namBanner.stopAd()

stopAd()가 불리면 delegate에 onBannerRemoved가 떨어지게 됩니다.

release()

pointHomeAdLoader의 메모리를 전부 해제합니다.

release()를 하고 난 이후에는 requestAd()stopAd() 사용이 불가합니다.

다시 광고를 호출하시려면 PointHomeAdLoader인스턴스를 다시 생성해주세요.

namBanner.release()
namBanner = nil

delegate

extension ViewController: PHAdLoaderDelegate{
    func onBannerLoaded(_ apid: String, adView: UIView, size: CGSize) {
        print("onBannerFailed")
        self.view.addSubview(adView)  
    }
    
    func onBannerFailed(_ apid: String, error: PointHomeError) {
        print("onBannerFailed")
    }
    
    func onBannerClicked(_ apid: String) {
        print("onBannerClicked")
    }
    
    func onBannerRemoved(_ apid: String) {
        print("onBannerRemoved")
    }
}

onBannerLoaded

  • 광고가 정상적으로 로드가 되었다면 adView를 화면에 위치시켜서 show 할 수 있습니다.

  • 기본적으로 CGRect(x: 0, y: 0, width: size.width, height: size.height)가 설정되어있습니다.

  • 만약 광고의 위치를 변경하고 싶으시다면 크기와 위치를 다시 설정해줘야 정상적으로 작동 됩니다.

adView.translatesAutoresizingMaskIntoConstraints = false
        
  NSLayoutConstraint.activate([
      adView.centerXAnchor.constraint(equalTo: self.view.centerXAnchor),
      adView.centerYAnchor.constraint(equalTo: self.view.centerYAnchor),
      adView.widthAnchor.constraint(equalToConstant: size.width),
      adView.heightAnchor.constraint(equalToConstant: size.height)
  ])

에러코드

Last updated