【问题标题】:Set delegate for IronSource mobile ads为 IronSource 移动广告设置委托
【发布时间】:2018-07-01 23:19:14
【问题描述】:

我正在关注这个tutorial,但是我不知道如何设置委托。我已经设置了所有其他内容并且正在显示广告,但是当广告关闭时我无法运行任何代码,因为我不确定如何设置委托。我尝试使用我的广告展示位置名称,但不是这样,所以我不确定在这种情况下我将如何设置代理。

class DetailViewController: ISRewardedVideoDelegate {

@IBAction func ironSourceActionAd(_ sender: Any) {

    IronSource.showRewardedVideo(with:UIViewController(), placement: "DefaultRewardedVideo")
}

public func rewardedVideoHasChangedAvailability(_ available: Bool) {
}

public func rewardedVideoDidEnd() {
}

public func rewardedVideoDidStart() {
}

public func rewardedVideoDidClose() {
    text()
    print("closed")
}

public func rewardedVideoDidOpen() {
   print("Opened")
}

public func rewardedVideoDidFailToShowWithError(_ error: Error!) {
}

public func didReceiveReward(forPlacement placementInfo: ISPlacementInfo!) {
}
public func didClickRewardedVideo(_ placementInfo: ISPlacementInfo!) {
}


override func viewDidLoad() {
    super.viewDidLoad()
    IronSource.initWithAppKey("72c23e35")
  error here//  IronSource.setRewardedVideoDelegate(DetailViewController)
    ISIntegrationHelper.validateIntegration()

}

【问题讨论】:

  • 你解决了这个问题吗?

标签: ios swift delegates ironsource


【解决方案1】:

The tutorial's Step 2 教授如何设置委托。看来您需要先完成Step 2,然后再完成Step 3,然后再完成Step 4

【讨论】:

  • 是的,问题是我不知道如何正确设置代理
【解决方案2】:

可能是您没有设置 UserID。来自 Ironsource 帮助文档:

确保您在初始化 ironSource SDK 之前设置了用户 ID,以便成功奖励您的用户。

这是我在 viewDidLoad 函数中的做法:

    // Ironsource set up
    IronSource.setRewardedVideoDelegate(self)

    let userID = IronSource.advertiserId() // Ironsource generates a userID automatically for each user
    IronSource.setUserId(userID)

    let appKey = "xxxxxxx" // from my Ironsource dashboard
    IronSource.initWithAppKey(appKey, adUnits: [IS_REWARDED_VIDEO])

【讨论】:

  • 如果我的应用有自己的 userId,我应该忽略调用 advertiserId() 函数
  • @Learn2Code 恐怕我不能,因为我不再使用奖励视频并删除了此代码。
  • 我不断收到此错误Error Domain=Supersonic.com Code=508 "Rewarded Video Show Fail - Show Rewarded Video cannot be called before Init is complete" UserInfo={NSLocalizedDescription=Rewarded Video Show Fail - Show Rewarded Video cannot be called before Init is complete} 你知道我需要做什么来解决吗?
  • @Learn2Code 我不知道,但是您有一个错误代码和一个相当明确的错误消息,因此请联系 Ironsource 支持并询问他们。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-05-19
  • 2013-07-09
  • 2022-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多