app、小程序如何接入第三方广告(广告商渠道)

可供选择的第三方广告商

腾讯优量汇字节跳动穿山甲快手广告(无上架要求,但需提供软著)360广告联盟Sigmob广告uni-ad广告联盟如果选择开通安卓平台,除了快手、Sigmob广告,其他广告平台均要求在主流的应用商店上线。大部分应用商店会要求著作权证书。以下应用市场暂无软著要求:

酷安市场:没有著作权要求,审核较慢。(只能用于渠道SDK广告中优量汇审核)

Google Play:不要求著作权,开发者账号收费25美元 (2020年7月2日以后穿山甲平台已不再支持该应用市场。只能用于渠道SDK广告优量汇审核。如果是强依赖聚合激励视频的网赚类应用,离不开穿山甲,所以不适合这种方式)。

豌豆荚(阿里应用分发平台):不要求著作权,但应用不涉及金融、贷款、医疗等特殊行业内容,可以暂时使用开发者声明代替。

安智:不需要著作权,但打包了推广的上架服务,费用为5000元(某些特定行业分类无法上架,需沟通)。

vivo 应用商店:需根据app类型来确定审核所需要的资质。不在表内的app可尝试无著作权提交。

1、开通广告

操作平台后台:首先需要在广告平台的后台进行开通操作。对于App平台、H5平台及微信小程序平台,需要在这些平台的管理后台进行相应的操作。其他小程序平台:在其他小程序平台上,例如支付宝小程序、百度小程序等,则需要在各自的小程序管理后台操作。2、编写代码

广告编写示例:在页面的合适位置编写代码,放置广告组件,并配上广告位id

错误处理示例:在脚本部分添加事件处理函数,例如onload、onclose和onerror,以便处理广告的加载、关闭和错误事件

onload(e) {

console.log("onload");

},

onclose(e) {

console.log("onclose: " + e.detail);

},

onerror(e) {

console.log("onerror: " + e.detail.errCode + " message:: " + e.detail.errMsg);

}

3、封装广告功能

创建Utils.js文件:为了减少重复代码,可以将插屏广告和激励广告的功能封装到一个独立的JS文件中,例如命名为Utils.js。在该文件中定义两个对象interstitial和rewarded,分别用于处理插屏广告和激励广告的逻辑插屏广告封装:var interstitialAd = null;

let interstitial = {

load(id) {

if (uni.createInterstitialAd) {

interstitialAd = uni.createInterstitialAd({

adUnitId: id

});

interstitialAd.onLoad(() => {

console.log('插屏广告加载中');

});

interstitialAd.onError((err) => {

console.log('加载错误', err);

});

interstitialAd.onClose((res) => {

console.log('插屏广告关闭', res);

});

}

},

show() {

if (interstitialAd) {

interstitialAd.show().catch((err) => {

console.error(err);

});

}

}

};

激励广告封装:var videoAd = null;

let rewarded = {

load(id, e) {

if (uni.createRewardedVideoAd) {

videoAd = uni.createRewardedVideoAd({

adUnitId: id

});

videoAd.onError(err => {});

videoAd.onClose((status) => {

if (status && status.isEnded || status === undefined) {

e();

} else {}

});

}

},

show() {

if (videoAd) {

videoAd.show().catch(() => {

// 失败重试

videoAd.load()

.then(() => videoAd.show())

.catch(err => {

console.log('激励视频 广告显示失败');

});

});

}

}

};

导出封装对象:将封装好的对象导出,以供其他页面调用:module.exports = {

interstitial,

rewarded

};

4、导入并使用封装的广告功能

导入Utils.js:在需要调用广告的页面导入之前封装好的Utils.js文件,注意文件的相对路径不要写错import Utils from '../../utils/Utils.js';

加载并展示广告:在页面的生命周期函数或适当的时机调用封装好的广告方法。例如在onLoad方法中加载插屏广告和激励广告,并在需要显示的时候调用show方法 onLoad() {

// 加载插屏广告

Utils.interstitial.load('你的广告id');

// 加载激励广告

Utils.rewarded.load('adunit-85e98527c651f48f', () => {

// 这里写你的任意奖励事件

});

},

someFunctionToShowAds() {

// 展示插屏广告

Utils.interstitial.show();

// 展示激励广告

Utils.rewarded.show();

}