我正在为我的 UWP 应用程序使用原生广告。该应用程序适用于测试广告 ID。但是,当我为发布输入实际值时(注意我描述的问题是针对已发布的应用程序,并且我从 Windows 应用商店下载了该应用程序),它总是返回NoAdAvailable
错误:
private void LoadNativeAd(string adUnit, FrameworkElement adContainer)
{
var adsManager = new NativeAdsManagerV2(NativeAdAppId, adUnit);
adsManager.ErrorOccurred += this.AdsManager_ErrorOccurred;
adsManager.AdReady += (sender, e) =>
{
this.AdsManager_AdReady(adContainer, e);
};
adsManager.RequestAd();
}
private async void AdsManager_ErrorOccurred(object sender, NativeAdErrorEventArgs e)
{
var appFolder = ApplicationData.Current.LocalFolder;
var file = await appFolder.CreateFileAsync("ad.log", CreationCollisionOption.OpenIfExists);
using (var logStream = await file.OpenAsync(FileAccessMode.ReadWrite))
{
using (var streamWriter = new StreamWriter(logStream.AsStreamForWrite()))
{
streamWriter.WriteLine($"{e.ErrorCode}: {e.ErrorMessage} ({e.RequestId})");
}
}
}
对于测试价值,AdsManager_AdReady
效果很好,但具有实际价值(无论是在本地测试还是真实发布的应用程序上)它永远不会被调用。该ad.log
文件的内容如下所示:
NoAdAvailable:没有可用的广告 (2ce6c6c3f848475f8dea0cc3cf2dba97)
应用程序/广告代码已发布数周。它出什么问题了?