Интеграция Smaato Неверный запрос объявления
Я пытаюсь интегрировать Smaato SDK. Я выполнил все шаги в этой документации для отображения рекламы 300x250: https://developers.smaato.com/publishers/nextgen-sdk-android-integration/#integration-android .
class SmaatoTestApplication : Application() {
val consentString = "<gdpr_consent_String>"
override fun onCreate() {
super.onCreate()
// // initialize SDK first!
val config = Config.builder() // log errors only
.setLogLevel(LogLevel.ERROR) // allow HTTPS traffic only
.setHttpsOnly(true)
.build()
// initialize the Smaato SDK
SmaatoSdk.init(this, config, "<publisher_id_number>")
// allow the Smaato SDK to automatically get the user's location
SmaatoSdk.setGPSEnabled(true)
val sharedPref = PreferenceManager.getDefaultSharedPreferences(this)
val editor = sharedPref.edit()
editor.putInt(getString(R.string.shared_preferences_gdpr_applies_key), 1)
editor.putString(
getString(R.string.shared_preferences_tcf_key),
consentString
)
editor.putString("IABUSPrivacy_String", "1YNN"); // for example "1YNN"
editor.commit()
}
}
Я уже объявляю свое приложение в манифесте следующим образом:
android:name=".SmaatoTestApplication"
Разрешения запрашиваются перед запуском первого рекламного вызова:
private fun setupPermissions() {
Dexter.withContext(this)
.withPermissions(
Manifest.permission.INTERNET,
Manifest.permission.ACCESS_NETWORK_STATE,
Manifest.permission.ACCESS_COARSE_LOCATION
)
.withListener(object : MultiplePermissionsListener {
override fun onPermissionsChecked(report: MultiplePermissionsReport) {
if (report.areAllPermissionsGranted()) {
Toast.makeText(
baseContext,
"All permissions granted",
Toast.LENGTH_LONG
).show()
}
initSmaato()
}
override fun onPermissionRationaleShouldBeShown(
p0: MutableList<com.karumi.dexter.listener.PermissionRequest>?,
p1: PermissionToken?
) {
Log.i(TAG, "onPermissionRationaleShouldBeShown: ")
}
})
.check()
}
Затем я инициализирую свое объявление:
fun initSmaato() {
// find bannerView you setup in your activity.xml
val bannerView = findViewById<View>(R.id.bannerView) as BannerView
// load banner with desired size
bannerView.loadAd("131488696", BannerAdSize.MEDIUM_RECTANGLE_300x250)
// You can also set BannerView.EventListener to listen to events describing the advertisement lifecycle:
bannerView.setEventListener(object : BannerView.EventListener {
// banner ad successfully loaded
override fun onAdLoaded(bannerView: BannerView) {
Log.i(TAG, "onAdLoaded: ")
}
// banner ad failed to load
override fun onAdFailedToLoad(bannerView: BannerView, bannerError: BannerError) {
Log.i(TAG, "onAdFailedToLoad: $bannerError")
}
...
})
}
Но ответы на рекламные звонки одинаковы. Ошибка 400 :
onAdFailedToLoad: [INVALID_REQUEST]: Invalid ad request (e.g. PublisherId or AdSpaceId is incorrect).
Кто-нибудь заметил что-то не так с моей интеграцией, пожалуйста?
Я на 100% уверен, что мой AdSpaceId или мой PubisherId в порядке. Я вижу в Charles Proxy, что запрос объявления содержит мою строку согласия gdrp, adspaceid и pubilsherid.