gpt4 book ai didi

iOS 检测用户是否与本地通知交互

转载 作者:行者123 更新时间:2023-11-29 02:31:24 24 4
gpt4 key购买 nike

我正在构建一个应用程序,用户必须在收到本地通知后的 5 分钟内完成一项任务。如果任务已完成,则什么也不会发生,但如果任务未完成,则我需要运行解析云代码功能。

我的问题是,如果用户不与本地通知交互,我需要执行解析云功能。但由于 iOS 挑剔的背景模式和多任务处理规则,我在尝试执行此操作时遇到了很多困难。

到目前为止,我的应用运行良好,但如果操作未完成且用户不在应用中,我将无法执行我的代码。

如果有人能指出正确的方向,我将不胜感激。如果您需要更多详细信息,请告诉我!

Cloud Code-如果用户在收到本地通知后五分钟内没有完成任务,我将执行以下云代码:

Parse.Cloud.define("chargeCustomer", function(request, response) {
Stripe.Charges.create({
amount: request.params['amount'],
currency: "usd",
customer: request.params['customerId']
}, {
success: function(customer) {
response.success(charge.id);
},
error: function(error) {
response.error("Error:" +error);
}
})
});

谢谢!

最佳答案

您是否考虑过在 Cloud Code 中运行作业?

假设您创建了一个名为“PushNotification”的新类。假设您向名为“handled”的类添加了一个 bool 列/属性。

当用户获取并查看 PUSH 通知时,您可以更新与该 PUSH 通知对应的“PushNotification”对象并将“handled”设置为 YES/true。

您可以编写一个每 X 分钟运行一次的简单作业。它可能看起来像这样:

Parse.Cloud.job("checkPushes", function (request, status) {
var PushNotification = Parse.Object.extend("pushNotification");
var query = new Parse.Query(PushNotification);
// Limit the query to objects created more than 5 minutes ago
query.lessThan("createdAt", new Date(new Date().getTime() - (1000 * 60 * 5)));
// Limit the query to objects where "actionPerformed" not equal to "true"
query.notEqualTo("handled", true);
query.each(function (pushNotification) {
// Don't forget to set "handled" to true so
// the same items don't keep popping up...
});
});

您可以找到有关 Cloud Code(特别是后台作业)的更多信息 here .

关于iOS 检测用户是否与本地通知交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26819601/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com