当前位置: 首页 > Web前端 > HTML5

EgretNative如何接入穿山甲广告

时间:2023-04-05 23:13:06 HTML5

EgretNative可以通过原生扩展能力接入第三方原生SDK。本文将为开发者介绍如何接入广告系统。Pangolin是字节跳动提供的广告接入SDK。它提供了多种广告样式。详情请参考其官方文档。穿山甲平台准备进入穿山甲平台官网,完成注册登录,并根据平台要求完成应用和码位的创建。具体操作请参考平台帮助中心的说明。Android下载示例DemoEgretEngine为开发者提供了示例demo,开发者可以直接基于该demo学习如何接入穿山甲广告SDK。demo工程包括egret工程、android工程和debug安装包。|--openadsdk#这是Egret工程|--openadsdk-android#这是Egret发布的EgretNative工程|--openadsdk_demo.apk#这是生成的APK文件,开发者可以直接安装预览效果工程配置参考穿山甲官方链接进入文档,或者直接修改使用提供的android工程,在Adcode.java文件中设置applicationid和codebit代码。如何使用第一步:在egret示例工程中导入src/openadsdk;第二步:直接在你的egret项目中合适的位置调用相关的静态方法。目前有五种广告接入1.SplashAd:SplashAd在你的Android项目中设置AndroidManifest.xml文件,使用SplashActivity作为启动,必要时修改该文件的goToMainActivity()方法跳转到你指定的。活动。值得注意的是,虽然sdk中提供了调用弹屏广告的api,但不应该这样做。它不需要像其他广告类型那样被主动唤起。2.RewardVideoAd:奖励视频广告奖励广告需要设置如下参数,当回调事件参数event当属性值为“onRewardVerify”时,会返回你需要的数据,比如“verify”,表示奖励是否有效。//激励广告constdata={is_horizo??ntal:false,//是否为横屏广告userID:"user0",//用户idrewardAmount:1,//奖励金额rewardName:"金币"//奖励名称}openadsdk.RewardVideoAd((json)=>{console.log("激励广告事件:"+json)constdata=JSON.parse(json);if(data.event==="onRewardVerify"){constverify=data.verify;//是否有效constamount=data.amount;//奖励金额constname=data.name;//奖励名称}elseif(data.event==="onAdShow"){console.log("广告展示")}elseif(data.event==="onAdVideoBarClick"){console.log("点击横幅")}elseif(data.event==="onAdClose"){console.log("关闭广告")}elseif(data.event==="onVideoComplete"){console.log("视频播放完成")}elseif(data.event==="onVideoError"){console.log("视频播放错误“)}别的if(data.event==="onSkippedVideo"){console.log("skip")}},this,JSON.stringify(data))3.FullScreenVideoAd:全屏视频广告设置参数:是横屏还是横屏not//全屏广告constdata={is_horizo??ntal:false,//是否为横屏广告}openadsdk.FullScreenVideoAd((json)=>{console.log("全屏广告事件:"+json)},这个,JSON.stringify(数据))4。BannerExpressAd:Banner广告参数包括是否在屏幕顶部,宽度,高度,【请保持与平台设置的尺寸一致】。//横幅广告constdata={is_top:false,width:600,height:90}openadsdk.BannerExpressAd((json)=>{console.log("banneradvertisementevent:"+json)},this,JSON.stringify(data))5.InteractionAd:插屏广告参数包括宽度,高度,【尺寸要与平台设置一致】。//插屏广告constdata={width:900,height:900}openadsdk.InteractionAd((json)=>{console.log("interstitialadvertisementevent:"+json)},this,JSON.stringify(data))第三步:发布到对应的android项目关于返回事件在egret项目中,广告回调的参数是一个json格式的字符串,其中event属性表示事件的类型,类型说明如下。SDK的原生协议回调,不是所有类型的广告都包含以下事件类型,比如:打赏广告不能跳过,banner广告没有视频消息,ios和android不一样,提供的原生工程也实现了封装ofadvertising穿山甲提供的项目源码是直接复制的,请严格测试,参考原生代码,合理使用回调事件。onAdClicked//广告点击onAdShow//广告出现onAdDismiss//插屏广告关闭onError//错误onSelected//banner关闭按钮onCancel//点击取消onAdVideoBarClick//视频栏点击onAdClose//广告关闭onVideoComplete//视频播放完成onVideoError//VideoErroronRewardVerify//IncentiveConfirmationonSkippedVideo//VideoClassSkipiOS下载示例DemoEgretEngine为开发者提供了示例demo,开发者可以直接基于该demo学习如何接入穿山甲广告SDK。demo工程包括egret工程和ios工程。|--openadsdk#这是Egret项目|--openadsdk-ios#这是Egret发布的EgretNative项目项目配置。参考穿山甲官方接入文档,或者直接修改使用提供的ios工程。这里详细介绍了官方的CocoaPods流程。第一步:安装cocoapodsgeminstallcocoapods第二步:下载GitLFS,解压,安装sudoshinstall.sh第三步:cd到你的xcode工程创建一个Podfile文件如下,其中'openadsdk'是xcode的工程目标project,即egretrelease填写的应用名。source'https://github.com/CocoaPods/Specs.git'platform:ios,'8.0'target'openadsdk'dopod'Bytedance-UnionAD'end第四步:podinstallpodinstall注意:不同网络环境下的Pod安装速度会有很大的不同。第一次安装会下载一个2G左右的文件。请耐心等待并通过活动监视器查看下载速度。如果速度太慢,请考虑设置git代理,或者将可用的仓库clone到本地。Step5:打开ios-template.xcworkspaceStep6:参考官方接入中心IOS-SDK接入文档中的《Xcode编译选项设置》完成剩余项目配置Step7:文件修改1:更改sample中的ios-template/sdkiosproject将文件夹导入到你的ios项目中;2:参考示例ios工程中的AppDelegate.h修改你的ios工程的对应文件;3:在AppDelegate.mm中添加如下两个方法;-(void)initJSEvent:(EgretNativeIOS*)native{NSLog(@"InitJSEvent");}-(void)InitAD:(UIViewController*)root{NSLog(@"InitAD");}并调用//init[selfinitJSEvent:_native];[selfindidFinishLaunchingWithOptionsInitAD:viewController];returntrue;4:在sdk/AdManager.h文件中设置你的广告信息,比如appKey,XXX_ID。使用方法目前包括五种广告接入SplashAd:SplashAdSplashAd的入口函数调用位于:AppDelegate-Category.m//File-(void)setupBUAdSDK{}//Method[selfaddSplashAD];//声明请根据需要评论或保留。值得注意的是,虽然SDK提供了调用亮屏广告的api,但不应该这样做。它不需要像其他广告类型那样被主动唤起。其他请参考Android文档中使用方法中其他类型广告的说明;注意:代理会影响广告的下载,测试时请关闭代理。以上就是对接穿山甲广告的全过程。祝大家平台对接顺利,收益丰厚!