新一代SDK | 安卓 | MoPub对接

将MoPub作为首要广告服务器的对接说明

(安卓新一代SDK版本21.3.6

在开始对接前,请确认:

您已经将MoPub作为聚合平台接入您的项目中。 如果不是,请查看MoPub文档
您有Smaato SPX账户并创建了必需的广告位。 如果不是,请查看我们的SPX文档

GDPR重要说明

作为媒体,您应该集成Consent Management Platform CMP(同意管理平台)和 IAB Europe’s Mobile In-App CMP API v1.0(IAB欧洲移动应用CMP v1.0). 您可以在以下网址找到基于web的CMP的参考实现和相应的原生包装器: GDPR-透明度-和-权限-框架.

如果您想嵌入自己的自定义CMP,则需要使用以下密钥以收集用户同意信息储存在 SharedPreferences 字段中:

密钥 描述
IABConsent_CMPPresent Boolean

如果应用程序中含有符合IAB规范的CMP,则设置为“YES”。

IABConsent_SubjectToGDPR String

1” = 以GDPR为准
0” = 不受GDPR限制
-1” = 未定(初始化之前的默认值)

IABConsent_ConsentString

String

当使用符合IAB规范的CMP(同意管理平台)时,Base64编码的权限字符串,详见于Consent string and vendor list format v1.1(权限字符串和供应商名单格式v1.1)
IABConsent_ParsedPurposeConsents String 当使用符合IAB规范的CMP(同意管理平台)时,由“0”和“1”组成的字符串,位于位置N的字符说明了purposeID N的权限状态,详见于Global Vendor List(全球供应商名单)
IABConsent_ParsedVendorConsents

String

当使用符合IAB规范的CMP(同意管理平台)时,由“0”和“1”组成的字符串,位于位置N的字符说明了verdorID N的权限状态,详见于Global Vendor List(全球供应商名单)

CCPA重要说明

加州消费者隐私法案(CCPA)的创建旨在为加州消费者提供更大的透明度和对其个人信息的控制。CCPA是美国首创的此类法规,旨在制定适用于加利福尼亚州管辖范围内开展业务的所有行业的广泛隐私和数据保护规则,而不是着眼于单个行业或特定数据收集和使用惯例。

有关CCPA法规的更多信息,请查看文章California Consumer Privacy Act (CCPA) – FAQ。您还可以查看IAB的美国隐私字符串文档。

如果您的产品有加利福尼亚州用户

作为开发者,您需要确保征询加利福尼亚州用户对私有数据传输的意见(同意或拒绝/选择退出或选择加入)。此答案应使用iAB US Privacy String格式以键“IABUSPrivacy_String”保存在SharedPreferences中。

Smaato新一代SDK会自动读取储存在SharedPreferences中的信息。以下为代码样例。


SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(context)
SharedPreferences.Editor editor = sharedPref.edit();
editor.putString("IABUSPrivacy_String", "1YNN"); // for example "1YNN"
editor.commit();

全屏广告位重要说明

目前,Smaato新一代SDK中,插屏广告兼容全屏广告位。在使用Smaato新一代SDK时,您需要在SPX中选择Interstitial (Display & Video)来变现您的全屏广告位。其余的所有选项此时都会无效。

请检查您的SPX账户中的Interstitial (Display & Video) 是否存在。如果您没有在广告格式的下拉菜单中看到Interstitial (Display & Video)选项,请联系您的Smaato客户经理启动该选项。

  • 当在SPX中创建您的全屏广告位时,选择广告格式中的Interstitial (Display & video)选项。 (图片1)
  • 对于广告素材类型,您有三种选项:(图片2):
    • Display Only将只支持富媒体广告。
    • Video Only将只支持视频广告。
    • Display and Video会支持富媒体和视频广告。

图片1:广告格式下拉选项

图片2:广告素材类型下拉选项

广告测试

Publisher ID: 1100042525  
广告位ID 类型 描述
130626424 富媒体 横幅广告/中等矩形/Leaderboard/Skyscraper
130635694 静态图 横幅广告/中等矩形/Leaderboard/Skyscraper
130635706 MRAID 横幅广告/中等矩形/Leaderboard/Skyscraper
130626426 富媒体/视频 插屏(视频(有end-card) +富媒体插屏320×480,480×320,1024×768 & 768×1024)
130626427 视频 可跳过视频
130626428 激励广告 激励视频
130635048 激励广告 激励视频(无end-card)

MoPub面板创建

1. 前往MoPub面板 –https://app.mopub.com/networks

2. 点击”New network“按钮

3. 从列表底部选择”Custom SDK network

4. 在下面两个页面中设定目标参数

5. 在”App & ad unit setup“中,完成以下设定:

    • Custom event classes:
      • 横幅: com.mopub.mobileads.SMAMoPubSmaatoBannerAdapter
      • 插屏: com.mopub.mobileads.SMAMoPubSmaatoInterstitialAdapter
      • 激励视频: com.mopub.mobileads.SMAMoPubSmaatoRewardedVideoAdapter
    • Custom event class data:
      •  {“adspaceId":"<YOUR_SPX_ADSPACE_ID>"}

SDK对接

设置您的安卓项目

添加以下储存库设置到您项目的主build.gradle文件中:

allprojects {
    repositories {
        google()
        jcenter()
        maven {
            url "https://s3.amazonaws.com/smaato-sdk-releases/"
        }
    }
}

设定编译选项为Java 8,(将下列语句放入您应用模块中的build.gradle文件中):

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

对接选项

该对接目前支持MoPub SDK版本5.8.0

由于SDK模块化结构,您可以选择不同的对接方式。以下为一些应添加到您的build.gradle文件中的配置示例。

横幅(支持富媒体)

build.gradle

implementation 'com.smaato.android.sdk:mopub-banner-adapter:21.3.6'

插屏(支持富媒体和视频)

build.gradle

implementation 'com.smaato.android.sdk:mopub-interstitial-adapter:21.3.6'

插屏(仅支持富媒体)

build.gradle

implementation 'com.smaato.android.sdk:mopub-interstitial-adapter:21.3.6' {
   exclude module: "module-video"
}

插屏(仅支持视频)

build.gradle

implementation 'com.smaato.android.sdk:mopub-interstitial-adapter:21.3.6' {
   exclude module: "module-richmedia"
}

激励视频h3>

build.gradle

implementation 'com.smaato.android.sdk:mopub-rewarded-video-adapter:21.3.6'

权限

添加下列权限到您应用中的AndroidManifest.xml文件:

强制性权限:

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

选择性权限:

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

如果您的应用面向安卓5.0 (API等级21) 或者更高,需要添加以下语句到您应用中的AndroidManifest.xml文件:

<uses-feature android:name="android.hardware.location.network" />

如果您的应用面向安卓9 Pie (API等级28) 或者更高,为了发送HTTP请求(投放更多广告),需要配置AndroidManifest.xml文件中application标签里的networkSecurityConfig属性:

android:networkSecurityConfig="@xml/network_security_config"

然后在XML resource目录中创建network_security_config.xml

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true" />
</network-security-config>

更多细节请参考Network security configuration, 官方Google文件链接:https://developer.android.com/training/articles/security-config

SDK初始化

初始化Smaato SDK,请将以下语句添加到您的Application.OnCreate()方法中:

SmaatoSdk.init(this, publisherId);

可选配置
您可以通过传递Config参数到init方法来为SDK配置额外的参数。

Config config = Config.builder()
        .setLogLevel(LogLevel.INFO)
        .setHttpsOnly(false)
        .build();
 
SmaatoSdk.init(this, config, publisherId);

此外,如果您有用户信息,我们推荐您通过以下接口传递给Smaato SDK:

SmaatoSdk.setKeywords(...);
SmaatoSdk.setSearchQuery(...);
SmaatoSdk.setGender(...);
SmaatoSdk.setAge(...);
SmaatoSdk.setLatLng(...);
SmaatoSdk.setRegion(...);
SmaatoSdk.setLanguage(...);
SmaatoSdk.setZip(...);
SmaatoSdk.setCoppa(...);
SmaatoSdk.setGPSEnabled(...);
SmaatoSdk.setWatermarkEnabled(...);

支持的回调

横幅

回调信息 原因
onBannerLoaded 当广告响应成功会触发。
onBannerFailed 当广告请求失败或广告过期会触发。
onBannerClicked 当广告的点击活动被记录会触发。
onBannerImpression 当广告展示成功会被触发。

插屏回调

回调信息 原因
onInterstitialLoaded 当广告响应成功会触发。
onInterstitialFailed 当广告加载或展示出现错误或广告过期会触发。
onInterstitialShown 当全屏插屏广告打开时会触发。
onInterstitialDismissed 当全屏插屏广告关闭时会触发。
onInterstitialClicked 当用户点击广告时会触发。
onInterstitialImpression 当广告展示成功会触发

激励视频回调

回调信息 原因
onRewardedVideoLoadSuccess 当激励视频广告响应成功会触发。
onRewardedVideoLoadFailure 当广告加载或展示出现错误或广告过期会触发。
onRewardedVideoPlaybackError 当激励视频广告回放出现错误会触发。
onRewardedVideoClosed 当激励视频广告关闭时会触发。
onRewardedVideoClicked 当激励视频广告被点击时会触发。
onRewardedVideoStarted 当激励视频广告开始播放时会触发。
onRewardedVideoCompleted 当激励视频广告播放完毕且应给予用户奖励时会触发。

Modified: March 25, 2020 at 12:20 pm