UWP SDK防沉迷

简介

为预防青少年过度游戏,倡导健康游戏习惯,保护未成年人的合法权益。Miracle Games积极响应国家新闻出版总署防沉迷政策要求,开发出网络游戏防沉迷系统 和实名认证系统。

本文介绍了如何对接Miracle Games SDK的实名认证接口,打开实名认证信息登记窗口。

该接口由MiracleGames统一管理,若需要开启防沉迷功能,需要提前联系MG工作人员协助开通

检测玩家是否已进行实名认证

C#CPP

public async void isCertification()
{
	try
	{
		if (!MiracleGames.ApplicationManager.SetupCompletedSuccessfully)
			return;

		var result = await MiracleGames.CertificationManager.GetCertificationStatusAsync();
		if (result.ReturnValue)
		//result.ReturnValue==true:该用户已完成实名认证
		//result.ReturnValue==false:该用户未完成实名认证
	}
	catch (Exception){}//添加异常处理机制,预防游戏崩溃.
}


Platform::String^ MainPage::ShowCertification()
{
	try
	{
		concurrency::create_task(MiracleGames::CertificationManager::GetCertificationStatusAsync())
		 .then([](MiracleGames::Services::Core::Common::AsyncProcessResult^ result)
			{
				 if (result->ReturnValue) 
				 {
					该用户已完成实名认证
				 }
				 else
				 {
					该用户未完成实名认证
				 }

			 });
	}
	catch (...){}//添加异常处理机制,预防游戏崩溃.
return "1";
}

实名认证

打开实名认证信息登记窗口

C#CPP

try
{
	MiracleGames.CertificationManager.OpenCertificationAsync();
}
catch (Exception){}//添加异常处理机制,预防游戏崩溃.

try
{
	MiracleGames::CertificationManager::OpenCertificationAsync();
}
catch (...){}//添加异常处理机制,预防游戏崩溃.

接收认证结果

C#CPP

try
{
	var result = await MiracleGames.CertificationManager.OpenCertificationAsync();
	if (result.ReturnValue)
	{
		//认证完成
	}
}
catch (Exception){}//添加异常处理机制,预防游戏崩溃.
try
{
	concurrency::create_task(MiracleGames::CertificationManager::OpenCertificationAsync())
	 .then([](MiracleGames::Services::Core::Common::AsyncProcessResult^ result)
		{
			 if (result->ReturnValue) 
			 {
				  //returnValue是true则认证成功,其余状况是认证失败或已经认证过
			 }
		 });
}
catch (...){}//添加异常处理机制,预防游戏崩溃.