须知
- 建议集成最新版本的SDK 6.8.1
- 该版本支持Android 4.0 (Ice Cream Sandwich - API version 14) and above
- 该版本支持Amazon OS 5.4 and above
- 该版本如使用 MREC ads 则要求 API version 16 and above
集成SDK
请在Maven集成和Jar集成二选其一使用。建议使用Gradle Maven库形式集成
Maven集成
在 project-level build.gradle, 添加 maven URL:
allprojects {
repositories {
jcenter()
}
}
在 app-level build.gradle 添加如下依赖:
dependencies {
// Vungle SDK
implementation 'com.vungle:publisher-sdk-android:6.8.1'
implementation "androidx.core:core:1.3.2"
implementation "androidx.localbroadcastmanager:localbroadcastmanager:1.0.0"
// Recommended for SDK to be able to get Android Advertising ID
implementation 'com.google.android.gms:play-services-basement:17.4.0'
implementation 'com.google.android.gms:play-services-ads-identifier:17.0.0'
}
Jar集成
- 下载 SDK V6 , 解压缩放到工程libs文件夹下。 在 app-level build.gradle 添加如下依赖:
Notedependencies { // Vungle SDK implementation files('libs/vungle-android-sdk-6.8.1.jar') // Required Third-party Dependencies implementation files('libs/gson-2.8.6.jar') implementation files('libs/okhttp-3.12.12.jar') implementation files('libs/okio-1.15.0.jar') implementation files('libs/androidx-vng-moat-mobile-app-kit-2.6.3.jar') implementation 'androidx.core:core:1.3.2' implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0' // When appcompat is being used, core and localbroadcastmanager are the dependencies // that is getting included // implementation 'androidx.appcompat:appcompat:1.2.0' // Recommended for SDK to be able to get Android Advertising ID implementation 'com.google.android.gms:play-services-basement:17.4.0' implementation 'com.google.android.gms:play-services-ads-identifier:17.0.0' }
注意
下载的Zip包中包含了aar和.jar文件,请使用其中之一即可。
- 修改AndroidManifest.xml
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="30" tools:overrideLibrary="com.moat.analytics.mobile.vng" />
<!--Required Permissions--> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!--Recommended Permissions--> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="18" />
<application android:fullBackupContent="@xml/vungle_backup_rule" android:hardwareAccelerated="true" android:supportsRtl="true" > <!--Vungle Activities--> <activity android:name="com.vungle.warren.ui.VungleActivity" android:configChanges="keyboardHidden|orientation|screenSize|screenLayout|smallestScreenSize" android:launchMode="singleTop" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" /> <receiver android:name="com.vungle.warren.NetworkProviderReceiver" android:enabled="false" > <intent-filter> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </receiver>
<provider
android:name="com.vungle.warren.utility.VungleProvider"
android:authorities="${applicationId}.vungle-provider"
android:exported="false" />
</application>
初始化Vungle SDK
在请求广告之前,请先初始化SDK。一般来说需要在App启动时立刻初始化。示例如下:
Vungle.init("YOUR_VUNGLE_APP_ID", getApplicationContext(), new InitCallback() {
@Override
public void onSuccess() {
// Initialization has succeeded and SDK is ready to load an ad or play one if there
// is one pre-cached already
}
@Override
public void onError(VungleException e) {
// Initialization error occurred - e.getLocalizedMessage() contains error message
}
@Override
public void onAutoCacheAdAvailable(String placementId) {
// Callback to notify when an ad becomes available for the cache optimized placement
// NOTE: This callback works only for the cache optimized placement. Otherwise, please use
// LoadAdCallback with loadAd API for loading placements.
}
};
通过 isInitialized 方法来判断是否初始化成功:
boolean isInitialized = Vungle.isInitialized();
注意
Hardware Acceleration
Hardware acceleration Hardware acceleration是默认开启的。这个功能能帮助SDK正确的显示Dynamic Template和原生广告。请确保开启该功能
<application android:hardwareAccelerated="true" ...>