我的应用程序需要是双语的(英语和意大利语)。我正在通过云代码处理推送通知,并尝试根据客户端语言发送不同的通知。我在安装表中创建了一个语言字段并将
[[NSLocale preferredLanguages] objectAtIndex:0];
. 下面的代码有效,但我想知道是否有另一种方法可以做到这一点。我宁愿在查询之前设置“警报”消息,这样我就只有 1 个查询。基本上我需要检查该特定用户的语言字段是否为“它”,然后进行查询。有可能还是我的是唯一的解决方案?
//push test
Parse.Cloud.afterSave("MeetingObject", function(request) {
// user owner of the meeting object
var user = request.object.get("user");
var pushQueryEn = new Parse.Query(Parse.Installation);
pushQueryEn.equalTo("user", user);
pushQueryEn.notEqualTo("language", 'it');
Parse.Push.send({
where: pushQueryEn,
data: {
alert: "English push test",
badge: "Increment",
sound: "cheering.caf",
}
}, {
success: function() {
// Push was successful
console.log(request.object.get("language"));
},
error: function(error) {
console.error("Got an error " + error.code + " : " + error.message);
}
});
var pushQueryIt = new Parse.Query(Parse.Installation);
pushQueryIt.equalTo("user", user);
pushQueryIt.equalTo("language", 'it');
Parse.Push.send({
where: pushQueryIt,
data: {
alert: "Italian push test",
badge: "Increment",
sound: "cheering.caf",
}
}, {
success: function() {
// Push was successful
console.log(request.object.get("language"));
},
error: function(error) {
console.error("Got an error " + error.code + " : " + error.message);
}
});
});