Native Ad API в Microsoft Advertising SDK для UWP не возвращает действительные данные в тестовом режиме

avatar
justanotherxl
8 апреля 2018 в 02:12
190
0
1

Я использую Microsoft Advertising SDK для UWP: https://marketplace.visualstudio.com/items?itemName=AdMediator.MicrosoftAdvertisingSDK и хочу добавить нативную рекламу в свое приложение

Вот код, демонстрирующий проблему:

auto NativeAdManager = ref new Microsoft::Advertising::WinRT::UI::NativeAdsManager("d25517cb-12d4-4699-8bdc-52040c712cab", "10043134");
NativeAdManager->AdReady += ref new Windows::Foundation::EventHandler<Platform::Object^>([](Platform::Object ^ s, Platform::Object ^ ad)
    {
        Platform::String^ Title = static_cast<Microsoft::Advertising::WinRT::UI::NativeAd^>(ad)->Title;
        Platform::String^ desc = static_cast<Microsoft::Advertising::WinRT::UI::NativeAd^>(ad)->Description;
        __debugbreak();
    });
NativeAdManager->ErrorOccurred += ref new Windows::Foundation::EventHandler<Microsoft::Advertising::WinRT::UI::AdErrorEventArgs^>([](Platform::Object^ sender, Microsoft::Advertising::WinRT::UI::AdErrorEventArgs^ e) {
        auto x = e->ErrorMessage;
        __debugbreak();
    });
    NativeAdManager->RequestAd();

После вызова RequestAd() get обработчик события AdReady запускается, как и ожидалось, но проблема в том, что рекламные данные бессмысленны. Например, Title — это nullptr, Description — недопустимый дескриптор строки, AdIcon — недопустимый класс изображения и т. д. Событие ErrorOccurred никогда не срабатывает. В окне вывода отладки Visual Studio также есть какой-то странный вывод:

 info:get_AppId() invoked.  [Windows::ApplicationModel::Store::CurrentAppFactory::get_AppId]
The thread 0x3ce0 has exited with code 0 (0x0).
ERROR:ChkHr(spStoreCommerce->Initialize(HStringReference(wszCV).Get())) (0x803f6107)    [Windows::ApplicationModel::Store::CurrentAppFactory::GetStoreCommerce]
ERROR:ChkHr(GetStoreCommerce(&spStoreCommerce)) (0x803f6107)    [Windows::ApplicationModel::Store::CurrentAppFactory::get_AppId]
 info:GetAppReceiptAsync() invoked. [Windows::ApplicationModel::Store::CurrentAppFactory::GetAppReceiptAsync]
ERROR:ChkHr(spStoreCommerce->Initialize(HStringReference(wszCV).Get())) (0x803f6107)    [Windows::ApplicationModel::Store::CurrentAppFactory::GetStoreCommerce]
ERROR:ChkHr(GetStoreCommerce(&spStoreCommerce)) (0x803f6107)    [Windows::ApplicationModel::Store::CurrentAppFactory::GetAppReceiptAsync]
WLID Error: 80860003Exception thrown at 0x00007FFA59024008 in Advertising.exe: Microsoft C++ exception: Concurrency::task_canceled at memory location 0x00000064AFDFF228.

Что я делаю неправильно?

Источник
Zhendong Wu - MSFT
10 апреля 2018 в 02:16
0

Это известная проблема, и MSFT выпустит еще один выпуск Ads SDK, который должен перестать вызывать эту проблему с собственной рекламой. Пожалуйста, проверьте эту ссылку: social.msdn.microsoft.com/Forums/windowsapps/en-US/…

Ответы (0)