成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Flutter中顯示廣點通Banner2廣告之IOS端

番茄西紅柿 / 3450人閱讀

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

1.交代背景

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

2.技術(shù)交底

搜索了下, 需要使用到Flutter的插件機制, 所以請自行熟悉下UiKitView, MethodChannel, PlatformView.

3.效果圖

4.ios上實現(xiàn)

由于我是用的swift, 廣點通的sdk是oc寫得, 需要把用到的類寫在橋接文件里面

//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 {
        //注冊插件
        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)用很簡單.

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

主要是UiKitView的使用, banner是IOS那邊注冊的viewID. 這篇文章是為了記錄我在學習flutter添加banner廣告的過程. 不喜勿噴, 謝謝 過程很簡單, 就沒有詳細去講述原理了. 直接上代碼, 簡單粗暴.

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

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/7074.html

相關(guān)文章

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

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

    wfc_666 評論0 收藏0
  • 一篇文章了解廣告全鏈路

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

    mj 評論0 收藏0
  • 時間以半點為單位相連的算法

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

    KoreyLee 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<