配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| class DemoApplication: Application() { override fun onCreate() { super.onCreate() val devKey = "<AppLovin MAX SDK Key>" val privacyPolicyUrl = "<url>" val termsOfServiceUrl = "<url>" MaxSdkConfiguration.initialize(devKey, privacyPolicyUrl, termsOfServiceUrl, debugMode)
} }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| public class DemoApplication extends Application {
@Override public void onCreate() { super.onCreate(); ...
String devKey = "<AppLovin MAX SDK Key>"; String privacyPolicyUrl = "<url>"; String termsOfServiceUrl = "<url>"; MaxSdkConfiguration.initialize(devKey, privacyPolicyUrl, termsOfServiceUrl, debugMode);
} }
|
广告渠道配置文档:
https://developers.applovin.com/en/max/android/preparing-mediated-networks#gradle
https://developers.applovin.com/zh/max/android/preparing-mediated-networks#gradle
数据结构
ProxyAd
参数 |
类型 |
说明 |
type |
Integer |
广告类型 - 1 - Rewarded - 2 - MREC/BANNER - 3 - Native - 4 - Interstitial - 5 - App Open |
classify |
Integer |
广告展示形式 - 1 - FullScreen Ad 全屏 - 2 - Banner Ad 横幅 |
platform |
String |
广告平台 |
source |
String |
广告媒体 |
adUnitId |
String |
广告位 |
placement |
String |
调用广告的位置 |
currency |
String |
广告收益货币 |
revenue |
Double |
广告收益 |
revenuePrecision |
String |
广告收益数额精度 |
应用启动广告
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| private val appOpenUnitId = "<adUnitId>"
private fun listener() { Athana.getInstance().setAdListener(object: BaseAdServiceListener() { override fun onLoaded(ad: ProxyAd) { super.onLoaded(ad) if (ad.type == 5) { show("App Open") } } override fun onLoadFailed(ad: ProxyAd, error: Any?) { super.onLoadFailed(ad, error) if (ad.type == 5) { } } override fun onClosed(ad: ProxyAd) { super.onClosed(ad) if (ad.type == 5) { } } }) }
private fun load() { listener() Athana.getInstance().adService.loadAppOpenAd(appOpenUnitId) }
private fun show(placement: String) { Athana.getInstance().adService.showAppOpenAd(appOpenUnitId, placement) }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| private static String appOpenUnitId = "<adUnitId>"; private void listener() { Athana.getInstance().setAdListener(new BaseAdServiceListener() { @Override public void onLoaded(@NonNull ProxyAd ad) { super.onLoaded(ad); if (ad.getType() == 5) { show("App Open"); } } @Override public void onLoadFailed(@NonNull ProxyAd ad, Object error) { super.onLoadFailed(ad, error); if (ad.getType() == 5) { } } @Override public void onClosed(ProxyAd ad) { super.onClosed(ad); if (ad.getType() == 5) { } } }); } private void load() { listener(); Athana.getInstance().getAdService().loadAppOpenAd(appOpenUnitId); } private void show(String placement) { Athana.getInstance().getAdService().showAppOpenAd(appOpenUnitId, placement); }
|
激励广告
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| private val rewardedUnitId = "<adUnitId>"
private fun listener() { Athana.getInstance().setAdListener(object: BaseAdServiceListener() { override fun onLoaded(ad: ProxyAd) { super.onLoaded(ad) if (ad.type == 1) { show("StorePage") } } override fun onLoadFailed(ad: ProxyAd, error: Any?) { super.onLoadFailed(ad, error) if (ad.type == 1) { } }
override fun onRewarded(ad: ProxyAd) { super.onRewarded(ad) }
override fun onClosed(ad: ProxyAd) { super.onClosed(ad) if (ad.type == 1) { } } }) }
private fun load() { listener() Athana.getInstance().adService.loadRewardAd(rewardedUnitId) }
private fun show(placement: String) { Athana.getInstance().adService.showRewardAd(rewardedUnitId, placement) }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| private static String rewardedUnitId = "<adUnitId>"; private void listener() { Athana.getInstance().setAdListener(new BaseAdServiceListener() { @Override public void onLoaded(@NonNull ProxyAd ad) { super.onLoaded(ad); if (ad.getType() == 1) { show("StorePage"); } } @Override public void onLoadFailed(@NonNull ProxyAd ad, Object error) { super.onLoadFailed(ad, error); if (ad.getType() == 1) { } }
@Override public void onRewarded(ProxyAd ad) { super.onRewarded(ad) }
@Override public void onClosed(ProxyAd ad) { super.onClosed(ad); if (ad.getType() == 1) { } } }); } private void load() { listener(); Athana.getInstance().getAdService().loadRewardAd(rewardedUnitId); } private void show(String placement) { Athana.getInstance().getAdService().showRewardAd(rewardedUnitId, placement); }
|
插屏广告
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| private val interstitialUnitId = "<adUnitId>"
private fun listener() { Athana.getInstance().setAdListener(object: BaseAdServiceListener() { override fun onLoaded(ad: ProxyAd) { super.onLoaded(ad) if (ad.type == 4) { show("Game Level 1-2") } } override fun onLoadFailed(ad: ProxyAd, error: Any?) { super.onLoadFailed(ad, error) if (ad.type == 4) { } } override fun onClosed(ad: ProxyAd) { super.onClosed(ad) if (ad.type == 4) { } } }) }
private fun load() { listener() Athana.getInstance().adService.loadInterstitialAd(interstitialUnitId) }
private fun show(placement: String) { Athana.getInstance().adService.showInterstitialAd(interstitialUnitId, placement) }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| private static String interstitialUnitId = "<adUnitId>"; private void listener() { Athana.getInstance().setAdListener(new BaseAdServiceListener() { @Override public void onLoaded(@NonNull ProxyAd ad) { super.onLoaded(ad); if (ad.getType() == 4) { show("Game Level 1-2"); } } @Override public void onLoadFailed(@NonNull ProxyAd ad, Object error) { super.onLoadFailed(ad, error); if (ad.getType() == 4) { } }
@Override public void onClosed(ProxyAd ad) { super.onClosed(ad); if (ad.getType() == 4) { } } }); } private void load() { listener(); Athana.getInstance().getAdService().loadInterstitialAd(interstitialUnitId); } private void show(String placement) { Athana.getInstance().getAdService().showInterstitialAd(interstitialUnitId, placement); }
|
横幅广告
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| private var banner: Banner? = null private val interstitialUnitId = "<adUnitId>"
private fun listener() { Athana.getInstance().setAdListener(object: BaseAdServiceListener() { override fun onLoaded(ad: ProxyAd) { super.onLoaded(ad) if (ad.type == 2) { } } override fun onLoadFailed(ad: ProxyAd, error: Any?) { super.onLoadFailed(ad, error) if (ad.type == 2) { } } override fun onClosed(ad: ProxyAd) { super.onClosed(ad) if (ad.type == 2) { } } }) }
private fun create(placement: String) { listener() banner = Athana.getInstance().adService.createBanner( bannerUnitId, placement, AdAlignment.TOP_CENTER, AdSize.fullWidth(70) ) if (banner == null) { } }
private fun destroy() { banner?.destroy() banner = null }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| private Banner banner = null; private String bannerUnitId = "<adUnitId>"; private void listener() { Athana.getInstance().setAdListener(new BaseAdServiceListener() { @Override public void onLoaded(@NonNull ProxyAd ad) { super.onLoaded(ad); if (ad.getType() == 2) { } } @Override public void onLoadFailed(@NonNull ProxyAd ad, Object error) { super.onLoadFailed(ad, error); if (ad.getType() == 2) { } } @Override public void onClosed(@NonNull ProxyAd ad) { super.onClosed(ad); if (ad.getType() == 2) { } } }); } private void create(String placement) { listener(); banner = Athana.getInstance().getAdService().createBanner( bannerUnitId, placement, AdAlignment.TOP_CENTER, AdSize.fullWidth(70) ); if (banner == null) { } } private void destroy() { if (banner != null) { banner.destroy(); banner = null; } }
|