当前位置: 首页 > news >正文

安卓接入Bigo广告源

官方文档:BIGO Ads 开发者管理平台

目录

一、新建一个Kotlin的安卓项目

二、环境配置

三、具体使用

1.新建广告监听器

2.写一个简单的布局

3.初始化sdk 和展示广告

一、新建一个Kotlin的安卓项目
二、环境配置

1.在应用级的build.gradle(app)导包

 implementation 'com.bigossp:bigo-ads:5.5.1'

2.允许http明文协议(可选)

在res/xml 中新建network_security_config.xml

<?xml version="1.0" encoding="utf-8"?>
<network-security-config><domain-config cleartextTrafficPermitted="true"><domain includeSubdomains="true">127.0.0.1</domain></domain-config></network-security-config>

在AndroidManifast.xml 中添加属性

    <application.....android:networkSecurityConfig="@xml/network_security_config">
三、具体使用
1.新建广告监听器
open class MyAdInteractionListener : AdInteractionListener {override fun onAdError(p0: AdError) {Log.d("Bigo" , "广告错误")}override fun onAdImpression() {Log.d("Bigo" , "广告已成功展示在设备屏幕上")}override fun onAdClicked() {Log.d("Bigo" , "广告点击")}override fun onAdOpened() {Log.d("Bigo" , "广告已打开")}override fun onAdClosed() {Log.d("Bigo" , "广告已关闭")}}
//广告加载回调
class MyAdLoadListener<T : Ad>(val type : String ,val successCallBack : (ad : T)-> Unit) : AdLoadListener<T> {override fun onError(error: AdError) {Log.d("Bigo" , "加载$type 广告失败 error: ${error.code}  ${error.message}" )}override fun onAdLoaded(ad: T) {Log.d("Bigo" , "加载$type 广告成功")successCallBack.invoke(ad)}
}
class MyRewardAdInteractionListener() : MyAdInteractionListener(),RewardAdInteractionListener {override fun onAdRewarded() {Log.d("Bigo" , "激励视频已播放完成,可下发奖励。")}
}
2.写一个简单的布局
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/main"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingTop="20dp"><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="vertical"android:layout_gravity="center"><Buttonandroid:id="@+id/interBt"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="插屏广告"/><Buttonandroid:id="@+id/rewardedBt"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="激励广告"/></LinearLayout></FrameLayout>
3.初始化sdk 和展示广告

将下面代码中<< >>标注的参数换成自己的


import android.app.Activity
import android.os.Bundle
import android.util.Log
import sg.bigo.ads.BigoAdSdk
import sg.bigo.ads.BigoAdSdk.InitListener
import sg.bigo.ads.api.AdConfig
import sg.bigo.ads.api.InterstitialAd
import sg.bigo.ads.api.InterstitialAdLoader
import sg.bigo.ads.api.InterstitialAdRequest
import sg.bigo.ads.api.RewardVideoAd
import sg.bigo.ads.api.RewardVideoAdLoader
import sg.bigo.ads.api.RewardVideoAdRequestclass BigoActivity : Activity() {val binding by lazy { ActivityBigoBinding.inflate(layoutInflater) }var mInterstitialAd: InterstitialAd? = nullvar mRewardVideoAd: RewardVideoAd? = nulloverride fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(binding.root)initBigoSDK()binding.backImg.setOnClickListener {finish()}binding.interBt.setOnClickListener {//展示插屏广告if (mInterstitialAd != null && !mInterstitialAd!!.isExpired) {mInterstitialAd!!.setAdInteractionListener(MyAdInteractionListener())mInterstitialAd!!.show(this)}}binding.rewardedBt.setOnClickListener {//展示激励广告if (mRewardVideoAd != null && !mRewardVideoAd!!.isExpired) {mRewardVideoAd!!.setAdInteractionListener(MyRewardAdInteractionListener())mRewardVideoAd!!.show(this)}}}fun initBigoSDK() {val config = AdConfig.Builder().setAppId("<<app id>>").build()BigoAdSdk.initialize(this, config, object : InitListener {override fun onInitialized() {Log.d("Bigo", "Bigo sdk 初始化成功")loadInterstitialAd()loadRewardAd()}})}//加载激励广告private fun loadRewardAd() {val rewardVideoAdAdRequest = RewardVideoAdRequest.Builder().withSlotId("<< 激励广告id >>").build()val rewardVideoAdAdLoader: RewardVideoAdLoader =RewardVideoAdLoader.Builder().withAdLoadListener(MyAdLoadListener<RewardVideoAd>("激励") {mRewardVideoAd = it}).build()rewardVideoAdAdLoader.loadAd(rewardVideoAdAdRequest)}//加载插屏广告private fun loadInterstitialAd() {val interstitialAdRequest = InterstitialAdRequest.Builder().withSlotId("<<插屏广告id>>").build()val interstitialAdLoader: InterstitialAdLoader =InterstitialAdLoader.Builder().withAdLoadListener(MyAdLoadListener("插屏") {mInterstitialAd = it}).build()interstitialAdLoader.loadAd(interstitialAdRequest)}override fun onDestroy() {super.onDestroy()if (mInterstitialAd != null) {mInterstitialAd?.destroy()mInterstitialAd = null}if (mRewardVideoAd != null) {mRewardVideoAd?.destroy()mRewardVideoAd = null}}}

http://www.dtcms.com/a/427097.html

相关文章:

  • 安卓Handler+Messenger实现跨应用通讯
  • 公司网站建设完成通知重庆市工程建设交易中心网站
  • 北京网站设计公司hlh成都柚米科技15企业营销型网站系统
  • 德州网站建设招聘帝国网站怎么仿站
  • 15. C++ 类的转换
  • 基于STM32与influxDB的电力监控系统-7
  • python 之 argparse的简单使用
  • 开源 java android app 开发(十七)封库--混淆源码
  • windows显示驱动开发-IddCx 对象
  • 图书馆网站建设的作用广州新建站
  • (27)APS.NET Core8.0 堆栈原理通俗理解
  • SVN 一些命令疑问
  • 精读 C++20 设计模式:行为型设计模式 — 状态机模式
  • 多周期路径约束
  • Webpack配置之path.join、path.resolve和__dirname详解
  • vue打包优化方案都有哪些?
  • Golang 中的字符串:常见错误和最佳实践
  • 花生壳建设网站怎样做网络营销推广
  • 【Rust GUI开发入门】编写一个本地音乐播放器(8. 从文件中提取歌曲元信息)
  • 国内个人网站建设贾汪城乡建设局网站
  • CentOS二进制安装包方式部署K8S集群之系统初始化
  • Spring Boot 缓存集成实践
  • 力扣Hot100--21.合并两个有序链表
  • 网络安全和NLP、CV是并行的应用吗?
  • 如何做好一个企业网站专门做图片的网站
  • 网页设计网站wordpress公告栏插件
  • C++ 位运算 高频面试考点 力扣 371. 两整数之和 题解 每日一题
  • 网络安全常见敏感目录字典
  • React学习(三)--- 组件化开发编写css
  • 设计模式(C++)详解——观察者模式(Observer)(1)