将 Chartboost 与 MoPub 集成

Integrating Chartboost with MoPub

我在集成时遇到问题 steps from MoPub:

  1. 使用 SDK 源进行集成
    • 我将 ChartboostInterstitial.java 和 ChartboostShared.java 添加到 \app\src\main\java\com\mopub\mobileads\
  2. Link第三方SDK
    • 我将 chartboost.jar 添加到 app\libs
    • 我在 dependencies
    • 下添加了 compile files('libs/chartboost.jar')
    • 我按照 Chartboost's integration steps 添加了我的 appID 和 appSignature(第 7 步)

此时我很困惑,因为我已经将我的 appID 和 appSignature 输入到 MoPub 的控制面板中。我删除了 Chartboost.startWithAppId(this, appId, appSignature); 并只保留 onCreate 但 MoPub 的 ChartboostInterstitial class 仍被标记为未使用。 这好像不太对。

有什么想法吗? MoPub 在这方面的文档似乎不清楚。

您需要完成的步骤:

  1. 按照 this document
  2. 中的说明集成 MoPub
  3. 按照this document
    实现你的MoPub Interstitial展示逻辑至此,你应该可以展示MoPub Interstitial了。但是,如果您想调解 Chartboost,您需要执行以下额外步骤。
  4. ChartboostInterstitial.javaChartboostShared.java 添加到您项目的 app/src/main/java/com/mopub/mobileads/
  5. 将 Chartboost SDK 添加到 libs/ 并添加 play-services-ads:8.4.0 作为依赖项。下载 Chartboost SDK jar here
    您无需在代码中导入或调用任何 Chartboost SDK class/method。
  6. 在 MoPub 的控制面板中填写 Chartboost 应用程序 ID 和应用程序签名,并设置插页式广告单元来调解 Chartboost。在您的应用中使用此广告单元来展示插页式广告!

检查您是否添加了所有需要的库,所有 Activity 和在 AndroidManifest.xml 中声明的必需权限。

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" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<application>
    <activity android:name="com.mopub.mobileads.MoPubActivity" android:configChanges="keyboardHidden|orientation|screenSize"/>
    <activity android:name="com.mopub.mobileads.MraidActivity" android:configChanges="keyboardHidden|orientation|screenSize"/>
    <activity android:name="com.mopub.common.MoPubBrowser" 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"/>

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

    <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>
</application>

如果您使用 Gradle,您的 build.gradle 依赖项可能如下所示:

dependencies {
    // ... other project dependencies

    // Compile the chartboost.jar in libs/
    compile fileTree(dir: 'libs', include: ['*.jar']
    // Google Play Services
    compile 'com.google.android.gms:play-services-ads:8.4.0
    //MoPub
    compile('com.mopub:mopub-sdk:4.12.0@aar') {
        transitive = true
    }
    compile('com.mopub:mopub-sdk-interstitial:4.12.0@aar') {
        transitive = true
    }
    compile 'com.mopub.volley:mopub-volley:1.1.0'

    compile 'com.android.support:support-v4:22.0.+'
    compile 'com.android.support:support-annotations:22.0.+'
    compile 'com.android.support:recyclerview-v7:22.0.+'
}