【问题标题】:How to block specific user push notification in parse iOS app?如何在解析 iOS 应用程序中阻止特定用户推送通知?
【发布时间】:2016-02-19 00:47:56
【问题描述】:

我正在使用 parse 作为后端服务来开发 iOS 聊天应用程序。如果用户阻止另一个用户,如何防止推送通知?是否可以在解析端过滤此推送通知?

真的提前感谢。

【问题讨论】:

  • 请提供有关您的应用程序结构的更多详细信息,以便社区可以提供更多帮助。这是一个非常开放的问题,可以通过多种方式解决。
  • 这个用例怎么样:在Messenger应用程序中,用户通过PFCloud callFunctionInBackgound发送消息对象和推送通知。接收用户阻止了发件人。这已经删除了他们的“关系”,但不会停止发送通知。
  • 为了进一步解释,被阻止的用户名存储在用户创建的数组中。 iOS Dev,不确定如何获取数组,或者比较用户名以查找是否在 JS(Parse Cloudcode)中被阻止。 @詹姆斯帕克

标签: ios parse-platform


【解决方案1】:

有几种不同的方法可以阻止将推送通知发送给阻止发件人的用户。这实际上取决于您如何处理用户的阻止。

例如,您可以为每个用户添加一个blockedUsernames 数组。如果你这样做了,你可以首先阻止推送通知被发送,方法是交叉检查这个被阻止的用户数组和它被发送到的用户。

// CHECK FOR BLOCKED USERS

    PFUser *currentUser = [PFUser currentUser]; // user sending push
    PFUser *sendPushToUser = //user receiving the push

// Get array of blocked users
    NSMutableArray *blockedUsersArray = sendPushToUser[@"blockedUsers"];

    BOOL blocked = false;
    for (NSString *username in blockedUsersArray) {
        if ([username isEqualToString:currentUser.username]) {
            blocked = true;
        }
    }

     // If the user isn't blocked, send push
    if (blocked == false) {

    [PFCloud callFunctionInBackground:@"sendPushToUser" 
    // more cloud code to handle the notification...

您还可以使用一些 JS 在 Parse Cloud Code 中阻止推送通知。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-23
    • 1970-01-01
    • 2013-02-22
    相关资源
    最近更新 更多