如何在egretnative中接入穿山甲广告,为开发者营收添砖加瓦(代码片段)

author author     2023-04-13     441

关键词:

Egret Native可以通过原生扩展能力接入第三方原生SDK,本文将为开发者介绍如何接入广告系统。穿山甲是字节跳动提供的广告接入SDK,提供了多种广告样式,具体信息可以参见其官方文档。

穿山甲平台准备

进入穿山甲平台官网,完成注册登录,并按照平台要求完成应用和代码位的创建,具体操作可参照平台帮助中心的说明。

**Android

下载示例 Demo**

白鹭引擎已经为开发者提供了示例Demo,开发者可以直接基于该Demo 学习如何接入穿山甲广告SDK。demo项目包含一个egret工程,一个android工程,一个debug安装包。

|-- openadsdk               # 这是白鹭项目
|-- openadsdk-android       # 这是白鹭发布的 EgretNative项目
|-- openadsdk_demo.apk      # 这是生成的APK文件,开发者可以直接安装预览效果

工程配置

参考穿山甲官方接入文档,或直接修改使用提供的android工程,并在Adcode.java文件中对应设置好应用id和代码位code。

使用方法

步骤1:导入egret示例项目中的src/openadsdk;
步骤2:在您的egret项目中恰当的位置直接调用相关静态方法。
目前包含五种广告接入
1、SplashAd: 开屏广告
设置您安卓工程中的AndroidManifest.xml文件,将SplashActivity作为启动,并在需要的情况下修改该文件的goToMainActivity()方法跳转到您指定的活动。值得注意的是,虽然sdk中提供了调起开屏广告的api,但不应该这样做,它并不像其他广告类型那样需要主动唤起。

<activity
    android:name=".sdk.SplashActivity"
    android:configChanges="keyboard|orientation|screenSize"
    android:screenOrientation="portrait">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

2、RewardVideoAd:激励视频广告激励广告需要设置如下参数,当回调事件参数的event属性值为"onRewardVerify"时,会返回您需要的数据,如"verify",它表示奖励是否有效。

//激励广告
        const data = 
            is_horizontal: false,//是否为横屏广告
            userID: "user0",//用户id
            rewardAmount: 1,//奖励数量
            rewardName: "金币"//奖励名称
        
        openadsdk.RewardVideoAd((json) => 
            console.log("激励广告事件:" + json)
            const data = JSON.parse(json);
            if(data.event === "onRewardVerify")
                const verify =data.verify;//是否有效
                const amount =data.amount;//奖励数量
                const name =data.name;//奖励名称
            else if(data.event === "onAdShow")
                console.log("广告显示")
            else if(data.event === "onAdVideoBarClick")
                console.log("点击banner")
            else if(data.event === "onAdClose")
                console.log("关闭广告")
            else if(data.event === "onVideoComplete")
                console.log("视频播放完毕")
            else if(data.event === "onVideoError")
                console.log("视频播放错误")
            else if(data.event === "onSkippedVideo")
                console.log("跳过")
            
        , this, JSON.stringify(data))

3、FullScreenVideoAd: 全屏视频广告设置参数:是否为横屏。

//全屏广告
        const data = 
            is_horizontal: false,//是否为横屏广告
        
        openadsdk.FullScreenVideoAd((json) => 
            console.log("全屏广告事件:" + json)
        , this, JSON.stringify(data))

4、BannerExpressAd: banner广告参数包括是否在屏幕顶部,宽度,高度,【尺寸请和平台设置保持一致】。

//banner广告
        const data = 
            is_top:false,
            width:600,
            height:90
        
        openadsdk.BannerExpressAd((json) => 
            console.log("banner广告事件:" + json)
        , this, JSON.stringify(data))

5、InteractionAd: 插屏广告参数包括宽度,高度,【尺寸请和平台设置保持一致】。

//插屏广告
        const data = 
            width:900,
            height:900
        
        openadsdk.InteractionAd((json) => 
            console.log("插屏广告事件:" + json)
        , this, JSON.stringify(data))

步骤3:发布到对应android工程中

关于返回事件

在egret项目中,广告回调的参数为json格式的字符串,其中event属性说明了该事件的类型,类型说明如下,这边只是转发了穿山甲sdk原生的协议回调,并不是所有类型广告都包含如下事件类型,如:激励广告无法跳过,banner广告没有视频类消息,ios和android也不尽相同,提供的原生工程对广告的封装实现也是直接复制了穿山甲提供的工程源码,所以,请严格测试,参考原生代码,合理使用回调事件。

onAdClicked                       //广告点击
onAdShow                          //广告出现
onAdDismiss                       //插屏广告关闭
onError                           //错误
onSelected                        //banner关闭按钮
onCancel                          //点击取消
onAdVideoBarClick                 //视频类bar点击
onAdClose                         //广告关闭
onVideoComplete                   //视频类播放完成
onVideoError                      //视频类错误
onRewardVerify                    //激励确认
onSkippedVideo                    //视频类跳过

iOS

下载示例Demo

白鹭引擎已经为开发者提供了示例Demo,开发者可以直接基于该Demo 学习如何接入穿山甲广告SDK。demo项目包含一个egret工程,一个ios工程。

工程配置

参考穿山甲官方接入文档,或直接修改使用提供的ios工程,这里详细走一遍官方提供的CocoaPods流程。

步骤1:安装cocoapods

gem install cocoapods

步骤2:下载Git LFS ,解压,安装

sudo sh install.sh

步骤3:cd到你的xcode工程中创建Podfile文件写入如下,这里的‘openadsdk‘是xcode工程的项目target,也就是egret发布中填写的应用名称。

source ‘https://github.com/CocoaPods/Specs.git‘
platform :ios, ‘8.0‘

target ‘openadsdk‘ do
    pod ‘Bytedance-UnionAD‘
end

步骤4:pod install

pod install

注:不同网络环境下pod的安装速度会有较大差异,首次安装会有大概2G左右的文件下载,请耐心等待,并通过活动监视器查看下载速度,若速度过慢,请考虑设置git代理,或自行clone可用仓库到本地。

步骤5:打开ios-template.xcworkspace

步骤6:参照官方接入中心IOS-SDK接入文档中的《Xcode编译选项设置》完成剩余工程配置

步骤7:文件修改

1:将示例ios工程中的ios-template/sdk文件夹导入到您的ios工程中;

2:参照示例ios工程中的AppDelegate.h修改您ios工程的对应文件;

3:为AppDelegate.mm添加如下两个方法;

-(void)initJSEvent:(EgretNativeIOS*)native
    NSLog(@"InitJSEvent");

-(void)InitAD:(UIViewController*)root
    NSLog(@"InitAD");

并在didFinishLaunchingWithOptions中调用

//init
[self initJSEvent:_native];
[self InitAD:viewController];
return true;

4:在sdk/AdManager.h文件中设置您的广告信息,如appKey,XXX_ID。

使用方法

目前包含五种广告接入SplashAd: 开屏广告开屏广告的入口函数调用位于:

AppDelegate-Category.m                              //文件
    -(void)setupBUAdSDK                           //方法
        [self addSplashAD];                         //语句

请根据需要注释或保留,值得注意的是,虽然sdk中提供了调起开屏广告的api,但不应该这样做,它并不像其他广告类型那样需要主动唤起。

其他请参考安卓文档中使用方法关于其他类型广告的说明;

注:代理会影响广告的下载,请在测试时关闭代理。

以上是教程的全部内容,祝愿大家对接顺利,营收高涨!

unity接入穿山甲广告sdk(代码片段)

Unity接入穿山甲广告SDK下载安装穿山甲SDK下载导入项目在Unity编辑器中打开您的项目,选择Pangle->MangeSDKs->Upgrade进行版本升级即可,详见截图从unity4100版本开始,通过Upgrade进行版本升级后,需点击Deleteoldfiles按... 查看详情

lemonmob聚合广告sdk

无需上架,接入穿山甲广告和广点通广告sdk我们都知道广告是商业流量变现最重要的方式之一,所以基本所有的游戏或者app都会接入广告sdk,而我们都知道穿山甲广告sdk和广点通广告sdk是国内收益相对比较高的,但是想接入穿山... 查看详情

解决穿山甲gromore广告在oppo上报广告病毒android.virus.adcheat.adcut.a(代码片段)

2022年12月13日20:49:54更新不是穿山甲sdk的问题,是游戏在Oppo上架需要接入oppo提供的广告sdk。因为oppo提供的广告sdk也包含了穿山甲的。当我本来只接入Gromore的游戏,再接入oppo的渠道sdk之后,会被oppo识别出修改了他们... 查看详情

解决穿山甲gromore广告在oppo上报广告病毒android.virus.adcheat.adcut.a(代码片段)

2022年12月13日20:49:54更新不是穿山甲sdk的问题,是游戏在Oppo上架需要接入oppo提供的广告sdk。因为oppo提供的广告sdk也包含了穿山甲的。当我本来只接入Gromore的游戏,再接入oppo的渠道sdk之后,会被oppo识别出修改了他们... 查看详情

已开源flutter穿山甲广告插件的集成-flutterads(代码片段)

...ter广告插件,帮助开发者获利。本篇我们来看看Flutter穿山甲广告插件flutter_pangle_ads的集成和使用。移动端广告形式在移动端大体分为5种广告形式,分别是开屏、插屏、Banner、信息流、激励视频。随着短视频的崛起,... 查看详情

flutter字节跳动穿山甲广告插件发布-flutterads(代码片段)

前言Flutter已成为目前最流行的跨平台框架之一,在近期的几个大版本的发布中都提到了Flutter版本Google广告插件[google_mobile_ads]。对于“出海”应用选择官方的插件非常稳定方便,对于国内的应用虽然我们的选择比较多ÿ... 查看详情

flutter字节跳动穿山甲广告插件发布-flutterads(代码片段)

...(优量汇、广点通、游可赢)❌否字节跳动(穿山甲、GroMore)❌否百度(百青藤)❌否快手❌否SigmobAd❌否UnityAds❌否Mintegral❌否赋能集团✅是(由我提供技术支持)其他聚合平台❓未知需要支持Flu... 查看详情

flutter字节跳动穿山甲广告插件发布-flutterads(代码片段)

...(优量汇、广点通、游可赢)❌否字节跳动(穿山甲、GroMore)❌否百度(百青藤)❌否快手❌否SigmobAd❌否UnityAds❌否Mintegral❌否赋能集团✅是(由我提供技术支持)其他聚合平台❓未知需要支持Flu... 查看详情

已开源flutter穿山甲广告插件的集成-flutterads(代码片段)

...ter广告插件,帮助开发者获利。本篇我们来看看Flutter穿山甲广告插件flutter_pangle_ads的集成和使用。移动端广告形式在移动端大体分为5种广告形式,分别是开屏、插屏、Banner、信息流、激励视频。随着短视频的崛起,... 查看详情

穿山甲广告sdk手动初始化解决方案(代码片段)

...p官方提出整改建议是,在用户同意隐私协议后在加载穿山甲的广告。研究了一下:2.大概思路是修改原本的UnionApplication.java脚本//手动加载初始化说明://将本脚本文件的内容替换到UnionApplication.java里面//然后将下面的代码... 查看详情

分享:如何创建抖音广告流程—3步就搞定

...ff0c;创建广告计划1、选择投放范围。投放范围分为默认和穿山甲两大类,其中默认投放范围包括今日头条、西瓜视频、抖音、火山小视频等巨量引擎旗下产品,穿山甲的流量主要来自厂商流量和其他知名APP。因为我们要... 查看详情

如何在vi中剪切和粘贴自动缩进设置为开的标签行[重复]

】如何在vi中剪切和粘贴自动缩进设置为开的标签行[重复]【英文标题】:Howtocutandpastetabbedlineswithautoindentsettooninvi[duplicate]【发布时间】:2013-06-1506:55:33【问题描述】:不确定这个问题属于哪个堆栈交换组,所以如果这是错误的... 查看详情

flutter版聚合广告插件(代码片段)

Flutter版聚合广告插件flutter_universalad是一个聚合字节跳动穿山甲广告插件flutter_unionad、腾讯优量汇聚合广告flutter_tencentad插件,方便直接调用多个厂商广告,插件仓库。体验demo集成步骤1、pubspec.yamlflutter_universalad:^0.0.32、引入imp... 查看详情

faq接入hmscore广告服务中的常见问题总结和解决方法(代码片段)

...、广告主进行转化归因分析。下面我们分享一些开发者在接入广告服务中经常会碰到的问题,希望给遇到类似问题的开发者提供参考。1. 查看详情

faq接入hmscore广告服务中的常见问题总结和解决方法(代码片段)

...、广告主进行转化归因分析。下面我们分享一些开发者在接入广告服务中经常会碰到的问题,希望给遇到类似问题的开发者提供参考。1. 查看详情

已开源flutter腾讯优量汇广告插件,帮助开发者获利-flutterads(代码片段)

...(优量汇、广点通、游可赢)❌否字节跳动(穿山甲、GroMore)❌否百度(百青藤)❌否快手❌否SigmobAd❌否UnityAds❌否Mintegral❌否赋能集团✅是(由我提供技术支持)其他聚合平台❓未知需要支持Flu... 查看详情

已开源flutter腾讯优量汇广告插件,帮助开发者获利-flutterads(代码片段)

...(优量汇、广点通、游可赢)❌否字节跳动(穿山甲、GroMore)❌否百度(百青藤)❌否快手❌否SigmobAd❌否UnityAds❌否Mintegral❌否赋能集团✅是(由我提供技术支持)其他聚合平台❓未知需要支持Flu... 查看详情

1022-快手短视频广告主接入实践笔记(代码片段)

概述对于不熟悉快手短视频推广,广告主接入的有很多坑,给我的整体感觉就是技术实现简单,但是方式上有很多坑,希望分享出来给大家解惑,也留给自己作为技术实践中的经验总结。第一步是企业去快手... 查看详情