loadPlacementWithID方法中的Error介绍

该文档主要介绍请求广告方法(以下简称loadAd方法)中的error都有哪些种类及触发条件。

完整的请求广告方法如下:


NSError* error; 

VungleSDK* sdk = [VungleSDK sharedSDK]; [sdk loadPlacementWithID:"YOUR_INTERSTITIAL_PLACEMENT_ID" error:&error];

1. Error Code: 0, Error Mesage:(null)

该错误代码,代表loadAd方法成功触发了并发送http request给Vungle Server。
情况1:如果Delegate vungleAdPlayabilityUpdate 在3秒左右内(根据网速不同,需要的时间不同)返回如下结果:
Placement ID:YOUR_PLACEMENT_ID, Error Code:0, Error Message:(null), isAdPlayable:0
该结果则代表,服务器没有给广告填充。在一段时间内(一般为10分钟-30分钟)请求广告的话,会触发Error Code 15。
情况2:如果Delegate vungleAdPlayabilityUpdate 在1-2分钟左右内(根据网速不同,需要的时间不同)返回如下结果:
Placement ID:YOUR_PLACEMENT_ID, Error Code:0, Error Message:(null), isAdPlayable:1
该结果则代表,服务器返回一条可用广告给SDK且已经成功下载。

2. Error code: 14 , Error Mesage:SDK hasn't yet initialized. Wait for `vungleSDKDidInitialize` callback

该错误类型,发生在初始化未成功时。Vungle的初始化方法,属于耗时操作。在初始化成功之前,调用loadAd方法会立刻返回该错误。且不会触发Delegate vungleAdPlayabilityUpdate。
解决方法1:在初始化成功回调后或在初始化成功回调内,调用loadAd方法。
解决方法2:在调用该方法前,调用sdk.isInitialized方法来检查是否初始化成功。

3. Error Code: 15, Error Mesage:VungleSDK placement with the ID `YOUR_PLACEMENT_ID` is sleeping

Vungle SDK在某些时候,无法保证100%的填充。在未给填充时,会被服务器返回一个sleep值。出在sleep状态下,调用loadAd方法,则会触发该错误。
该错误触发后,Deleage vungleAdPlayabilityUpdate也会触发。返回结果如下:
Placement ID:YOUR_PLACEMENT_ID, Error Code:0, Error Message:(null), isAdPlayable:0
解决方法:如果处于测试阶段,可以考虑使用测试模式或者测试设备来避免该问题。

4. Error Code: 13, Error Mesage:VungleSDK didn't find a matching `placementID` for `NOT_YOUR_PLACEMENT_ID`

该错误代码,代表使用了一个错误的placement ID来进行请求广告。
解决方法:使用正确的Placement ID.

5. Error Code: 17, Error Mesage:There is not enough file system size on a device to request an ad: PlacementID: `YOUR_PLACEMENT_ID`.

该错误代码,出现在设备存储空间不足。
解决方法:默认需要50M的储存空间来缓存广告。该行为为期待行为,无需解决。

6. Error Code: 19, Error Mesage:Banner size is not specified to request an ad for Placement ID: `YOUR_PLACEMENT_ID`

该错误代码,只出现在Banner广告。当该placement是非Banner类型的Placement ID。

7. Error Code: 19, Error Mesage:Banner size specified does not match one of supported banner size to request an ad for Placement ID: `YOUR_PLACEMENT_ID`

该错误代码,只出现在Banner广告。当loadAd方法中传入的size,不属于以下类型:kVNGAdSizeBanner,kVNGAdSizeBannerShort,kVNGAdSizeLeaderboard

8. Error Code: 20, Error Mesage:SDK detects an ad is cached for this placemcent, but different ad size. SDK will request with new ad size. PlacementID = `YOUR_PLACEMENT_ID`

该错误代码,只出现在Banner广告。当调用loadAd方法时,该Placement下有已经缓存好的广告,但尺寸不符合要求。

Questions?

Need further assistance, feel free to reach out to us, we’re here to help!

这篇文章有帮助吗?