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

安卓接入Max广告源

官方文档地址:gMAX | SDK 集成指南 | Android / Amazon | 选择要集成的广告平台 | Support Center | AppLovin

目录

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

二、导入max相应资源

1.在应用层级的build.gradle(app)中

2.在根层级的build.gradle(project)中

3.在settings中添加仓库

三、具体使用

1.新建自己的广告监听器

2.写一个简单布局

3.初始化sdk 和展示广告


一、新建一个Kotlin的安卓项目
二、导入max相应资源
1.在应用层级的build.gradle(app)中
plugins {...id("applovin-quality-service")
}
applovin {apiKey = "«ad-review-key»"
}...
dependencies {implementation("com.applovin:applovin-sdk:+")⋮
}
2.在根层级的build.gradle(project)中
buildscript {dependencies {classpath ("com.applovin.quality:AppLovinQualityServiceGradlePlugin:+")  //新增这行}
}
plugins {alias(libs.plugins.android.application) apply falsealias(libs.plugins.kotlin.android) apply false
}
3.在settings中添加仓库

新增下面注释标注的那行,其余的是国内镜像,看自己情况加

pluginManagement {repositories {maven( url ="https://maven.aliyun.com/repository/public" )maven( url ="https://maven.aliyun.com/repository/google" )maven( url ="https://maven.aliyun.com/repository/central" )maven( url ="https://maven.aliyun.com/repository/gradle-plugin" )google {content {includeGroupByRegex("com\\.android.*")includeGroupByRegex("com\\.google.*")includeGroupByRegex("androidx.*")}}maven (url = "https://artifacts.applovin.com/android")  //主要是这行mavenCentral()gradlePluginPortal()}
}
dependencyResolutionManagement {repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)repositories {maven( url ="https://maven.aliyun.com/repository/public" )maven( url ="https://maven.aliyun.com/repository/google" )maven( url ="https://maven.aliyun.com/repository/central" )maven( url ="https://maven.aliyun.com/repository/gradle-plugin" )maven (url = "https://artifacts.applovin.com/android")  //主要是这行google()mavenCentral()}
}rootProject.name = "AdProject"
include(":app")
三、具体使用
1.新建自己的广告监听器

import android.util.Log
import com.applovin.mediation.MaxAd
import com.applovin.mediation.MaxAdListener
import com.applovin.mediation.MaxError//MaxAdListener 是max广告中最基础的广告监听器,别的监听器都是继承他的
open class MyMaxAdListener : MaxAdListener {//广告加载成功override fun onAdLoaded(maxAd: MaxAd) {Log.d("AppLovin", "Ad loaded.")}//广告加载失败override fun onAdLoadFailed(adUnitId: String, error: MaxError) {Log.d("AppLovin", "Ad failed to load: $error")}//广告展示失败override fun onAdDisplayFailed(ad: MaxAd, error: MaxError) {Log.d("AppLovin", "Ad failed to display: $error")}//广告被点击override fun onAdClicked(maxAd: MaxAd) {Log.d("AppLovin", "Ad clicked.")}//广告展示成功override fun onAdDisplayed(maxAd: MaxAd) {Log.d("AppLovin", "Ad displayed.")}//广告被隐藏(关闭)override fun onAdHidden(maxAd: MaxAd) {Log.d("AppLovin", "Ad hidden.")}
}
import android.util.Log
import com.applovin.mediation.MaxAd
import com.applovin.mediation.MaxAdViewAdListener//横幅广告的监听器,新增了扩大和缩小回调
class  MyMaxAdViewAdListener : MyMaxAdListener(), MaxAdViewAdListener {override fun onAdExpanded(p0: MaxAd) {Log.d("AppLovin", "Ad expanded.")}override fun onAdCollapsed(p0: MaxAd) {Log.d("AppLovin", "Ad collapsed.")}
}
//激励广告的监听器,新增一个获得奖励的回调,代表可以给用户发放奖励了
class MyMaxRewardedAdListener  : MyMaxAdListener(), MaxRewardedAdListener  {override fun onUserRewarded(p0: MaxAd,p1: MaxReward) {Log.d("AppLovin", "User rewarded.")}
}
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/bannerBt"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="横幅广告"/><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 android.view.ViewGroup
import android.widget.FrameLayout
import com.applovin.mediation.ads.MaxAdView
import com.applovin.mediation.ads.MaxInterstitialAd
import com.applovin.mediation.ads.MaxRewardedAd
import com.applovin.sdk.AppLovinMediationProvider
import com.applovin.sdk.AppLovinSdk
import com.applovin.sdk.AppLovinSdkInitializationConfigurationclass MaxActivity : Activity() {val binding by lazy { ActivityMaxBinding.inflate(layoutInflater) }private var adView: MaxAdView? = null  //横幅广告private lateinit var interstitialAd: MaxInterstitialAd //插屏广告private lateinit var rewardedAd: MaxRewardedAd //激励视频override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(binding.root)//初始化maxval initConfig =AppLovinSdkInitializationConfiguration.builder("<<SDK-key>>").setMediationProvider(AppLovinMediationProvider.MAX).build()AppLovinSdk.getInstance(this).initialize(initConfig) { sdkConfig ->//初始化成功,开始加载广告Log.d("AppLovin", "AppLovin SDK has been initialized")createInterstitialAd()createRewardedAd()}binding.bannerBt.setOnClickListener {createBannerAd()}binding.interBt.setOnClickListener {if (interstitialAd.isReady) {interstitialAd.showAd()} else {createInterstitialAd()}}binding.rewardedBt.setOnClickListener {if (rewardedAd.isReady) {rewardedAd.showAd()} else {createRewardedAd()}}}fun createBannerAd() {adView = MaxAdView("<<banner 广告id>>", this)adView?.setListener(MyMaxAdViewAdListener())adView?.layoutParams = FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 300)binding.main.addView(adView)adView?.loadAd()}fun createInterstitialAd() {interstitialAd = MaxInterstitialAd("<<插屏广告id>>", this)interstitialAd.setListener(MyMaxAdListener())interstitialAd.loadAd()}fun createRewardedAd() {rewardedAd = MaxRewardedAd.getInstance("<<激励广告id>>")rewardedAd.setListener(MyMaxRewardedAdListener())rewardedAd.loadAd()}}

注:max广告是国外的,加载广告会特别慢,要收到load结果回调,大概要一分钟,有条件用外网,没有的话,很难load成功

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

相关文章:

  • Rockchip平台 Android 11 到 Android 16 系统占用内存对比分析
  • 简洁文章类织梦网站模板郑州企业服务公司
  • 企业网站的需求是什么WordPress網站放ICP
  • Avalonia:创建安卓、Web应用(部署到iis)
  • three.js —— 引入模型
  • 一次跨端数据类型兼容问题的排查与解决(判断类型)
  • Fscan:内网综合扫描工具深度入门指南
  • 什么时候能用ipv6做网站二手房网
  • 免费网站管理系统下载mvc5网站开发实战详解
  • 零基础从头教学Linux(Day 42)
  • 前端拿到标准省市区数据
  • (六)重构的艺术:简化复杂条件逻辑的秘诀
  • 雏光 网络推广 网站建设ps模板素材网站
  • 高可用MySQL的整体解决方案、体系化原理和指导思路
  • yoda_formatting_func函数解析(105)
  • Vue 3 中 routes 与 route 的详解
  • 哪有做网站推广wordpress 在线编辑器
  • leetcode_138 随机链表的复制
  • Kendo UI for jQuery 2025 Q3新版亮点 - AI 智能网格与全新表单体验
  • 职业规划之软件测试工作五年后,做技术还是做管理?
  • 【一文了解】C#的StringSplitOptions枚举
  • 大连仟亿科技网站建设公司 概况网站搜索 代码
  • 高端网站设计中的微交互:细节如何决定用户体验
  • 香港科技大学提出融合神经网络框架,高效预测蛋白质序列的多金属结合位点
  • 9.9奶茶项目:matlab+FPGA的cordic算法计算±π之间的sin和cos值
  • 越野组(遇到的问题)
  • 29.9元汉堡项目:FPGA多普勒频移解调功能设计开发
  • MyBatis 大于等于、小于等于
  • 南通自助模板建站php做网站好吗
  • [Windows] PDF 专业压缩工具 v3.6