yandexmobile / yandex-ads-sdk-ios

Yandex Mobile Ads SDK iOS
https://yandex.com/dev/mobile-ads/
Other
40 stars 9 forks source link

Class coordinator #231

Closed EvelinaAlexey closed 2 months ago

EvelinaAlexey commented 4 months ago

final class InterstitialViewController: UIViewController, InterstitialAdDelegate {

private var interstitialAd: InterstitialAd?

private lazy var interstitialAdLoader: InterstitialAdLoader = {
    let loader = InterstitialAdLoader()
    loader.delegate = self
    return loader
}()

func loadAd() {
    let configuration = AdRequestConfiguration(adUnitID: "demo-interstitial-yandex")
    interstitialAdLoader.loadAd(with: configuration)
}

func showAd() {
    interstitialAd?.show(from: self)
}

override func viewDidLoad() {
    super.viewDidLoad()
    loadAd()
}

}

extension InterstitialViewController: InterstitialAdLoaderDelegate { func interstitialAdLoader(_ adLoader: InterstitialAdLoader, didLoad interstitialAd: InterstitialAd) { self.interstitialAd = interstitialAd self.interstitialAd?.delegate = self

    showAd()
}

func interstitialAdLoader(_ adLoader: InterstitialAdLoader, didFailToLoadWithError error: AdRequestError) {
    print("aaa")
}

}

struct AdsView: UIViewControllerRepresentable {

typealias UIViewControllerType = InterstitialViewController
func makeUIViewController(context: Context) -> InterstitialViewController {

    let configuration = InterstitialViewController()
    configuration.loadAd()

    return configuration
}

func updateUIViewController(_ uiViewController: InterstitialViewController, context: Context) {

}

class Coordinator: NSObject, InterstitialAdDelegate {

}

func makeCoordinator() -> Coordinator
{
    Coordinator()
}

}

Здравствуйте, подскажите, как реализовать данный код при помощи Coordinator, чтобы межстраничная реклама открывалась при нажатии кнопки в ContentView на SwiftUI? Или это реализуется другим способом? Извините за беспокойство

mobile-ads-github commented 4 months ago

Спасибо за Ваше обращение, для разбора создана задача с номером PCODESUP-3438. Мы ознакомимся и вернемся с ответом в течение 2 дней, возможно запросим дополнительную информацию.

Thank you for your message, a task with the number PCODESUP-3438 has been created for analysis. We will get acquainted and return with the answer within 2 days, we may request additional information.

mobile-ads-github commented 4 months ago

Здравствуйте, Начиная с версии sdk 7.1.0 для использования со swiftUI есть возможность передать nil при вызове метода show(from:) для InterstitialAd, RewardedAd, AppOpenAd.

EvelinaAlexey commented 4 months ago

Здравствуйте, Начиная с версии sdk 7.1.0 для использования со swiftUI есть возможность передать nil при вызове метода show(from:) для InterstitialAd, RewardedAd, AppOpenAd.

Понял, спасибо, получается могу не использовать координатор?

mobile-ads-github commented 4 months ago

Здравствуйте, Начиная с версии sdk 7.1.0 для использования со swiftUI есть возможность передать nil при вызове метода show(from:) для InterstitialAd, RewardedAd, AppOpenAd.

Понял, спасибо, получается могу не использовать координатор?

Добрый день, вы также открыли issue https://github.com/yandexmobile/yandex-ads-sdk-ios/issues/232 . Подскажите пожалуйста, испытываете ли вы сейчас проблемы с интеграцией? Если, да - пришлите код интеграции/сэмпл, который приводит к этой ошибке.