yandexmobile / yandex-ads-flutter-plugin

Flutter plugin for Yandex Mobile Ads SDK. This plugin allows Flutter developers to easily integrate Yandex Mobile Ads SDK on Android and iOS apps.
Other
11 stars 2 forks source link

iOS краш из-за AppLovinSdk медиации #50

Closed vanyasem closed 1 week ago

vanyasem commented 1 week ago

В последней версии yandex_mobileads: 7.5.0 при использовании адаптера автоматического подключения всех медиаций на iOS начинает крашиться приложение со следующим сообщением:

[AppLovinSdk] DEBUG [ALSdk] 
========================================
SDK Session Begin
========================================
[AppLovinSdk] DEBUG [ALSdkInitializationConfiguration] Initializing with key: REDACTED FOR PRIVACY
[AppLovinSdk] ERROR [ALSdk] Invalid initialization process: please remove the AppLovinSdkKey entry from your Info.plist and set your SDK key with the ALSdkInitializationConfiguration object.
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid initialization process: please remove the AppLovinSdkKey entry from your Info.plist and set your SDK key with the ALSdkInitializationConfiguration object.'
*** First throw call stack:
(0x1942407cc 0x1915132e4 0x19433b748 0x10262994c 0x1055b2ecc 0x1055a3f68 0x106644c74 0x1056a9f00 0x105378a30 0x10537a71c 0x10538ade8 0x10538a9a4 0x194214204 0x194211440 0x194210830 0x1e01f01c4 0x196d76eb0 0x196e255b4 0x19715ffa8 0x105580a98 0x105580a10 0x105580b14 0x1b9bfeec8)
[AppLovinSdk] DEBUG [ALHealthEventsReporter] integration_error reported with code 200 and extra parameters {
    legacy = true;
    source = initializeWithConfiguration;
}
[AppLovinSdk] DEBUG [ALHealthEventsReporter] crash reported with code 204 and extra parameters {
    "top_main_method" = "NSInternalInconsistencyException Invalid initialization process: please remove the AppLovinSdkKey entry from your Info.plist and set your SDK key with the ALSdkInitializationConfiguration object.";
}
[AppLovinSdk] DEBUG [ALHealthEventsReporter] integration_error reported with code 204 and extra parameters {
    legacy = true;
    source = initializeWithConfiguration;
}
[AppLovinSdk] DEBUG [ALHealthEventsReporter] crash reported with code 200 and extra parameters {
    "top_main_method" = "NSInternalInconsistencyException Invalid initialization process: please remove the AppLovinSdkKey entry from your Info.plist and set your SDK key with the ALSdkInitializationConfiguration object.";
}
libc++abi: terminating due to uncaught exception of type NSException

В моем случае в Info.plist находится ключ AppLovinSdkKey в котором указан SDK ключ AppLovin

В обновлении AppLovin iOS SDK 12.3.1, был представлен новый способ инициализации SDK: https://developers.applovin.com/en/max/ios/overview/new-sdk-initialization-api/

При этом в документации к адаптеру медиации AppLovin до сир пор указано о необходимости сконфигурировать Info.plist: https://ads.yandex.com/helpcenter/ru/dev/flutter/applovin

Подскажите, как теперь корректно указывать Applovin_SDK_key , чтобы приложение не крашилось?

Из Podfile.lock:

  - AppLovinSDK (12.6.1)
  - AppLovinYandexMobileAdsAdapters (12.6.1.4):
    - AppLovinSDK (~> 12.6.1)
    - YandexMobileAds (= 7.6.1)

Связано с https://github.com/yandexmobile/yandex-ads-sdk-ios/issues/260

vanyasem commented 1 week ago

Решение: убрать с клиентской (мобильной) стороны ключ AppLovinSdkKey или ALSdkKey из Info.plist Ключ SDK для AppLovin задавать в личном кабинете РСЯ в настройках медиации:

Screenshot 2024-11-13 at 03 19 49

Проверить что всё сработало можно из логов Xcode - при инициализации придет сообщение, которое подтвердит, что ключ прилетел:

[AppLovinSdk] DEBUG [ALSdkInitializationConfiguration] Initializing with key: здесь будет ключ