Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在UWP中获取Windows应用商店(非本地)帐户名?_C#_Uwp - Fatal编程技术网

C# 如何在UWP中获取Windows应用商店(非本地)帐户名?

C# 如何在UWP中获取Windows应用商店(非本地)帐户名?,c#,uwp,C#,Uwp,我目前正在开发一个UWP应用程序,我想从商店中获取用户名(用于分析) 我想将其保存在数据库中,并在应用程序打开时更新日期时间,这将为我提供应用程序见解。如何在Windows应用商店帐户上获取用户名(或将用户与其他用户分开的唯一ID)。 我不想保存本地帐户名,正如其他问题中所描述的那样。 提前感谢。使用ApplicationData.Current.RoamingFolder存储要为用户保留的信息。为了能够区分不同的用户,请将唯一的id保存到此文件夹,这样您就可以开始了 public async

我目前正在开发一个UWP应用程序,我想从商店中获取用户名(用于分析)

我想将其保存在数据库中,并在应用程序打开时更新日期时间,这将为我提供应用程序见解。如何在Windows应用商店帐户上获取用户名(或将用户与其他用户分开的唯一ID)。 我不想保存本地帐户名,正如其他问题中所描述的那样。
提前感谢。

使用
ApplicationData.Current.RoamingFolder
存储要为用户保留的信息。为了能够区分不同的用户,请将唯一的id保存到此文件夹,这样您就可以开始了

public async Task<string> GetUserIdAsync()
{
    var fileName = "user_id";
    var folder = ApplicationData.Current.RoamingFolder;
    var file = await folder.TryGetItemAsync(fileName);
    if (file == null)
    {
        //if file does not exist we create a new guid
        var storageFile = await folder.CreateFileAsync(fileName);
        var newId = Guid.NewGuid().ToString();
        await FileIO.WriteTextAsync(storageFile, newId);
        return newId;
    }
    else
    {
        //else we return the already exising guid
        var storageFile = await folder.GetFileAsync(fileName);
        return await FileIO.ReadTextAsync(storageFile);
    }
}
公共异步任务GetUserIdAsync() { var fileName=“user\u id”; var folder=ApplicationData.Current.RoamingFolder; var file=await folder.TryGetItemAsync(文件名); if(file==null) { //如果文件不存在,我们将创建一个新的guid var storageFile=await folder.CreateFileAsync(文件名); var newId=Guid.NewGuid().ToString(); wait FileIO.WriteTextAsync(storageFile,newId); 返回newId; } 其他的 { //否则我们将返回已经存在的guid var storageFile=await folder.GetFileAsync(文件名); 返回wait FileIO.ReadTextAsync(存储文件); } }
您可以将包含唯一ID的文件保存到
ApplicationData.Current.RoamingFolder
文件夹中。此文件夹跨同一用户的所有设备同步,因此允许您进行查看。如果你想要一个库来为你提供洞察,你也可以查看hockeyapp(),希望它能支持uwp应用,因为我认为它是hockeyapp的下一个级别,所以我现在将把这些数据写入数据库。此外,在文档中搜索“ApplicationData.Current.RoamingFolder”似乎不会返回唯一的内容。你知道我应该使用哪种财产吗?谢谢它只是一个普通的文件夹;因此,您可以创建一个文件
user\u id
,用Guid填充该文件以标识您的用户。我要做一个简短的例子,把它作为答案贴出来,把它标记为答案!谢谢,谢谢,谢谢!!!