• Funlink Android SDK 接入说明

        文档版本修订日期修订说明
        v2.8.12025-02-11修复已知问题;
        v2.8.12024-02-14修复已知问题;
        v2.8.02024-10-10修复已知问题;
        v2.7.92024-08-12修复已知问题,更新适配联盟SDK;
        v2.7.82024-06-14修复已知问题;
        v2.7.72024-04-19修复已知问题,优化广告加载逻辑,更新适配联盟SDK;
        v2.7.62024-02-01修复已知问题;
        v2.7.52023-12-14修复已知问题;自渲染交互样式调整;插屏支持自动关闭及刷新
        v2.7.42023-11-22合规优化;更新联盟广告适配
        v2.7.32023-10-26修复已知问题; 优化广告加载逻辑; 合规优化;更新联盟广告适配
        v2.7.22023-08-29调整原生、模板广告加载策略;修复已知问题
        v2.7.12023-07-18更新适配广告联盟SDK版本;优化广告策略
        v2.7.02023-07-06新增原生混合广告
        v2.6.92023-06-20修复已知问题
        v2.6.82023-05-19优化广告逻辑;修复已知问题
        v2.6.72023-04-12新增广告样式;修复已知问题
        v2.6.62023-03-27修复已知问题
        v2.6.52023-03-08竞价广告支持缓存控制
        v2.6.42023-02-17新增预加载广告功能;修复已知问题
        v2.6.32023-01-04新增缓存广告数据统计;修复已知问题
        v2.6.22022-12-05缓存优化、请求逻辑优化,增加响应速度,修复已知问题
        v2.6.12022-11-18支持快手服务端竞价,支持填充失败分析
        v2.6.02022-11-07api广告支持下载二次弹窗,联盟自渲染增加下载五要素透传

         


        前置说明

        使用Funlink SDK前必须满足以下条件。

        参数申请

        目前聚合广告SDK需要的参数为各广告联盟平台的APPID和各广告位对应ID,请在广告联盟官方指定平台申请或联系具体负责人!

        支持的广告联盟和广告类型

        广告联盟开屏广告原生广告模板广告横幅广告插屏广告全屏视频广告激励视频广告
        穿山甲✔️✔️✔️✔️✔️✔️✔️
        优量汇✔️✔️✔️✔️✔️✔️✔️
        快手✔️✔️✔️✔️✔️✔️
        京准通✔️✔️✔️
        百度联盟✔️✔️✔️✔️✔️✔️✔️
        Sigmob✔️✔️-✔️✔️✔️
        趣盟✔️✔️--✔️-✔️
        MTG✔️✔️✔️✔️✔️✔️✔️
        Adhub✔️-✔️✔️✔️✔️✔️
        华为-✔️✔️-✔️
        OPPO✔️✔️✔️✔️✔️✔️
        米盟✔️✔️✔️✔️✔️✔️✔️

         

        Funlink平台配置

        接入方需事先在各三方广告联盟SDK平台申请相关广告参数,然后在Funlink聚合平台进行配置。在Funlink聚合平台配置之后,才能正常使用本SDK的聚合功能。

        一、准备工作

        1.SDK 导入依赖

         

        app目录下的build.gradle文件添加依赖

        2.权限和架构说明

        2.1权限

        SDK所需权限如下:

        2、以下权限为可选权限,申请以下权限用于防作弊功能以及有助于广告平台投放广告

        2.2架构

        部分广告平台的SDK中带有so库,各平台使用的so文件支持的架构如下:(开发者按需选择以下架构)

        穿山甲:arm64-v8a、armeabi-v7a

        快手广告:armeabi、arm64-v8a、armeabi-v7a、x86_64、x86 (3.3.15后不支持armeabi)

        建议:在build.gradle中添加如下配置,可基本支持大部分手机架构:

        3. 代码初始化

        请在用户授权后在合适的位置进行初始化,请求广告前必须先执行初始化。

         

        4.SDK说明

        aar名称作用
        funlink_1.0.xFunlink核心包,必选
        funlink_adapter_bd_1.0.x百度适配器,如使用百度广告必选
        funlink_adapter_jzt_1.0.x京准通适配器,如使用京准通广告必选
        funlink_adapter_ks_1.0.x快手适配器,如使用快手广告必选
        funlink_adapter_csj_1.0.x穿山甲适配器,如使用穿山甲广告必选
        funlink_adapter_gdt_1.0.x优量汇适配器,如使用优量汇广告必选
        funlink_adapter_sb_1.0.xSigmob适配器,如使用Sigmob广告必选
        funlink_adapter_qtt_1.0.x趣盟适配器,如使用趣盟广告必选
        funlink_adapter_mtg_1.0.xMTG适配器,如使用MTG广告必选

         

        二、广告接入

        下面广告请求中需要传入Context的地方都需要传入activity。

        1. 开屏广告

        展示开屏页的位置:冷启动进入应用时,加载开屏页广告,广告展示完毕,根据各应用的逻辑跳转到相应页面。建议将应用的logo放到广告页的下面,高度不超过200个像素(详见demo),或者将logo页作为广告的背景,有广告返回时广告盖住logo,无广告返回时继续展示logo。

        特别注意:当用户点击广告跳转到广告详情页面后onAdclose()方法仍然会被调用,此时开发者还不能打开自己的App主页,当从广告落地页返回以后才可以跳转。所以使用canJump字段配合页面生命周期辅助判断正确的跳转时机。

         

        接入代码示例

        备注:自定义跳过按钮样式时,不要将跳过按钮置于展示广告的容器内,否则会被移除。应该将跳过按钮与展示广告的容器平级设置,可参考Demo的布局方式

        2. 插屏广告

        插屏广告一般用于离开当前页时或者游戏角色死亡时弹出的广告,可自行传入宽高值,但最终插屏广告的宽高只能接近传入的数值,并不是1:1完全符合。请求插屏广告的时间相对较久(2s左右),为了更好的体验,所以请提前请求,展示的时候只需要show即可

        3. Banner广告

        Banner的宽度一般是屏幕的宽度,高度在100-150像素之间。Banner广告请求成功后,会有View返回,接入方将其展示在屏幕中即可

        4. 激励视频

        激励视频是一种收益较高的广告类型,广告播放过程中,不能中途关闭,只有广告播放完毕后才会出现关闭按钮,选择使用时需慎重

        5.全屏视频

        全屏视频在广告形式上类似激励视频,区别在于广告播放开始或者几秒钟后可以选择关闭,全屏视频没有额外获取奖励的回调。

        6.原生混合广告

        原生混合广告是将自渲染信息流广告模版信息流广告Draw信息流广告封装到同一个API中的广告请求方式。开发者可以在同一个广告位中配置上述不同的广告样式混用。

        1. API说明

        广告请求

         

        广告渲染

         

        广告事件监听

         

        广告素材定义

         

        2. 接入代码示例

         

        7. 自定义广告源广告

        详细实现自定义Adapter的示例可查看Demo

        1. 针对实现各个广告形式需要继承的类说明

        开发者需要根据自身需求继承相应广告形式的类(参照下表)并重写所有抽象方法,在相应的方法中调用广告平台的API,并通过类成员变量mLoadListener回调加载的结果,通过类成员变量mImpressionEventListener回调广告展示、点击、关闭等事件结果

        广告形式类名
        激励视频com.yd.saas.base.custom.rewardvideo.CustomRewardVideoAdapter
        插屏广告com.yd.saas.base.custom.Interstitial.CustomInterstitialAdapter
        全屏视频com.yd.saas.base.custom.fullvideo.CustomFullVideoAdapter
        横幅广告com.yd.saas.base.custom.banner.CustomBannerAdapter
        原生模板com.yd.saas.base.custom.template.CustomTemplateAdapter
        原生自渲染com.yd.saas.base.custom.nativead.CustomNativeAdapter
        开屏广告com.yd.saas.base.custom.spread.CustomSpreadAdapter

        2. Adapter的使用以及注意事项

        2.1 使用流程
        2.2 注意事项

        8. 预加载广告

        2.6.4以上版本支持广告预加载功能。提升广告响应速度。

        使用方法:需要在主activity页面,调用相应方法,对广告进行预加载。

        接入代码示例

         

        三、混淆

        以下是所有的混淆规则,但需要根据实际所依赖的aar进行选择配置:

         

        四、国际版集成说明

        1. 初始化

        在调用SDK初始化方法 YdConfig.getInstance().init()前务必先调用YdSDK.setInternationalLocale()方法设置运行环境。

        2. 配置GDPR

        接入方需自行判断用户是否在欧盟地区或是否需要设置GDPR。SDK提供两种方式配置GDPR:

        1. 不使用SDK提供的GDPR授权页,直接设置GDPR等级,接入方需自行处理授权页及GDPR状态;
        2. 使用SDK提供的GDPR授权页。

        五、TopOn聚合平台自定义广告接入文档

        (特别说明:原生样式中包含有模版和自渲染两种渲染类型,确定好您是按照哪种方式来对接的,在我们平台创建原生混合广告位时后面备注好是自渲染还是模版,然后联系我们配置成对应的形式。否则我们平台默认返回的都是自渲染类型。)

        Topon自定义广告接入地址:https://docs.toponad.com/#/zh-cn/android/NetworkAccess/customnetwork/customnetwork

        自定义广告源adapter参数

        广告类型广告类名称服务端配置参数
        激励视频com.fl.saas.s2s.topon.FLTopOnRewardVideoAdapter{"app_id":"应用id","slot_id":"广告位id"}
        插屏com.fl.saas.s2s.topon.FLTopOnInterstitialAdapter{"app_id":"应用id","slot_id":"广告位id"}
        横幅com.fl.saas.s2s.topon.FLTopOnBannerAdapter{"app_id":"应用id","slot_id":"广告位id"}
        原生com.fl.saas.s2s.topon.FLTopOnNativeAdapter{"app_id":"应用id","slot_id":"广告位id"}
        开屏com.fl.saas.s2s.topon.FLTopOnSplashAdapter{"app_id":"应用id","slot_id":"广告位id"}

        六、ToBid聚合平台自定义广告接入文档

        (特别说明:原生样式中包含有模版和自渲染两种渲染类型,确定好您是按照哪种方式来对接的,在我们平台创建原生混合广告位时后面备注好是自渲染还是模版,然后联系我们配置成对应的形式。否则我们平台默认返回的都是自渲染类型。)

        自定义广告源adapter参数:

        应用维度参数:appId=应用ID(特别注意I为大写)

        自定义配置信息:{"placementId":"广告位id"}

        广告类型广告类全路径
        初始化类com.fl.saas.s2s.tobid.FLToBidCustomerProxy
        激励视频com.fl.saas.s2s.tobid.FLToBidVideoAdapter
        插屏com.fl.saas.s2s.tobid.FLToBidInterstitialAdapter
        横幅com.fl.saas.s2s.tobid.FLToBidBannerAdapter
        原生com.flsaas.s2s.tobid.FLToBidNativeAdapter
        开屏com.fl.saas.s2s.tobid.FLToBidSplashAdapter

        七、GroMore聚合平台自定义广告接入文档

        (特别说明:原生样式中包含有模版和自渲染两种渲染类型,确定好您是按照哪种方式来对接的,在我们平台创建原生混合广告位时后面备注好是自渲染还是模版,然后联系我们配置成对应的形式。否则我们平台默认返回的都是自渲染类型。)

        自定义广告源adapter参数:

        广告类型广告类全路径
        初始化类com.fl.saas.s2s.gromore.FLGromoreCustomInit
        激励视频com.fl.saas.s2s.gromore.FLGromoreRewardVideoLoader
        全屏视频com.fl.saas.s2s.gromore.FLGromoreFullVideoLoader
        插屏com.fl.saas.s2s.gromore.FLGromoreInterstitialLoader
        Bannercom.fl.saas.s2s.gromore.FLGromoreBannerLoader
        原生com.fl.saas.s2s.gromore.FLGromoreNativeLoader
        开屏com.fl.saas.s2s.gromore.FLGromoreSplashLoader

        八、竞价结果回传

        YdSpread,YdInterstitial,YdBanner,YdVideo,YdFullVideo,NativeAd 调用biddingResultUpload(boolean isWinner, int price, int secondPrice)方法回传竞价结果

        九、获取ecpm

        YdSpread,YdInterstitial,YdBanner,YdVideo,YdFullVideo,NativeAd通过getECPM方法可以获取,单位为分。

        十、错误码说明

        错误码说明
        20400获取广告配置异常,请检查广告位ID是否正确,广告位中是否正确配置了广告
        20401广告没有填充,请检查广告位中是否正确配置了广告,或者换台测试设备进行测试
        20402没有初始化SDK,请先初始化SDK再请求广告
        20403网络请求异常,请假查设备网络连接
        20404context传入异常,检查请求展示广告传入的context是否正常
        20405素材渲染失败
        20406请求过于频繁,请检查广告位是否配置了频率控制并达到了展示上限
        20407展示广告异常
        20408请求超时
        20409开屏容器为null,请传入正确的开屏广告容器
        20410内部错误,请打印日志联系官方工作人员查看处理
        20411广告位id异常,请检查广告位ID中快手广告是否正确配置

        十一、隐私信息控制设置

        十二、备注

        demo仅供参考,具体以文档为准。如有疑问,请联系开发人员,谢谢~

         

         

        iOS 广告 SDK 接入说明

        文档版本修订日期修订说明
        v2.7.92024-09-28更新双十一SDK
        v2.7.82024-06-28优化信息流
        v2.7.72024-04-19优化激励视频广告转化,适配iOS17隐私设置
        v2.7.62024-02-23优化广告链路,修复已知问题
        v2.7.52023-12-22优化广告交互显示
        v2.7.42023-11-23新增素材监测,新增全自动开屏对接
        v2.7.32023-10-17穿山甲 SDK 使用二合一版本
        v2.7.22023-08-04SDK后缀更改为 .xcframework,支持了x86_64模拟器架构
        v2.7.12023-07-18修复已知问题,新增原生混合广告
        v2.7.02023-05-23针对618优化
        ..................

        前置说明

        使用本SDK前必须满足以下条件。具体详情请联系官方指定负责人或到指定平台申请!

        参数申请

        目前聚合广告SDK需要的参数为APPID和各广告位对应ID,请在官方指定平台申请或联系具体负责人!

        支持的广告联盟和广告类型

        国内支持的广告主:

        广告联盟开屏广告原生广告模板广告横幅广告插屏广告全屏视频广告激励视频广告
        穿山甲✔️✔️✔️✔️✔️✔️✔️
        优量汇✔️✔️✔️✔️✔️✔️✔️
        快手✔️✔️✔️✔️✔️✔️
        京准通✔️✔️✔️✔️✔️
        百度联盟✔️✔️✔️✔️✔️✔️✔️
        Sigmob✔️✔️-✔️✔️✔️
        Mintegral✔️✔️-✔️✔️✔️
        Tanx✔️✔️✔️✔️✔️

        海外支持的广告主:

        广告联盟开屏广告原生广告横幅广告插屏广告激励视频广告
        Pangle✔️✔️✔️✔️✔️
        Mintegral✔️✔️✔️✔️✔️
        Admob✔️✔️✔️✔️✔️
        Meta✔️✔️✔️✔️✔️
        UnityAD✔️✔️✔️
        VungleAD✔️✔️✔️✔️
        Applovin✔️✔️✔️✔️
        Ironsource✔️✔️✔️
        Inmobi✔️✔️✔️✔️✔️
        Bigo✔️✔️✔️✔️✔️

        平台配置

        接入方需事先在各三方SDK平台申请相关广告参数,然后在聚合平台进行配置。在聚合平台配置之后,才能正常使用本SDK的聚合功能。

        SDK包体影响

        接入模块包体影响(M)
        FLAdSaas.framework0.4

        三方SDK导入

        聚合SDK依赖于被聚合的三方SDK,故在接入本SDK之前请确保项目已经接入了参与聚合的第三方广告联盟SDK。

        国内支持的广告主:

        三方联盟SDK需要导入的联盟包需要导入的广告桥接包
        穿山甲BUAdSDK.xcframework BURelyFoundation.xcframework CSJAdSDK.bundleFLAdPangolinAdapter.xcframework
        优量汇libGDTMobSDK.aFLAdGdtAdapter.xcframework
        快手KSAdSDK.xcframeworkFLAdKsAdapter.xcframework
        京准通JADYun.frameworkFLAdJztAdapter.xcframework
        百度联盟BaiduMobAdSDK.framework baidumobadsdk.bundleFLAdBaiduAdapter.xcframework
        SigmobWindFoundation.xcframework WindSDK.xcframeworkFLAdSigmobAdapter.xcframework
        MintegralMTGSDK.xcframework MTGSDKBanner.xcframework MTGSDKBidding.xcframework MTGSDKInterstitial.xcframework MTGSDKInterstitialVideo.xcframework MTGSDKNativeAdvanced.xcframework MTGSDKNewInterstitial.xcframework MTGSDKReward.xcframework MTGSDKSplash.xcframeworkFLAdMtgAdapter.xcframework
        TanxTNXASDK.framework TanxSDK.framework TanxID.bundleFLAdTbAdapter.xcframework

        海外支持的广告主:

        三方联盟SDK需要导入的联盟包需要导入的广告桥接包
        PanglePAGAdSDK.bundle BURelyFoundation_Global.xcframework PAGAdSDK.xcframework BURelyAdSDK.xcframeworkFLAdPangleAdapter.xcframework
        MetaFBAudienceNetwork.xcframeworkFLAdMetaAdapter.xcframework
        UnityUnityAds.xcframeworkFLAdUnityAdapter.xcframework
        VungleVungleSDK.xcframeworkFLAdVungleAdapter.xcframework
        AdMobnanopb.xcframework GoogleAppMeasurementIdentitySupport.xcframework UserMessagingPlatform.xcframework GoogleMobileAds.xcframework FBLPromises.xcframework GoogleAppMeasurement.xcframework GoogleUtilities.xcframeworkFLAdMobAdapter.xcframework
        MintegralMTGSDKBanner.xcframework MTGSDKBidding.xcframework MTGSDKInterstitial.xcframework MTGSDKInterstitialVideo.xcframework MTGSDKNativeAdvanced.xcframework MTGSDK.xcframework MTGSDKNewInterstitial.xcframework MTGSDKReward.xcframework MTGSDKSplash.xcframeworkFLAdMtgAdapter.xcframework
        ApplovinAppLovinSDK.xcframework AppLovinSDKResources.bundleFLAdApplovinAdapter.xcframework
        IronsourceIronSource.xcframeworkFLAdIronsourceAdapter.xcframework
        InmobiInMobiSDK.xcframeworkFLAdInmobiAdapter.xcframework
        BigoBigoADS.xcframework OMSDK_Bigosg.xcframework BigoADSRes.bundleFLAdBigoAdapter.xcframework

        SDK接入

        展示广告接入

        1.1 申请应用的应用ID 和 广告位ID

        开发者需在平台创建应用和广告位,生成对应的应用ID和广告位ID。

        1.2 导入framework

        1.2.1 SDK集成

        方法1 pod接入
        方法2 工程设置导入framework

        获取相应版本的framework库,导入项目工程即可。

        聚合SDK的framework库结构如下:

        聚合SDK:

        Adapter插件,根据实际按需拖入:

        拖入时请按以下方式选择:

        image.png

         

        1.2.2 Xcode编译选项设置

        1.2.2.1 添加权限

        注意要添加的系统库

        添加 App Transport Security Settings,先点击左侧展开箭头,再点右侧加号,Allow Arbitrary Loads 选项自动加入,修改值为 YES。 SDK API 已经全部支持HTTPS,但是广告主素材存在非HTTPS情况。

        具体操作如图:

        image.png

        具体操作如图:

        image.png

        引入快手SDK编译崩溃怎么办?

        image

        您遇到这个崩溃是因为快手sdk为动态库,需要将KSAdSDK.xcframework的Embed修改为Embed&Sign即可

        image

        image

        在修改完Embed之后,若是编译还是报错,如下:

        image

        解决方法:Build Settings中的Validate Workspace修改为 YES

        image.jpg

        image.png

        1.2.2.2 运行环境配置

        1.2.2.3 添加依赖库(pod接入可忽略此操作)

        以下依赖库已整合所有联盟广告主所需的依赖库 工程需要在TARGETS -> Build Phases中找到Link Binary With Libraries,点击“+”,依次添加下列依赖库

        具体操作如图所示:

        image

         

        1.2.3. 获取广告标识IDFA

        从iOS 14开始,只有在获得用户明确许可的前提下,应用才可以访问用户的IDFA数据并向用户投放定向广告。在应用程序调用 App Tracking Transparency 框架向最终用户提出应用程序跟踪授权请求之前,IDFA将不可用。如果某个应用未提出此请求,则读取到的IDFA将返回全为0的字符串。

        1.2.3.1 在info.plist文件里添加跟踪权限请求描述说明

        以下提供中英文描述说明示例,开发者可参考添加其中一种即可:

        image.png

        img

        1.2.3.2 获取App Tracking Transparency权限

        想要获取授权,需要使用requestTrackingAuthorizationWithCompletionHandler:。我们建议您在初始化FLAD SDK之前获取授权,以便如果用户授予允许跟踪权限,FLAD SDK则可以在广告请求中使用IDFA。

        描述说明将会显示在App Tracking Transparency授权对话框中,如下:

        img

        注意:

        1. 如果有预加载广告需求的,强烈建议把预加载写在requestTrackingAuthorizationWithCompletionHandler的block回调中。
        2. 该权限只有Xcode 12及以上版本才有,需要大家更新Xcode 12版本来进行测试使用。
        1.2.3.3 iOS 15获取App Tracking Transparency权限说明

        iOS 15对 AppTrackingTransparency 框架做了调整,需要满足以下 2 点:

        当满足以上 2 点后,再检查 ATTrackingManagerAuthorizationStatus 和请求授权。因此,可以在以下的选项中选择一个作为调整方案:

        参考链接:https://developer.apple.com/forums/thread/690607

        1.2.4 海外广告集成要求

        1.2.4.1 Admob集成要求

        集成Admob广告平台SDK,平台要求在xcode项目的Info.plist中添加 GADApplicationIdentifier 配置你们Admob的AppID,否则会crash。参考如下,请使用你们的Admob的identifier进行替换:

        img

        1.2.4.2 Meta广告测试要求

        因Meta平台的要求,测试Meta广告需要在测试手机中下载并登录Facebook客户端才能填充广告

        1.2.5 广告个性化开关设置

        1.2.5.1 国内广告个性化开关设置

        目前个性化开关设置支持的广告平台如下: (1)国内:穿山甲,优量汇,快手,百度,Sigmob (2)海外:Meta,Admob,Mintegral,Pangle,UnityAds,Vungle

        默认情况是全部开启广告个性化推荐,如果手动设置关闭之后则全部广告平台关闭个性化推荐。 针对海外平台,如果关闭个性化推荐,涉及用户隐私的数据将不会被收集,可能会影响广告平台功能的正常使用,请谨慎设置。

        1.2.5.2 海外广告个性化开关设置

        建议开发者的集成流程如下

        1、 APP启动后,开发者判断用户是否在欧盟(开发者自行实现是否在欧盟的判断方法)

        2、判断[FLAdSDKManager defaultManager]dataConsentSet是否为FLGDPRConsentSetUnknown

        3、调用[FLAdSDKManager defaultManager]presentDataConsentDialogInViewController:dismissalCallback方法(由用户设置GDPR等级)

        使用以下代码段设置GDPR:

        展示如图:

        img

        4、初始化SDK

        重要提示:

        如果你的应用同时获取了App Tracking Transparency授权弹窗,我们强烈建议参考如下图所示流程来获取App Tracking Transparency授权弹窗与GDPR弹窗,否则有提审被拒的风险!

        1. 应用启动后,首先获取App Tracking Transparency授权弹窗

        img

        1.3 SDK接口类介绍与广告接入

        1.3.0 全局设置

        SDK的开屏广告建议在 AppDelegate 的方法 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

        当window指定root控制器并显示之后最先进行初始化

        1.3.1 开屏广告

        a. 极简对接

        在 AppDelegate 的方法 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 里,当window指定rootViewController之后可直接调用:

        b. 普通对接
        1. 导入
        1. 遵循代理
        1. 请求开屏广告
        1. 展示开屏广告

        建议等待时间设置为5秒,展示时间设置为5秒。 ​ App在从后台5分钟后到前台时 建议也加上开屏广告。

         

        1.3.2 插屏广告

        1. 导入
        1. 遵循代理
        1. 请求广告

         

        1.3.3 激励视频

        1. 导入
        1. 遵循代理
        1. 创建属性对象
        1. 使用示例

         

        1.3.4 横幅广告

        1. 导入
        1. 遵循代理
        1. 请求广告

         

        1.3.5 原生混出广告

        1. 导入
        1. 遵循代理
        1. 创建属性对象
        1. 使用示例

        在加载成功的回调(- (void)nativeAdDidLoadDatas:(NSArray<__kindof FLFeedAdData *> *)datas;)中,判断是否是模板广告:

         

        1.4 竞价成功与竞价失败上报

        每类广告都包含如下两个方法,在FLAD作为竞价接入时,需上报:

        /// ** 媒体竞价展示广告时需要上报,需要在调用广告 show 之前调用 **

        /** * ======= 我方竞胜后需要回传第二价 ======= * @param secondPrice 媒体二价 (单位: 分) */

        /** * ======= 我方竞败后需要回传最高价以及竞败原因 ======= * @param firstPrice 媒体一价 (单位: 分) * @param errorType 竞败原因:(1 输给Mediatom其它广告位, 2 输给第三方ADN, 3 输给自售广告主) */

         

        1.5 高级功能

        SDK支持自定义适配器,可以自行创建对应广告类型的适配器,在服务端进行类名和参数的配置后,即可进行调用。

        1. 自定义一个类,使之继承自SDK的FLBaseManager类,具体可参考demo的CustomWMSplashManager类!

        2. 实现加载广告和展示广告的方法

        3. 在自定义广告的回调里面,通过block回调传递函数信息,这样在FLSplashManager遵守代理的情况下,可收到广告的代理回调

        4. 在对应的广告类请求广告时(如果是新的广告平台,在后台创建后,可以直接正常调用),如下所示:

          此时,广告流程将走自定义广告请求类!Done!

         

        附录

        错误码

        下面是各种ErrorCode的值

        SDK 错误码

        code说明
        20400请求广告配置为空
        20401解析的数据没有广告
        20402未注册APP ID,请在应用初始化时注册APP ID
        20403请检查广告位ID
        20404广告请求时间已超过平台配置时间
        20405广告配置请求错误,请联系广告运营人员查看广告配置
        20406素材渲染失败
        20407广告请求失败,可能原因是有广告未配置,配置的广告位ID与APPID不匹配,广告未填充,网络请求失败等原因之一,具体错误原因,请查看错误详情!
        20408广告的主流程已结束
        20409此广告位设置了展示间隔限制,当前时间距离上次展示广告时间未达到配置的最低要求,请稍后再试
        20410此广告位设置了一小时内广告展示频次限制,当前小时内广告展示已达设置的最大频次,请稍后再试
        20411此广告位设置了一天内广告展示频次限制,今天广告展示已达设置的最大频次,请明天再试

        穿山甲广告错误码

        优量汇错误码

        快手错误码

        code说明
        40001没有网络
        40002数据解析失败
        40003广告数据为空
        40004缓存视频资源失
        100001参数有误
        100002服务器错误
        100003不允许的操作
        100004服务不可用
        310001appId未注册
        310002appId无效
        310003appId已封禁
        310004packageName与注册的packageName不一致
        310005操作系统与注册的不一致
        320002appId对应账号无效
        320003appId对应账号已封禁
        330001posId未注册
        330002posId无效
        330003posId已封禁
        330004posid与注册的appId信息不一致

        京准通错误码

        百度错误码

        错误码解释
        0广告返回
        0103010应用ID信息缺失
        0103011应用ID信息错误,百度联盟(百青藤)未收录
        0103012应用ID信息无效,百度联盟(百青藤)上未生效
        0103060应用包名信息错误,请保证注册包名和实际请求包名一致
        0107001广告位ID未收录
        0107002广告位ID未启用
        0107003广告位ID与APPSID不匹配
        1020001网络连接失败
        1040001请求时使用了错误的参数,比如使用错误的广告位ID
        1040003请求超时
        3030002缓存物料失败
        3040001广告展现标准不达标

        FAQ

        1. 为什么demo可以运行,接入项目会出错?
        1. 广告位在哪获取?
        1. 广告对接成功,但是没有收益是怎么回事?
        1. iOS集成的包大小是多少?