Flutter

您所在的位置:网站首页 flutter官方文档 Flutter

Flutter

2022-08-22 07:33| 来源: 网络整理| 查看: 265

信息中心 - App对接文档 - Flutter-iOS - 正文 Flutter-iOS 集成文档

2021-08-16  来源:游易整理编辑

游易广告SDK集成文档

注意事项:

SKAdNetwork (SKAN) 是Apple的归因解决方案,可帮助广告客户在保持用户隐私的同时衡量广告活动。使用Apple的SKAdNetwork后,即使IDFA不可用,广告网络也可以正确获得应用安装的归因结果。访问https://developer.apple.com/documentation/storekit/skadnetwork了解更多信息。为了广告化的归因,所有开发者必须设置SKAdNetwork id。

App Tracking Transparency(ATT) 适用于请求用户授权,访问与应用相关的数据以跟踪用户或设备。访问https://developer.apple.com/documentation/apptrackingtransparency了解更多信息。目前苹果要求iOS 14.5及以上的版本必须在弹框取得用户同意后,才可以跟踪用户。对其他版本暂无明确要求,开发者应根据需要配置弹窗。

Checklist

1.0.0 应用编译环境升级至Xcode 12.0 及以上版本

1.0.1 升级游易iOS SDK 1.0.6 及以上版本,游易提供了iOS 14 与SKAdNetwork 支持

1.1.0 将SKAdNetwork ID添加到info.plist中,以保证SKAdNetwork的正确运行

key>SKAdNetworkItemskey>

array>

dict>

key>SKAdNetworkIdentifierkey>

string>f7s53z58qe.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>cstr6suwn9.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>4fzdc2evr5.skadnetwork

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>4pfyvq9l8r.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>2fnua5tdw4.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>ydx93a7ass.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>5a6flpkh64.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>p78axxw29g.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>v72qych5uu.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>ludvb6z3bs.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>c6k4g5qg8m.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>s39g8k73mm.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>3qy4746246.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>3sh42y64q3.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>f38h382jlk.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>hs6bdukanm.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>prcb7njmu6.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>v9wttpbfk9.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>wzmmz9fp6w.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>yclnxrl5pm.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>4468km3ulz.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>t38b2kh725.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>n6fk4nfna4.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>kbd757ywx3.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>9t245vhmpl.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>k674qkevps.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>2u9pt9hc89.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>8s468mfl3y.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>av6w8kgt66.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>klf5c3l5u5.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>y2ed4ez56y.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>ppxm28t8ap.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>424m5254lk.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>ecpz2srf59.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>uw77j35x4d.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>e5fvkxwrpn.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>zq492l623r.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>hjevpa356n.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>3qcr597p9d.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>238da6jt44.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>22mmun2rn5.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>uw77j35x4d.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>7ug5zh24hu.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>hs6bdukanm.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>4fzdc2evr5.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>ggvn48r87g.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>5lm9lj6jb7.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>9rd848q2bz.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>c6k4g5qg8m.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>wzmmz9fp6w.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>3sh42y64q3.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>yclnxrl5pm.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>kbd757ywx3.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>f73kdq92p3.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>ydx93a7ass.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>w9q455wk68.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>prcb7njmu6.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>wg4vff78zm.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>mlmmfzh3r3.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>tl55sbb4fm.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>4pfyvq9l8r.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>t38b2kh725.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>5l3tpt7t6e.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>7rz58n8ntl.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>klf5c3l5u5.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>cg4yq2srnc.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>av6w8kgt66.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>9t245vhmpl.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>v72qych5uu.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>2u9pt9hc89.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>44jx6755aq.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>8s468mfl3y.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>p78axxw29g.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>ppxm28t8ap.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>424m5254lk.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>5a6flpkh64.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>pwa73g5rt2.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>e5fvkxwrpn.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>9nlqeag3gk.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>578prtvx9j.skadnetworkstring>

dict>

dict>

key>SKAdNetworkIdentifierkey>

string>n6fk4nfna4.skadnetworkstring>

dict>

array>

1.2.0 支持苹果ATT:从iOS14开始,若开发者设置App Tracking Transparency 向用户申请跟踪授权,在用户授权之前IDFA不可用。如果用户拒绝此请求,应用获取到的IDFA将自动归零,可能会导致您的广告收入的降低

要获取App Tracking Transparency权限,请更新您的Info.plist,添加NSUserTrackingUsageDescription字段和自定义文案描述。代码示例:

key>NSUserTrackingUsageDescriptionkey>

string>该标识符将用于向您投放个性化广告string>

向用户申请权限时,请调用requestTrackingAuthorizationWithCompletionHandler:方法。建议您申请权限后再请求广告,以便准确的获得用户授权状态

Flutter端代码请查看flutter_demo下lib目录下module目录的ads_widget.dart文件

Objective-C代码示例

#import

#import

- (void)requestIDFA {

[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {

// 加载您的广告

}];

}

1.3 添加GADApplicationIdentifier,此参数为本平台iOS广告版本1.0.6及以后必加的配置, 否则会导致程序崩溃

GADApplicationIdentifier的获取方式:前往游易控制台-> 运营 -> APP广告 -> 应用管理 -> 选择您的iOS应用并点击列表查看详情即可获取GADApplicationIdentifier的值。

更新您的Info.plist添加:

GADApplicationIdentifier

(例如:ca-app-pub-3940256099942544~1458002511)

1.4 从iOS12开始,苹果引入了隐私设置来访问WiFi详细信息,为了促进盈利和相关的用户体验,我们鼓励分享针对定向广告的WiFi详细信息

1.4.1 Enable ‘Access WiFi Information’ on your App ID.

1.4.2 Enable access ‘Access Wifi Information’ for your target app from XCode capabilities.

1.4.3 Ensure WiFi Access is aded to your App.entitlements file.

1.5 解压SDK压缩包,将YYAdSDK拷贝至项目文件夹,然后打开项目选中项目文件夹,右键选择Add Files to "xxxxx", 选择拷贝到项目文件夹中的YYAdSDK文件中

Flutter_YYAdSDK.jpg

Flutter_YYAdSDK1.jpg

2. 项目配置

打开Runner.xcworkspace

Flutter_YYAdSDK2.jpg

2.1 选择项目TARGETS中的项目,选择Xcode工具栏中的Build Phases,选择Link Binary With Libraries 将下图中的依赖文件添加至项目中

2.2 确保Build Phases下Cope Bundle Resources 中包含了YYMobAdSDK.bundle

2.3 选择Build Settings 搜索中输入Other linker Flags

2.3.1 在Other linker Flags中添加(确保双引号是英文的)

$(inherited)

-ObjC

-l"c++"

-l"C++abi"

-l"sqlite3"

-l"z"

-framework

"AVFoundation"

-framework

"AudioToolbox"

-framework

"CoreLocation"

-framework

"CoreMedia"

-framework

"CoreServices"

-framework

"CoreMotion"

-framework

"JavaScriptCore"

-framework

"Security"

-framework

"Accelerate"

-framework

"AdSupport"

-framework

"SystemConfiguration"

-framework

"WebKit"

-framework

"StoreKit"

-framework

"CoreTelephony"

-framework

"MediaPlayer"

3.0.0 项目目录结构

WechatIMG4.jpeg

WechatIMG3.jpeg

初始化SDK(通过Xcode打开工程)

3.0.1在AppDelegate.m文件中导入以下头文件

#import "AppDelegate.h"

#import "GeneratedPluginRegistrant.h"

#import

#import

#import "YYBannerFlutterViewRegistran.h"

#import "YYNativeFlutterViewRegistran.h"

3.0.2 在application:didFinishLaunchingWithOptions:中初始化YYAdSDKManager[YYAdSDKManager setAppID:@"请输入在游易官网获取的应用ID"];

@interface 添加游易广告插件属性

/** 游易广告插件 */

@property (nonatomic, strong) YYAdsPlugin *adPlugin;

3.1 开屏广告集成

3.1.2.2 添加开屏广告位

由于开屏广告需要在应用启动的时候进行加载,因此直接在iOS AppDelegate.m 的application:didFinishLaunchingWithOptions:中进行广告的获取及[self getSplashAd] 并实现getSplashAd方法,代码如下图所示。

关于插屏广告、横幅广告、激励视频广告、信息流广告、全屏视频广告、Draw视频广告则可以直接通过Flutter端调用指定的原生函数来实现调用和传参,这是就需要实现Flutter的方法通道,游易广告SDK已为开发者做好了相应的事情,用户只需要将以下代码拷贝至自己的项目工程中即可,注意一定要将AppID改为自己在游易官网获取的的应用ID,另外在Flutter端调用的methodChannelName必须要iOS原生端一模一样及此处是YYAds.flutter.io/ads 用户可以自己定义,但确保iOS原生和Flutter必须一样,Flutter端的调用可以查看游易官网提供的flutter_demo

- (BOOL)application:(UIApplication *)application

didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    

    [GeneratedPluginRegistrant registerWithRegistry:self];

    // Override point for customization after application launch.

    

    //1. 初始化游易广告SDK 请前往游易官网注册应用并创建广告位,初始化一定要在获取广告前进行,否则拉取广告失败

    [YYAdSDKManager requestPrivacyAuthorization:^BOOL(YYPrivacyAuthorizationType type) {

        switch (type) {

            case YYPrivacyAuthorizationType_IDFA:/** 游易申请获取idfa,如果禁止获取会影响广告收益 */

                return YES;

                break;

            case YYPrivacyAuthorizationType_Location:/** 游易申请访问用户的地理位置信息 */

                return YES;

                break;

            case YYPrivacyAuthorizationType_WIFI:/** 游易申请获取用户的WIFI信息 */

                return YES;

                break;

            default:

                return NO;

                break;

        }

    }];

    [YYAdSDKManager setAppID:@"请填写您从游易官网获取的应用ID"];

    

    //2. 拉取开屏广告(可根据自己需求选择)

    [self getSplashAd];

    

    //3. FlutterMethodChannel与Flutter之间的双向通信

    [self methodChannelFunction];

    

    //4. 注册Banner插件

    [YYBannerFlutterViewRegistran registerWithRegistry:self];

    

    //5. 注册信息流插件

    [YYNativeFlutterViewRegistran registerWithRegistry:self];

    

    return [super application:application didFinishLaunchingWithOptions:launchOptions];

}

/**

 * 处理Flutter客户端的广告消息

 */

- (void)methodChannelFunction {

    FlutterViewController *controller = (FlutterViewController *)self.window.rootViewController;

#pragma clang diagnostic push

#pragma clang diagnostic ignored "-Wincompatible-pointer-types"

    FlutterMethodChannel *methodChannel = [FlutterMethodChannel methodChannelWithName:@"YYAds.flutter.io/ads" binaryMessenger:controller];

#pragma clang diagnostic pop

    [methodChannel setMethodCallHandler:^(FlutterMethodCall * _Nonnull call, FlutterResult  _Nonnull result) {

        if ([@"getInterstitialAd" isEqualToString:call.method]) {

            [self getInterstitialAd:call.arguments];

        } else if ([@"getRewardVideoAd" isEqualToString:call.method]) {

            [self getRewardVideoAd:call.arguments];

        } else if ([@"getFullScreenVideoAd" isEqualToString:call.method]) {

            [self getFullScreenVideoAd:call.arguments];

        } else if ([@"getDrawVideoAd" isEqualToString:call.method]) {

            [self getDrawVideoAd:call.arguments];

        }

    }];

}

/**

 * 获取开屏广告并显示

 * ad_id: 字符串类型 广告位ID

 * button_type: int类型 (1:全屏点击 2:区域点击) 默认全屏点击,仅开屏广告支持

 * shaking_enable: bool类型 (YES:开启摇一摇 NO:关闭摇一摇)默认关闭

 */

- (void)getSplashAd {

    YYAdsPlugin *adPlugin = [[YYAdsPlugin alloc] initWithParams:@{@"ad_id":@"请填写您从游易官网获取的开屏广告ID",@"button_type":@(1),@"shaking_enable":@(NO)} type:YYAdvertisingType_Splash];

    adPlugin.delegate = self;

    self.adPlugin = adPlugin;

}

/**

 * 获取插屏广告并显示

 */

- (void)getInterstitialAd:(NSDictionary *)paramDict_ {

    YYAdsPlugin *adPlugin = [[YYAdsPlugin alloc] initWithParams:paramDict_ type:(YYAdvertisingType_Interstitial)];

    adPlugin.delegate = self;

    self.adPlugin = adPlugin;

}

/**

 * 获取激励视频广告并显示

 */

- (void)getRewardVideoAd:(NSDictionary *)paramDict_ {

    YYAdsPlugin *adPlugin = [[YYAdsPlugin alloc] initWithParams:paramDict_ type:(YYAdvertisingType_Rewarded)];

    adPlugin.delegate = self;

    self.adPlugin = adPlugin;

}

/**

 * 获取全屏视频广告并显示

 */

- (void)getFullScreenVideoAd:(NSDictionary *)paramDict_ {

    YYAdsPlugin *adPlugin = [[YYAdsPlugin alloc] initWithParams:paramDict_ type:(YYAdvertisingType_Full)];

    adPlugin.delegate = self;

    self.adPlugin = adPlugin;

}

/**

 * 获取Draw视频广告并显示

 */

- (void)getDrawVideoAd:(NSDictionary *)paramDict_ {

    YYAdsPlugin *adPlugin = [[YYAdsPlugin alloc] initWithParams:paramDict_ type:(YYAdvertisingType_Draw)];

    adPlugin.delegate = self;

    self.adPlugin = adPlugin;

}

实现游易广告插件代理协议

声明广告协议

@interface AppDelegate()YYAdsPluginDelegate>

/** 游易广告插件 */

@property (nonatomic, strong) YYAdsPlugin *adPlugin;

@end

实现广告协议代理方法,并设置回调参数以便Flutter端与iOS 原生端进行通讯

#pragma mark - YYAdsPluginDelegate

/**

 * 监听广告被点击

 */

- (void)onAdClick {

    FlutterViewController *controller = (FlutterViewController *)self.window.rootViewController;

#pragma clang diagnostic push

#pragma clang diagnostic ignored "-Wincompatible-pointer-types"

    FlutterMethodChannel *methodChannel = [FlutterMethodChannel methodChannelWithName:@"YYAds.flutter.io/ads" binaryMessenger:controller];

#pragma clang diagnostic pop

    NSMutableDictionary *dict = [NSMutableDictionary dictionary];

    [dict setObject:@"onAdClick" forKey:@"status"];

    [methodChannel invokeMethod:@"onNativeAdCallBack" arguments:dict];

}

/**

 * 监听广告加载成功

 */

- (void)onAdLoadSuccess {

    FlutterViewController *controller = (FlutterViewController *)self.window.rootViewController;

#pragma clang diagnostic push

#pragma clang diagnostic ignored "-Wincompatible-pointer-types"

    FlutterMethodChannel *methodChannel = [FlutterMethodChannel methodChannelWithName:@"YYAds.flutter.io/ads" binaryMessenger:controller];

#pragma clang diagnostic pop

    NSMutableDictionary *dict = [NSMutableDictionary dictionary];

    [dict setObject:@"onAdLoadSuccess" forKey:@"status"];

    [methodChannel invokeMethod:@"onNativeAdCallBack" arguments:dict];

}

/**

 * 监听广告关闭

 */

- (void)onAdClosed {

    if (self.adPlugin) {

        self.adPlugin.delegate = nil;

        self.adPlugin = nil;

    }

    FlutterViewController *controller = (FlutterViewController *)self.window.rootViewController;

#pragma clang diagnostic push

#pragma clang diagnostic ignored "-Wincompatible-pointer-types"

    FlutterMethodChannel *methodChannel = [FlutterMethodChannel methodChannelWithName:@"YYAds.flutter.io/ads" binaryMessenger:controller];

#pragma clang diagnostic pop

    NSMutableDictionary *dict = [NSMutableDictionary dictionary];

    [dict setObject:@"onAdClosed" forKey:@"status"];

    [methodChannel invokeMethod:@"onNativeAdCallBack" arguments:dict];

}

/**

 * 监听广告加载失败

 */

- (void)onAdLoadFail:(NSError *)error {

    if (self.adPlugin) {

        self.adPlugin.delegate = nil;

        self.adPlugin = nil;

    }

    FlutterViewController *controller = (FlutterViewController *)self.window.rootViewController;

#pragma clang diagnostic push

#pragma clang diagnostic ignored "-Wincompatible-pointer-types"

    FlutterMethodChannel *methodChannel = [FlutterMethodChannel methodChannelWithName:@"YYAds.flutter.io/ads" binaryMessenger:controller];

#pragma clang diagnostic pop

    NSMutableDictionary *dict = [NSMutableDictionary dictionary];

    [dict setObject:[NSNumber numberWithInteger:error.code] forKey:@"errorCode"];

    [dict setObject:[NSString stringWithFormat:@"%@",error.localizedDescription] forKey:@"errorMessage"];

    [dict setObject:@"onAdLoadFail" forKey:@"status"];

    [methodChannel invokeMethod:@"onNativeAdCallBack" arguments:dict];

}

- (void)onAdRewardSuccess:(NSDictionary *)info {

    FlutterViewController *controller = (FlutterViewController *)self.window.rootViewController;

#pragma clang diagnostic push

#pragma clang diagnostic ignored "-Wincompatible-pointer-types"

    FlutterMethodChannel *methodChannel = [FlutterMethodChannel methodChannelWithName:@"YYAds.flutter.io/ads" binaryMessenger:controller];

#pragma clang diagnostic pop

    NSMutableDictionary *dict = [NSMutableDictionary dictionary];

    [dict setObject:@"onAdRewardSuccess" forKey:@"status"];

    if (info) {

        [dict setObject:info forKey:@"info"];

    }

    [methodChannel invokeMethod:@"onNativeAdCallBack" arguments:dict];

}

Flutter端调用原生插件的过程请查看flutter_demo 中的相应广告集成案例

注意flutter_demo中的调用只是为了方便开发者了解怎样使用游易的广告插件,具体的广告显示场景需要根据flutter_demo中相应的代码注释以及根据自己的需求来完成广告的集成。

上一篇:

下一篇:



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3