跳到主要内容

2.1.SDK集成

2.1.1 申请账号和广告位

向广告运营人员申请广告平台账号及相应广告位。平台上创建应用时请注意选择的接入方式是Mediation SDK还是Hisavana SDK,因为选择不同接入方式,对接的SDK文档有所不同。

2.1.2 导入广告SDK

第一步:在项目级build.gradle文件加入maven远程依赖地址,如下

buildscript {
repositories {
// 必选项
mavenCentral()
// 必选项
maven { url "https://mvn.shalltry.com/repository/maven-public/" }
// 必选项
maven { url "https://mvn.shalltry.com/repository/ad-releases/" }
// 如需接入 ironsource ,请添加
maven { url 'https://android-sdk.is.com/'}
// 如需接入 pangle ,请添加
maven { url 'https://artifact.bytedance.com/repository/pangle'}
// 国内应用市场,Android X Version;如需接入 mintegral ,请添加
maven { url "https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_china"}
// 国外应用市场,Android X Version;如需接入 mintegral ,请添加
maven { url "https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea"}
}
}
allprojects {
repositories {
// 必选项
mavenCentral()
// 必选项
maven { url "https://mvn.shalltry.com/repository/maven-public/" }
// 必选项
maven { url "https://mvn.shalltry.com/repository/ad-releases/" }
// 如需接入 ironsource ,请添加
maven { url 'https://android-sdk.is.com/'}
// 如需接入 pangle ,请添加
maven { url 'https://artifact.bytedance.com/repository/pangle'}
// 国内应用市场,Android X Version;如需接入 mintegral ,请添加
maven { url "https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_china"}
// 国外应用市场,Android X Version;如需接入 mintegral ,请添加
maven { url "https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea"}
}
}

第二步:在Module的build.gradle中引入广告相关库,其中mediation-lib为必须依赖库,其他为可选,请按需添加

// 当前最新sdk版本
def versionName = "3.3.6.1"
// 必选项
implementation("com.cloud.hisavana.sdk.mediation:mediation-lib:$versionName")
// 可选项,如需接入 admob ,请添加
implementation("com.cloud.hisavana.sdk.mediation:admob-lib:$versionName")
// 可选项,如需接入 facebook ,请添加
implementation("com.cloud.hisavana.sdk.mediation:fan-lib:$versionName")
// 可选项,如需接入 applovin ,请添加
implementation("com.cloud.hisavana.sdk.mediation:applovin-lib:$versionName")
// 可选项,如需接入 ironsource ,请添加
implementation("com.cloud.hisavana.sdk.mediation:ironsource-lib:$versionName")
// 可选项,如需接入 inmobi ,请添加
implementation("com.cloud.hisavana.sdk.mediation:inmobi-lib:$versionName")
// 可选项,如需接入 vungle ,请添加
implementation("com.cloud.hisavana.sdk.mediation:vungle-lib:$versionName")
// 可选项,如需接入 adcolony ,请添加
implementation("com.cloud.hisavana.sdk.mediation:adcolony-lib:$versionName")
// 可选项,如需接入 pangle ,请添加
implementation("com.cloud.hisavana.sdk.mediation:pangle-lib:$versionName")
// 可选项,如需接入 mintegral ,请添加
implementation("com.cloud.hisavana.sdk.mediation:mintegral-lib:$versionName")
// 可选项,如需接入 yandex ,请添加(yandex属于多进程,注意WebView数据目录设置,详情请参考SDK初始化配置)
implementation("com.cloud.hisavana.sdk.mediation:yandex-lib:$versionName")
// 可选项,如需接入 bigo ,请添加
implementation("com.cloud.hisavana.sdk.mediation:bigo-lib:$versionName")

// 以下均为 Admob 中介组广告源,如需接入则必须优先接入 "admob-lib"
// 可选项,如需接入 Admob Mediator Applovin ,请添加
implementation("com.cloud.hisavana.sdk.mediation:mediator-applovin:$versionName")
// 可选项,如需接入 Admob Mediator Mintegral ,请添加
implementation("com.cloud.hisavana.sdk.mediation:mediator-mintegral:$versionName")
// 可选项,如需接入 Admob Mediator Pangle ,请添加
implementation("com.cloud.hisavana.sdk.mediation:mediator-pangle:$versionName")
// 可选项,如需接入 Admob Mediator Liftoff(Vungle) ,请添加
implementation("com.cloud.hisavana.sdk.mediation:mediator-liftoff:$versionName")
implementation("com.cloud.hisavana.sdk.mediation:liftoff-lib:$versionName")
// 可选项,如需接入 Admob Mediator Unity ,请添加
implementation("com.cloud.hisavana.sdk.mediation:mediator-unity:$versionName")
// 可选项,假如接入 Admob Mediator Unity 必须添加 unity ,也可以单独添加
implementation("com.cloud.hisavana.sdk.mediation:unity-lib:$versionName")

提醒:Liftoff(Vungle) 和 Vungle 不可同时依赖。

2.1.3 添加 Admob App Id

如果集成了admob-lib,需要在AndroidManifest.xml 添加 Admob AppID。

<manifest>
<application>
<!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 -->
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="[ADMOB_APP_ID]"/>
</application>
</manifest>

在真实应用中,请使用您的实际 AdMob 应用 ID,而不是上面列出的 ID。如果您只是想在demo应用中试用 SDK,则可使用上面显示的示例应用 ID。 另请注意,如果未能按照上叙步骤添加代码,可能导致崩溃并显示以下信息:

The Google Mobile Ads SDK was initialized incorrectly.

2.1.4 添加 InMobi 混淆

如果接入了InMobi广告源,需要在proguard-rules.pro文件中设置以下混淆:

 
-keepattributes SourceFile,LineNumberTable
-keep class com.inmobi.** { *; }
-keep public class com.google.android.gms.**
-dontwarn com.google.android.gms.**
-dontwarn com.squareup.picasso.**
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient{
public *;
}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient$Info{
public *;
}
# skip the Picasso library classes
-keep class com.squareup.picasso.** {*;}
-dontwarn com.squareup.okhttp.**# skip Moat classes
-keep class com.moat.** {*;}
-dontwarn com.moat.**# skip IAB classes
-keep class com.iab.** {*;}
-dontwarn com.iab.**
-keep class com.hisavana.inmobi.**{
public *;
}