接入文档 2.2 - uc-union/union-ads-sdk-demo GitHub Wiki
详见 Home
最低系统要求为Android 11。
注意: SDK采用aar格式, 并且发布在 这里
如使用Eclipse作为开发环境,请直接阅读 2.2. Eclipse
在build.gradle
文件中加入下述repositories
信息,可以参考 build.gradle 的第22-24行
repositories {
maven {
url 'https://raw.githubusercontent.com/uc-union/union-ads-maven-repository/master'
}
}
添加dependencies
依赖(通常是在app/build.gradle
中定义),可以参考 app/build.gradle 的第44行
dependencies {
compile 'com.ucweb.union.ads:unionads:2.2.+'
}
注意: 如果开发者是使用Android Studio,可以跳过本节
把aar下载到本地并解压得到如下目录布局
unionads_xxx.aar
|--(目录)
|--AndroidManifest.xml
|--proguard.txt
|--classes.jar
并按照下述步骤操作:
-
将
classes.jar
改名成unionads.jar
并放到libs
目录中 -
将
AndroidManifest.xml
的内容合并到应用开发者自己工程的AndroidManifest.xml
中 -
将
proguard.txt
的内容合并到应用开发者自己工程的proguard.pro
中
Union广告SDK支持聚合Facebook和AdMob的广告,开发者可根据自己的需求选择聚合其中的一个或多个。
详细的API说明详见 API说明-2.2
必须在应用程序Application
的onCreate()
中调用UnionAdsSdk.start()
以启动和初始化广告SDK
public class MyApplication extends Application {
@Override
public void onCreate() {
...
UnionAdsSdk.start(this);
}
}
注意: 如果应用没有定义
Application
,需要自己派生一个并在AndroidManifest.xml
中定义
更多例子代码请参考: UnionAdsSdkSampleApp & AndroidManifest.xml
条幅广告是以Android的View
的形式提供,以方便应用开发者可以灵活的设置广告的位置和大小。
条幅广告的使用代码示例如下
final BannerAdView adView = new BannerAdView(MainActivity.this);
adView.setAdListener(new AdListener() {
@Override
public void onAdLoaded(UnionAd ad) {
}
@Override
public void onAdClosed(UnionAd ad) {
}
@Override
public void onAdShowed(UnionAd ad) {
}
@Override
public void onAdClicked(UnionAd ad) {
}
@Override
public void onAdError(UnionAd ad, AdError adError) {
}
});
AdRequest adRequest = AdRequest.newBuilder()
.pub("ssr@debugbanner")
.build();
adView.loadAd(adRequest);
注意: 目前条幅广告仅支持源码调用方式的API, 不支持直接在xml文件中配置的使用方式。
更多例子代码请参考: BannerFragment
广告SDK以弹出对话框获或全屏UI的形式提供插屏广告。
插屏广告的使用代码示例如下
final InterstitialAd interstitial = new InterstitialAd(MainActivity.this);
interstitial.setAdListener(new AdListener() {
@Override
public void onAdLoaded(UnionAd ad) {
interstitial.show();
}
@Override
public void onAdClosed(UnionAd ad) {
}
@Override
public void onAdShowed(UnionAd ad) {
}
@Override
public void onAdClicked(UnionAd ad) {
}
@Override
public void onAdError(UnionAd ad, AdError adError) {
}
});
AdRequest adRequest = AdRequest.newBuilder()
.pub("ssr@debuginterstitial")
.build();
interstitial.loadAd(adRequest);
注意: 在
onAdLoaded
的时候要调用广告InterstitialAd的show()
方法,否则广告不会展示。
更多例子代码请参考: InterstitialFragment
原生广告是广告SDK提供的可定制性最强的广告,广告SDK只将广告相关的资源返回给应用开发者,由应用开发者自定义其位置,大小和排版。需要注意的是,由于广告SDK内部需要处理一些广告相关的事件,需要应用开发者通过registerViewForInteraction将最终展现广告的View与原生广告关联起来。
原生广告在发起请求的时候如果使用AdRequestOption.requestCoverImageSize()
指定广告的大小(广告封面大图的大小),广告SDK会找出与该尺寸最接近的广告返回。
注意: 默认情况下,原生广告不会加载图片资源,如有需要,应用开发者可以使用SDK提供的
ImageDownloader
来加载图片资源。
原生广告的使用代码示例如下
final NativeAd nativeAd = new NativeAd(
MainActivity.this);
nativeAd.setAdListener(new AdListener() {
@Override
public void onAdLoaded(UnionAd ad) {
NativeAdAssets assets = nativeAd.getNativeAdAssets();
/* ... */
}
@Override
public void onAdClosed(UnionAd ad) {
}
@Override
public void onAdShowed(UnionAd ad) {
}
@Override
public void onAdClicked(UnionAd ad) {
}
@Override
public void onAdError(UnionAd ad, AdError adError) {
}
});
AdRequest adRequest = AdRequest.newBuilder()
.pub("ssr@debugnative")
.build();
nativeAd.loadAd(adRequest);
更多例子代码请参考: NativeFragment
详见 常见问题和解答