IMAAdsLoader Ошибка в Swift, но не Цель C - PullRequest
1 голос
/ 07 июля 2019

Я использую фреймворк GoolgeInteractiveMediaAds в tvOS. В самом начале процесса я получаю сообщение об ошибке от делегата: Error loading ads: nil. Я также загрузил образец проекта Google, написанный на Objective C, который работает без ошибок. На данном этапе кода крайне мало, и я сравнил два проекта и не вижу различий, имеющих значение с точки зрения AppDelegate и Info.plist (единственное отличие заключается в том, что проект Swift начинается с раскадровки).

Ниже приведена общая сумма кода. При запуске setUpAdsLoader немедленно попадает в делегат с ошибкой, который вы видите внизу. Сокращение их образца проекта Objective C только до этих строк не приводит к этой ошибке.

import UIKit
import GoogleInteractiveMediaAds

class ViewController: UIViewController, IMAAdsLoaderDelegate {

private var adsLoader: IMAAdsLoader?

override func viewDidLoad() {
    super.viewDidLoad()

    setUpAdsLoader()
}

func setUpAdsLoader() {
    self.adsLoader = IMAAdsLoader(settings: nil)
    self.adsLoader!.delegate = self
}

func adsLoader(_ loader: IMAAdsLoader!, adsLoadedWith adsLoadedData: IMAAdsLoadedData!) {
    // Grab the instance of the IMAAdsManager and set ourselves as the delegate
    //adsManager = adsLoadedData.adsManager
    //adsManager!.delegate = self

    // Create ads rendering settings and tell the SDK to use the in-app browser.
    let adsRenderingSettings = IMAAdsRenderingSettings()
    adsRenderingSettings.webOpenerPresentingController = self

    // Initialize the ads manager.
    //adsManager!.initialize(with: adsRenderingSettings)
}

func adsLoader(_ loader: IMAAdsLoader!, failedWith adErrorData: IMAAdLoadingErrorData!) {
    print("Error loading ads: \(String(describing: adErrorData.adError.message))")
}
}

Обновление: я создал тот же тестовый проект, но на этот раз сделал это, используя Цель C. Работал без ошибок Трудно поверить, что проблема в языке, но мне интересно, есть ли какие-либо различия в настройках XCode между этими двумя языками, которые привели бы к этому?

Ответы [ 2 ]

1 голос
/ 25 июля 2019

Я боролся с этой проблемой сегодня, то, что я нашел, я описал здесь:

https://github.com/googleads/googleads-ima-tvos-client-side/issues/4

TL; DR:

Если возможно, добавьте фразу tvos к идентификатору вашего пакета.

0 голосов
/ 08 июля 2019

От команды IMA SDK в Google:

В настоящий момент, боюсь, мы не сможем оказать вам поддержку в этом документация и пример приложения доступны только для версии Obj-c. был сделан запрос на добавление IMA SDK для версии Swift tvOS. Тем не менее, я не могу дать точную дату, когда это будет доступно.

Так что мы можем застревать, кодируя эту часть в Задаче C в обозримом будущем.

Обновление от команды IMA, которое теперь указывает, что это на самом деле ошибка в их SDK.

Я уже говорил об этом остальной части команды. Согласно обсуждению, это Кажется, это ошибка на нашей стороне SDK, и это уже было передано наша инженерная команда для дальнейшего расследования. Я обновлю это Тема для любого отзыва доступны

...