国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Flutter中顯示廣點(diǎn)通Banner2廣告之IOS端

番茄西紅柿 / 3406人閱讀

摘要:交代背景我是個(gè)人開(kāi)發(fā)者然后我的需要制作端我的用戶要求出蘋(píng)果版然后我的學(xué)得渣所以只有學(xué)學(xué)了然而很遺憾的是國(guó)內(nèi)沒(méi)有任何一家廣告聯(lián)盟出了所以不得不收集資料搞一波顯示原生技術(shù)交底搜索了下需要使用到的插件機(jī)制所以請(qǐng)自行熟悉下效果圖上實(shí)現(xiàn)由于我是用

1.交代背景

我是個(gè)人開(kāi)發(fā)者, 然后我的app需要制作ios端, 我的用戶要求出蘋(píng)果版, 然后我的swift學(xué)得渣, 所以只有學(xué)學(xué)flutter了. 然而很遺憾的是國(guó)內(nèi)沒(méi)有任何一家廣告聯(lián)盟出了flutter SDK. 所以不得不收集資料搞一波flutter顯示原生View.

2.技術(shù)交底

搜索了下, 需要使用到Flutter的插件機(jī)制, 所以請(qǐng)自行熟悉下UiKitView, MethodChannel, PlatformView.

3.效果圖

4.ios上實(shí)現(xiàn)

由于我是用的swift, 廣點(diǎn)通的sdk是oc寫(xiě)得, 需要把用到的類寫(xiě)在橋接文件里面

//Runner-Bridging-Header.h
#import "GeneratedPluginRegistrant.h"
#import "GDTNativeExpressAdView.h"
#import "GDTMobBannerView.h"
#import "GDTMobInterstitial.h"
#import "GDTNativeExpressAd.h"
#import "GDTNativeAd.h"
#import "GDTSplashAd.h"
#import "GDTSDKConfig.h"
#import "GDTUnifiedBannerView.h"

在AppDelegate.swift中使用

import UIKit
import Flutter

@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate{
  override func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]);let controller = window);if !hasPlugin("BannerPlugin") && controller != nil {
        //注冊(cè)插件
        BannerPlugin.registerWithRegistrar(registar: registrar(forPlugin: "BannerPlugin"), controller: controller!)
    }
    
    return super.application(application, didFinishLaunchingWithOptions: launchOptions)
  }
}

BannerPlugin.swift

import Foundation
class BannerPlugin {
    static func registerWithRegistrar(registar: FlutterPluginRegistrar, controller: UIViewController){
        registar.register(BannerViewFactory(controller: controller), withId: "banner");
    }
}

BannerViewFactory.swift

import Foundation
class BannerViewFactory : NSObject, FlutterPlatformViewFactory {
    let controller: UIViewController
    
    init(controller: UIViewController) {
        self.controller = controller
    }
    
    public func create(withFrame frame: CGRect, viewIdentifier viewId: Int64, arguments args: Any);return Banner(withFrame:frame, viewId: viewId, args: args, controller: controller)
    }
    
    func createArgsCodec() -> FlutterMessageCodec & NSObjectProtocol {
        return FlutterStandardMessageCodec.sharedInstance()
    }
}

Banner.swift

import Foundation
class Banner : NSObject, FlutterPlatformView, GDTUnifiedBannerViewDelegate{
    let viewId:Int64
    let args: NSDictionary
    let withFrame:CGRect
    let  controller: UIViewController
    
    init(withFrame: CGRect, viewId: Int64, args: Any);let banner = GDTUnifiedBannerView.init(frame: withFrame,
            appId: args.object(forKey: "appid") as! String,
            placementId: args.object(forKey: "posId") as! String,
            viewController: controller)
        banner.delegate = self
        banner.loadAdAndShow()
        return banner;
    }
    
    func unifiedBannerViewFailed(toLoad unifiedBannerView: GDTUnifiedBannerView, error: Error) {
        print(error)
    }
}

在flutter里面調(diào)用很簡(jiǎn)單.

 UiKitView(
                                  viewType: "banner",
                                  creationParams: {"appid": "1105344611", "posId": "1080958885885321"},
                                  creationParamsCodec: const StandardMessageCodec(),
                                  onPlatformViewCreated: (id) {
                                    print(id);
                                  },
                                ),
                          height: 64,

主要是UiKitView的使用, banner是IOS那邊注冊(cè)的viewID. 這篇文章是為了記錄我在學(xué)習(xí)flutter添加banner廣告的過(guò)程. 不喜勿噴, 謝謝 過(guò)程很簡(jiǎn)單, 就沒(méi)有詳細(xì)去講述原理了. 直接上代碼, 簡(jiǎn)單粗暴.

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/7074.html

相關(guān)文章

  • 性能優(yōu)化路——圖片篇。

    摘要:判斷為白名單,則直接調(diào)用,返回格式圖片反之,則顯示原圖。處理處理,是美團(tuán)云為美團(tuán)主站提供的處理方式。目前,可用替換路徑的方式來(lái)處理。處理實(shí)際上效果也是不錯(cuò)的,美團(tuán)頁(yè)面里以上的圖片都是懶加載的,基本上都可以滿足需求。 本人是一名前端開(kāi)發(fā)者,在公司負(fù)責(zé)目前負(fù)責(zé)信息流服務(wù),為五大手機(jī)廠商和各大App提供服務(wù),每天的請(qǐng)求就是以億計(jì)算,加上我們又做了SSP和DSP,就是類似于百度廣告聯(lián)盟,騰訊廣...

    wfc_666 評(píng)論0 收藏0
  • 一篇文章了解廣告全鏈路

    摘要:總結(jié)本文描述了廣告的全鏈路和相關(guān)的算法知識(shí),受限于庫(kù)存算法的復(fù)雜性和個(gè)人知識(shí)面,只粗略的提出了兩個(gè)方案廣平使用的。 筆者加入騰訊已經(jīng)快5年時(shí)光,一直負(fù)責(zé)廣告前端研發(fā)工作。最近即將離開(kāi)公司,特意將廣告的全鏈路整理了一下,作為自己的一個(gè)總結(jié)。本文將從產(chǎn)品的角度入手,通過(guò)描述廣告的玩法,讓讀者對(duì)廣告有一個(gè)整體的概念和印象。如果你對(duì)廣告熟悉,只想了解廣告的后臺(tái)算法邏輯,大可從第三部分開(kāi)始;如果...

    mj 評(píng)論0 收藏0
  • 時(shí)間以半點(diǎn)為單位相連的算法

    摘要:背景在做廣點(diǎn)通信息流數(shù)據(jù)獲取的時(shí)候有這么一個(gè)字段投放時(shí)間段,格式為位字符串,且都為和,以半個(gè)小時(shí)為最小粒度,從周一零點(diǎn)開(kāi)始至周日點(diǎn)結(jié)束。為不投放,為投放,全傳視為全時(shí)段投放,不允許全部傳。 背景 在做廣點(diǎn)通信息流數(shù)據(jù)獲取的時(shí)候有這么一個(gè)字段:time_series 投放時(shí)間段,格式為 48 * 7 位字符串,且都為 0 和 1,以半個(gè)小時(shí)為最小粒度,從周一零點(diǎn)開(kāi)始至周日 24 點(diǎn)結(jié)束。...

    KoreyLee 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<