集成广告网络

Andriod聚合说明

AdTiming聚合平台支持从多个广告网络展示广告,通过将广告请求发给多个平台,遴选最佳广告进行展示,这有助于最大化提升您的广告收益。AdTiming平台支持从十多个平台聚合横幅、原生、插屏、激励视频等类型进行广告加载与展示,通过智能加载、多实例机制和hybrid waterfall等技术实现收益最大化。

 

开始之前

在开始使用AdTiming聚合功能之前,您需要先正确的集成AdTiming 聚合SDK并完成了相应的广告类型的加载与展示:

重要提示:Android SDK v5.5和v6.0及以上的版本中, 用于集成第三方广告平台的adapter模块采用独立的aar文件方式打包,除了广告平台的SDK,您还需要单独下载和集成adapter的aar文件到您的项目中.

举例来说,如果您要集成AdMob的广告,那么您需要同时将AdMob的SDK和对应的adapter添加到project的libs中。

 

集成广告网络

AdTiming聚合平台支持十多个第三方广告网络,进行第三方平台的集成需要以下三个方面操作:

  1. 第三方广告平台操作:登陆第三方网络操作界面,创建应用和对应的广告位。
  2. AdTiming平台操作:更新对应广告位的聚合设置,增加该网络的实例。我们建议采用自动优化的方式。
  3. 应用程序代码 – 需要更新您的应用程序,加入第三方广告网络的SDK和对应的adapter。

请务必按照本文档的聚合说明指导下进行操作.

我们同时支持Maven自动方式和手动方式进行第三方平台的聚合和集成。

 

自动方式集成

按照以下所示的代码,您可以非常简单快速的完成自动集成操作,只需将对应广告平台的脚本拷贝到您的gradle 文件中。这是我们建议的方式。

如果您习惯于使用手动下载方式,您可以参考下一节“手动下载集成”,那里可以找到所有需要的下载链接和信息。

  • 将下面对应平台的集成脚本拷贝到您的project-level build.gradle 文件的 repositories 中。
allprojects {
    repositories {
        maven { url 'https://dl.adtiming.com/android-sdk' }

        // for vungle
        maven { url 'https://jitpack.io' }

        // for adcolony
        maven { url 'https://adcolony.bintray.com/AdColony' }

        // for mopub
        maven { url 'https://s3.amazonaws.com/moat-sdk-builds' }

        // for tapjoy
        maven { url 'https://tapjoy.bintray.com/maven' }
        
        // for ironsource
        maven { url 'https://dl.bintray.com/ironsource-mobile/android-sdk' }
        
        // for chartboost
        maven { url "https://chartboostmobile.bintray.com/Chartboost" }
    }
}
  • 将下面对应平台的集成脚本拷贝到您的application-level build.gradle 文件的 dependencies 中。
dependencies {
	implementation 'com.adtiming:mediation-sdk:6.3.4@aar'

	// for admob
	implementation 'com.adtiming.adapters:admob:3.3.0@aar'
	implementation 'com.google.android.gms:play-services-ads:19.1.0'

	// for facebook
	implementation 'com.adtiming.adapters:facebook:3.4.0@aar'
	implementation 'com.facebook.android:audience-network-sdk:5.9.0'
	// for using bid
	implementation(name: 'BiddingKit', ext: 'aar')

	// for unity
	implementation 'com.adtiming.adapters:unity:3.4.0@aar'
	implementation 'com.unity3d.ads:unity-ads:3.4.2'

	// for vungle
	implementation 'com.adtiming.adapters:vungle:3.4.0@aar'
	implementation 'com.vungle:publisher-sdk-android:6.5.3'

	// for adcolony
	implementation 'com.adtiming.adapters:adcolony:3.1.2@aar'
	implementation 'com.adcolony:sdk:4.1.4'
	//implementation 'com.google.android.gms:play-services-ads:19.1.0'

	// for applovin
	implementation 'com.adtiming.adapters:applovin:3.2.0@aar'
	implementation 'com.applovin:applovin-sdk:9.12.6'

	// for mopub
	implementation 'com.adtiming.adapters:mopub:3.4.0@aar'
	implementation ('com.mopub:mopub-sdk:5.12.0@aar') {transitive = true}

	// for tapjoy
	implementation 'com.adtiming.adapters:tapjoy:3.1.4@aar'
	implementation 'com.tapjoy:tapjoy-android-sdk:12.4.2@aar'

	// for chartboost
	implementation 'com.adtiming.adapters:chartboost:3.2.0@aar'
	implementation 'com.chartboost:chartboost-sdk:8.0.2'
	implementation 'com.google.android.gms:play-services-base:17.2.1'
	implementation 'com.google.android.gms:play-services-ads-identifier:17.0.0'

	// for mingetral
	implementation 'com.adtiming.adapters:mintegral:3.0.1@aar'
	implementation 'com.mintegral.msdk:videojs:10.2.41'
	implementation 'com.mintegral.msdk:mtgjscommon:10.2.41'
	implementation 'com.mintegral.msdk:playercommon:10.2.41'
	implementation 'com.mintegral.msdk:reward:10.2.41'
	implementation 'com.mintegral.msdk:videocommon:10.2.41'
	implementation 'com.mintegral.msdk:interstitialvideo:10.2.41'
	implementation 'com.mintegral.msdk:common:10.2.41'

	// for Pangle
	implementation 'com.adtiming.adapters:tiktok:3.0.1@aar'
	// 需要下载SDK https://partner.oceanengine.com/union/media/union/download 
	implementation(name: 'open_ad_sdk', ext: 'aar')

	// for ironsource
	implementation 'com.adtiming.adapters:ironsource:3.1.1@aar'
	implementation 'com.ironsource.sdk:mediationsdk:6.16.1'
}
 

 

手动下载集成

AdTiming提供手动集成方式,下表中列举了支持的第三方平台、广告类型和SDK的版本以及SDK和adapter的下载方式与链接,您可以按需要进行下载和集成。

Platforms Supported SDK Version Banner Interstitial Native Reward Video SDK Download Adapter Download
Admob 19.1.0  ✔️  ✔️  ✔️  ✔️ Maven Configuration Download
Facebook 5.9.0  ✔️  ✔️  ✔️  ✔️ Maven Configuration Download
Mopub 5.12.0  ✔️  ✔️  ✔️   Maven Configuration Download
UnityAds 3.4.2  ✔️  ✔️    ✔️ Maven Configuration Download
Applovin 9.12.6  ✔️  ✔️    ✔️ Maven Configuration Download
Adcolony 3.3.11        ✔️ Maven Configuration Download
Vungle 6.5.3  ✔️  ✔️    ✔️ Maven Configuration Download
Tapjoy 12.4.2    ✔️    ✔️ Maven Configuration Download
Chartboost 8.0.2    ✔️    ✔️ Maven Configuration Download
Mintegral 10.2.41    ✔️    ✔️ Maven Configuration Download
Pangle 2.1.5.0    ✔️    ✔️ Maven Configuration Download
IronSource 6.16.1  ✔️  ✔️    ✔️ Maven Configuration Download
 
 
 

针对聚合平台的额外配置

1. Admob

  1. 更新Android Manifest.xml
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="admob_app_id" />
  1. 仅针对使用Proguard

如果您将 ProGuard 与 AdMob 适配器一起使用,则必须将以下代码添加到 ProGuard 配置中 (Android Studio: proguard-rules.pro or Eclipse: proguard-project.txt):

-keep public class com.google.android.gms.** {
 public *;
}
-keep public class com.google.ads.** {
 public *;
}

 

2. Facebook

仅针对使用 Proguard

如果您将 ProGuard 与 Facebook适配器一起使用,则必须将以下代码添加到 ProGuard 配置中 (Android Studio: proguard-rules.pro or Eclipse: proguard-project.txt):

-keep class com.facebook.ads.** { *; }

 

3. UnityAds

仅针对使用 Proguard

如果您将 ProGuard 与 UnityAds适配器一起使用,则必须将以下代码添加到 ProGuard 配置中 (Android Studio: proguard-rules.pro or Eclipse: proguard-project.txt):

-keepattributes SourceFile,LineNumberTable
-keepattributes JavascriptInterface
-keep class android.webkit.JavascriptInterface {
    *;
}
-keep class com.unity3d.** {
    *;
}

 

 4. AppLovin

  1. 仅针对使用 Proguard

如果您将 ProGuard 与AppLovin适配器一起使用,则必须将以下代码添加到 ProGuard 配置中 (Android Studio: proguard-rules.pro or Eclipse: proguard-project.txt):

-keep class com.applovin.** { *;} 
  1. 设置激励视频

将 AppLovin 适配器添加到您的内部版本后,您需要在AppLovin 后台启用激励视频功能.

  1. 'Manage Apps' 选择指定的应用
  2. 向下滚动到'Rewarded Video'部分设置下列选项
  • Frequency Capping – 不要对激励视频限制频次
  • Virtual Currency Details – 不需要设置,AdTiming 适配器会自动设置
  • Callback Options – Client-side callbacks only
  1. 点击保存 'Save'

 

5. Vungle

1.  更新xml文件

修改Android Manifest.xml 添加permissions.

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- Optional permissions to enable better geo-targeting of ads (recommended) -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:namee="android.permission.ACCESS_FINE_LOCATION" /> 

2.  仅针对使用Proguard

如果您将 ProGuard 与 Vungle适配器一起使用,则必须将以下代码添加到 ProGuard 配置中 (Android Studio: proguard-rules.pro or Eclipse: proguard-project.txt):

# Vungle
-keep class com.vungle.warren.** { *; }
-dontwarn com.vungle.warren.error.VungleError$ErrorCode
    
# Moat SDK
-keep class com.moat.** { *; }
-dontwarn com.moat.**

# Okio
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement

# Retrofit
-dontwarn okio.**
-dontwarn retrofit2.Platform$Java8
    
# Gson
-keepattributes Signature
-keepattributes *Annotation*
-dontwarn sun.misc.**
-keep class com.google.gson.examples.android.model.** { *; }
-keep class * implements com.google.gson.TypeAdapterFactory
-keep class * implements com.google.gson.JsonSerializer
-keep class * implements com.google.gson.JsonDeserializer
    
# Google Android Advertising ID
-keep class com.google.android.gms.internal.** { *; }
-dontwarn com.google.android.gms.ads.identifier.*

 

6. Tapjoy

1.  更新xml文件

  • 修改Android Manifest.xml 添加以下permissions.
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
  • 修改Android Manifest.xml 添加以下 activities.
<activity
android:name="com.tapjoy.TJAdUnitActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:hardwareAccelerated="true"
android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />
<activity
android:name="com.tapjoy.TJContentActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:hardwareAccelerated="true"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />

 2.  仅针对使用Proguard

如果您将 ProGuard 与 Tapjoy适配器一起使用,则必须将以下代码添加到 ProGuard 配置中 (Android Studio: proguard-rules.pro or Eclipse: proguard-project.txt):

-dontwarn com.tapjoy.**
-keep class com.tapjoy.** { *; }
-keep class com.google.android.gms.ads.identifier.** { *; }

 

7. Adcolony

1.  更新xml文件

  • 修改Android Manifest.xml添加以下 permissions.
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- Optional permissions -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
  • 修改Android Manifest.xml 添加以下activity.
<activity
android:name="com.adcolony.sdk.AdColonyInterstitialActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:hardwareAccelerated="true" />

2.  仅针对使用Proguard

如果您将 ProGuard 与 AdColony适配器一起使用,则必须将以下代码添加到 ProGuard 配置中 (Android Studio: proguard-rules.pro or Eclipse: proguard-project.txt):

-keepclassmembers class * {
@android.webkit.JavascriptInterface <methods>;
}
-keepclassmembers class com.adcolony.sdk.ADCNative** {
*;
}
-dontwarn android.app.Activit

 

8. Chartboost

1.   更新AndroidManifest.xml文件

修改Android Manifest.xml 添加以下activity.

<activity
android:name="com.chartboost.sdk.CBImpressionActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:excludeFromRecents="true"
android:hardwareAccelerated="true"
android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />

2.   仅针对使用Proguard

如果您将 ProGuard 与 Chartboost适配器一起使用,则必须将以下代码添加到 ProGuard 配置中 (Android Studio: proguard-rules.pro or Eclipse: proguard-project.txt):

-dontwarn com.chartboost.**.*
-keep class com.chartboost.** { *; }

 

9. Mopub

1.    更新 AndroidManifest.xml文件

  • 修改Android Manifest.xml 添加以下 permissions.
<!-- Required permissions -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- Optional permissions. Will pass Lat/Lon values when available. Choose either Coarse or Fine -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!-- Optional permissions. Used for MRAID 2.0 storePicture ads -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  • 修改Android Manifest.xml 添加以下activities.
<activity
    android:name="com.mopub.common.MoPubBrowser"
    android:configChanges="keyboardHidden|orientation|screenSize" />
<!-- Interstitials -->
<activity
    android:name="com.mopub.mobileads.MoPubActivity"
    android:configChanges="keyboardHidden|orientation|screenSize" />
<activity
  android:name="com.mopub.mobileads.MraidActivity" android:configChanges="keyboardHidden|orientation|screenSize" /> <!-- Rewarded Video and Rewarded Playables --> <activity android:name="com.mopub.common.privacy.ConsentDialogActivity" android:configChanges="keyboardHidden|orientation|screenSize"/> <activity android:name="com.mopub.mobileads.MraidVideoPlayerActivity" android:configChanges="keyboardHidden|orientation|screenSize"/> <activity android:name="com.mopub.mobileads.RewardedMraidActivity" android:configChanges="keyboardHidden|orientation|screenSize"/>

2. 仅针对使用Proguard

如果您将 ProGuard 与 Mopub适配器一起使用,则必须将以下代码添加到 ProGuard 配置中(Android Studio: proguard-rules.pro or Eclipse: proguard-project.txt):

# Keep public classes and methods.
-keepclassmembers class com.mopub.** { public *; }
-keep public class com.mopub.**
-keep public class android.webkit.JavascriptInterface {}
# Explicitly keep any custom event classes in any package.
-keep class * extends com.mopub.mobileads.CustomEventBanner {}
-keep class * extends com.mopub.mobileads.CustomEventInterstitial {}
-keep class * extends com.mopub.nativeads.CustomEventNative {}
-keep class * extends com.mopub.nativeads.CustomEventRewardedAd {}
# Keep methods that are accessed via reflection
-keepclassmembers class ** { @com.mopub.common.util.ReflectionTarget *; }
# Support for Android Advertiser ID.
-keep class com.google.android.gms.common.GooglePlayServicesUtil {*;}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient {*;}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient$Info {*;}
# Support for Google Play Services
# http://developer.android.com/google/play-services/setup.html
-keep class * extends java.util.ListResourceBundle {
protected Object[][] getContents();
}
-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
public static final *** NULL;
}
-keepnames @com.google.android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
@com.google.android.gms.common.annotation.KeepName *;
}
-keepnames class * implements android.os.Parcelable {
public static final ** CREATOR; 
}

  

10. Mintegral

1.   更新 AndroidManifest.xml文件

  •  修改Android Manifest.xml 添加以下 permissions.
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  • 修改Android Manifest.xml 添加以下activities.
<activity
  android:name="com.mintegral.msdk.activity.MTGCommonActivity"
  android:configChanges="keyboard|orientation"
  android:screenOrientation="portrait"
  android:exported="true"
  android:theme="@android:style/Theme.Translucent.NoTitleBar">
</activity>

 

2.  仅针对使用Proguard配置

如果您将 ProGuard 与 Mintegral适配器一起使用,则必须将以下代码添加到 ProGuard 配置中

-keepattributes Signature 
-keepattributes *Annotation* 
-keep class com.mintegral.** {*; } 
-keep interface com.mintegral.** {*; } 
-keep class android.support.v4.** { *; } 
-dontwarn com.mintegral.** 
-keep class **.R$* { public static final int mintegral*; }
-keep class com.alphab.** {*; }
-keep interface com.alphab.** {*; }

 

3.  Apache兼容性设置

由于Mintegral SDK使用了Apache的httpclient,考虑到兼容性问题,请添加以下内容到项目中。

(1) 添加以下代码到AndroidManifest.xml文件:

<uses-library android:name="org.apache.http.legacy" android:required="false"/>

(2)添加以下代码到应用级的 gradle文件:

android {
   ...
   ...
   useLibrary 'org.apache.http.legacy'
   ...
   ...
}

 

11. Pangle

1.   更新 AndroidManifest.xml文件

<!--The permissions that prefer to have-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

 

2.  仅针对使用Proguard配置

如果您将 ProGuard 与 Pangle 适配器一起使用,则必须将以下代码添加到 ProGuard 配置中

-keep public class com.bytedance.sdk.openadsdk.*{ public *; }
 

11. IronSource

1.   更新 AndroidManifest.xml文件

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

 

2.  仅针对使用Proguard配置

如果您将 ProGuard 与 IronSource 适配器一起使用,则必须将以下代码添加到 ProGuard 配置中

-keepclassmembers class com.ironsource.sdk.controller.IronSourceWebView$JSInterface {
    public *;
}
-keepclassmembers class * implements android.os.Parcelable {
    public static final android.os.Parcelable$Creator *;
}
-keep public class com.google.android.gms.ads.** {
   public *;
}
-keep class com.ironsource.adapters.** { *;
}
-dontwarn com.ironsource.mediationsdk.**
-dontwarn com.ironsource.adapters.**
-dontwarn com.moat.**
-keep class com.moat.** { public protected private *; }
 
 
这篇文章有帮助吗?
0 人中有 0 人觉得有帮助

评论

0 条评论

登录写评论。