Как быстро добавить FbNative с помощью модуля FBAudienceNetwork?

Я новичок в Swift и пытаюсь добавить FaceBookNative в проект Swift, но я не нашел руководства для быстрого

Я добавил модуль FBAudienceNetwork в свой проект, но у меня все еще есть некоторые проблемы.

Мне нужен SDK для фреймворка, если добавлен Pod, нужно ли мне создавать интеграцию файлов Bridging Есть ли тестовый идентификатор, доступный для добавления t show, прежде чем приложение будет запущено

Я создал формат для собственного добавления в раскадровке, импортировал FBAudienceNetwork в контроллер представления и реализовал

что, если мне нужны мои добавления в ячейку tableview

Любая ссылка на полное руководство или любой вспомогательный контент будут приняты

Спасибо заранее

import UIKit

class SingleAdsViewController: UIViewController, FBNativeAdDelegate {

    @IBOutlet weak var viewAdContainer: UIView!
    @IBOutlet weak var lblAdTitle: UILabel!
    @IBOutlet weak var lblAdBody: UILabel!
    @IBOutlet weak var imgAdIcon: UIImageView!
    @IBOutlet weak var btnAdAction: UIButton!
    @IBOutlet weak var lblSocialContext: UILabel!
    var nativeAd: FBNativeAd!
    var coverMediaView: FBMediaView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        //viewAdContainer.isHidden = true
    }
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
    
    @IBAction func loadNativeAd(sender: AnyObject) {
   
        nativeAd = FBNativeAd(placementID: "ca-app-pub-39402560*99425*4/39866*****")
        nativeAd.delegate = self
        nativeAd.load()
    }
    
    
    // MARK: Custom Methods
    
    func handleLoadedNativeAdUsingCustomViews() {
        // Set the ad title.
        lblAdTitle.text = nativeAd.title
        
        // Set the ad body (if exists).
        if let body = nativeAd.body {
            lblAdBody.text = body
        }
        
        // Set the title of the call-to-action button.
        btnAdAction.setTitle(nativeAd.callToAction, for: [])
        
        
        // Load and display the ad icon image.
        nativeAd.icon?.loadAsync(block: { (iconImage) in
            if let image = iconImage {
                self.imgAdIcon.image = image
            }
        })
        // Create a cover media view and assign the native ad object to it (it will display image(s) or video, depending on what ad contains).
        let yPoint = lblAdBody.frame.origin.y + lblAdBody.frame.size.height + 8.0
        let coverMediaViewFrame = CGRect(x: lblAdBody.frame.origin.x, y: yPoint, width: lblAdBody.frame.size.width, height: lblSocialContext.frame.origin.y - yPoint - 8.0)
        let coverMediaView = FBMediaView(frame: coverMediaViewFrame)
        coverMediaView.clipsToBounds = true
        coverMediaView.nativeAd = nativeAd
        viewAdContainer.addSubview(coverMediaView)
        // Set the social context title (if exists).
        if let socialContext = nativeAd.socialContext {
            lblSocialContext.text = socialContext
        }
        // Add the AdChoices view.
        let adChoicesView = FBAdChoicesView(nativeAd: nativeAd)
        viewAdContainer.addSubview(adChoicesView)
        adChoicesView.updateFrameFromSuperview()
        // Use this to make the whole ad container view interact when tapping.
        nativeAd.registerView(forInteraction: viewAdContainer, with: self)
        // Use this to make the call-to-action interactive only.
        nativeAd.registerView(forInteraction: viewAdContainer, with: self, withClickableViews: [btnAdAction])
        // Make the native ad view container visible.
        viewAdContainer.isHidden = false
    }
    
    func handleLoadedNativeAdUsingTemplate() {
        let attributes = FBNativeAdViewAttributes()
        attributes.buttonColor = UIColor.magenta
        attributes.buttonTitleColor = UIColor.yellow
        attributes.backgroundColor = UIColor.purple
        attributes.titleFont = UIFont(name: "Noteworthy", size: 20.0)
        attributes.titleColor = UIColor.white
        attributes.buttonTitleFont = UIFont(name: "Futura", size: 12.0)
        attributes.descriptionColor = UIColor.white
        
        let nativeAdView = FBNativeAdView(nativeAd: nativeAd, with: FBNativeAdViewType.genericHeight300, with: attributes)
        _ = FBNativeAdView(nativeAd: nativeAd, with: FBNativeAdViewType.genericHeight300)
        nativeAdView.frame = CGRect(x: 20.0, y: 100.0, width: UIScreen.main.bounds.size.width - 40.0, height: 300.0)
        self.view.addSubview(nativeAdView)
        nativeAd.registerView(forInteraction: nativeAdView, with: self)
    }
    
    // MARK: FBNativeAdDelegate Methods
    
    func nativeAdDidLoad(_ nativeAd: FBNativeAd) {
        handleLoadedNativeAdUsingCustomViews()
        
        handleLoadedNativeAdUsingTemplate()
    }
    
    private func nativeAd(nativeAd: FBNativeAd, didFailWithError error: NSError) {
        print(error)
    }
    
    func nativeAdDidClick(_ nativeAd: FBNativeAd) {
        print("Did tap on the ad")
    }
}

0 ответов

Другие вопросы по тегам