SDK初始化
简介
在调用MG Ads SDK的广告功能之前,首先需要进行SDK的初始化和CMP(Consent Mode Platform)调用,完成后,才可以配合后台系统使用本SDK的全部功能,在进入游戏后立即进行SDK初始化和CMP的调用。
CMP
注意:CMP 窗口弹出后,在用户未做出明确选择前,窗口将保持打开状态。请务必在 CMP 方法执行完毕,再执行其他 SDK 的后续操作。
MainPage :: MainPage()
{
InitializeComponent();
auto opt = ref new MiracleGamesAd::Models::PopupCmpSettingOptions();
opt->IgnoreExpiredCheck = false; //false=用户首次选择后则不再弹出。true=强制弹出
auto initTask = Concurrency::create_task(MiracleGamesAd::ApplicationManager::OpenCmp("YOUR_APP_KEY","YOUR_Secret_Key", opt));
initTask.then([](MiracleGamesAd::Services::Core::Common::AsyncProcessResult^ result)
{
if (result->ReturnValue)//CMP窗口展示成功
{
auto completeState = dynamic_cast<MiracleGamesAd::Models::CmpResult^>(result->Tag);
if (completeState != nullptr)
{
if (completeState->Success)//用户做出了选择
{
auto data = completeState->Payload;//用户的选择结果数据
}
else//用户未作出选择
{
}
}
}
else
{
//CMP窗口展示失败
}
});
}
SDK初始化
MainPage :: MainPage()
{
InitializeComponent();
try
{
Loaded += ref new RoutedEventHandler([this](Object^, RoutedEventArgs^)
{
concurrency::create_task(MiracleGamesAd::ApplicationManager::Initialize("YOUR_APP_KEY","YOUR_Secret_Key")).then([this](MiracleGamesAd::Services::Core::Common::AsyncProcessResult^ result)//初始化接口调用,所需参数在MG广告后台申请创建
{
if (!result->ReturnValue)//初始化回调接口,检测是否初始化完成。
return;
});
});
}
catch (...){}//添加异常处理机制,预防游戏崩溃.
}
没有初始化成功的错误可能如下
● 网络故障,没有正确的网络支持
● UWP应用不支持VPN,本机开启了VPN软件
● AppId错误,请登录开发者后台检查应用设置
● 服务器问题,请检查result的错误信息,及时联系技术支持