我一直在尝试创建一个UWP类库,以便让我可以访问Windows 10的本地功能,例如Windows.Security.Authentication.OnlineId。我想获取设备的用户名和ID,以在Unity UWP IL2CPP项目中使用。目前,我能够通过Unity内置的ios社交类来实现此操作,并且谷歌编写的代码允许使用相同的类轻松地实现这一点,但用于android的Google Play Games。
我从Github上下载了一个示例(https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/WebAccountManagement),演示了如何在UWP应用程序中调用相关类和函数,而且效果很好,但是示例似乎正在访问"Windows.Foundation.UniversalApiContract"类中的类。
我似乎找不到将其添加到基本的UWP类库中以便我可以调用所需类(例如Windows::Security::Credentials::WebAccountProvider)的方法。
我最好的做法就是在类库中创建一个基本函数,该函数返回一个小的硬编码字符串,只是为了测试这个概念是否可能。
extern "C" __declspec(dllexport) wchar_t* __stdcall GetMyString()
{
wchar_t* myString = L"Guuuper";
auto resultBufferLength = wcslen(myString) + 1;
wchar_t* result = static_cast<wchar_t*>(CoTaskMemAlloc(resultBufferLength * sizeof(wchar_t)));
wcscpy_s(result, resultBufferLength, myString);
return result;
}
我在尝试实现这个过程的整个旅程可以在这里找到:- http://forum.unity3d.com/threads/returning-c-string-to-il2cpp-windows-store-project.395284/
我已经成功地通过UWP版本从unity中调用了这段代码,但我的主要问题是如何添加适当的引用或者创建这个类库来访问WebAccountProvider类?
非常感谢任何帮助。
更新:我在他们自己的网站上向 MS 团队询问了这个挑战,并且他们似乎正在寻找一个解决方案。