我希望在解析云和某些条件下为我的游戏托管几个级别。
首先,如何下载任何用户可以访问的文件?
更新:好的,我已经创建了一个自定义类,并添加了一个包含文件类型的列并上传了我的文件。
其次,如何创建一个API来检查特定用户的某些条件,如果满足这些条件,则允许并开始下载?
编辑(更多信息):假设我有一个按钮可以下载一些文件。当用户按下它时,我希望Parse检查Cloud Code中的某些条件,如果满足它们,它将开始下载,否则将告诉用户它还不可能。
Edit2:似乎我被禁止提出这个问题,但我不知道如何更清楚。实际上,我已经找到了方法。所以这是我正在寻找的答案,现在你可以看到我表达自己的正确。
我所做的是在云代码中编写了一个简单的函数,如下所示:
Parse.Cloud.define("check", function(request, response) {
var user = Parse.User.current();//request.user;
if (user != null) {
var field1 = user.get("field1");
var field2 = user.get("field2");
console.log(field1);
console.log(field2);
response.success(field1 < field2);
} else {
response.error("user isn't logged in");
}
});
然后在我的应用程序中,我只需执行以下操作:
if let cloudCheck = PFCloud.callFunction("check", withParameters: nil) as? Bool {
//download files if cloudCheck is true
}
答案 0 :(得分:1)
根据您的问题,回答非常困难,因为您没有提供有关实际问题的大量信息。
但是,如果您只是想检查用户是否已解锁level2,您可以在用户类中创建一个新字段,如果用户已解锁level2则输入YES,否则输入NO(对于示例):
[[PFUser currentUser] setObject:@"YES" forKey:@"UnlockedLevel1"];
然后只需检查每个用户该字段是返回YES还是NO:
NSString *unlockedLevel1 = [[PFUser currentUser] objectForKey:@"UnlockedLevel1"];
if ([unlockedLevel1 isEqualToString:@"YES"]) {
//User unlocked the level
}
同样,您也可以简单地将NSArray
保存在“unlockedLevels”字段中,在该字段中存储用户的所有未锁定级别,然后,当您要检查用户是否已解锁某个级别时,您只需收集该数组并检查相应级别是否在数组中。
编辑:因此,您有用户点击下载按钮,然后您想检查是否允许他们下载您的文件。假设一个用户被允许下载文件,如果他以某种方式解锁它(通过购买或其他......)。用户解锁文件的那一刻,您将新对象存储在属于该用户的字段中:
[[PFUser currentUser] setObject:@"YES" forKey:@"downloadAllowed"];
当同一个用户想要下载该文件时,您检查该用户是否允许下载(您只需检查您的具体情况):
NSString *downloadAllowed = [[PFUser currentUser] objectForKey:@"downloadAllowed"];
if ([downloadAllowed isEqualToString:@"YES"]) {
//User unlocked the download
} else {
//This user is not allowed to download the file
}
请注意,代码与以前完全相同!您对问题的编辑根本没有改变您的问题,仍然可以使用完全相同的代码来回答。也许你应该添加更多关于你的病情的信息。如果由于它们的性质而无法将它们存储在PFUser对象中,那么知道这将是有用的。 ; - )