1

クラウドキットを使用しています。属性として持っているChannelレコードタイプがありisLiveます。チャネルがライブかどうかを示すかのいずれ0かです。1

チャンネルのライブ ステータスが 0 から 1 に変化した場合に、すべてのユーザーに通知を送信したい。

私はこのように CKQuerySubscription を定義しようとしました:

    let liveSubscription = CKQuerySubscription(recordType: "Channel", predicate: NSPredicate(format: "(recordID == '4cebe441-c6f7-47af-85df-e6572e757c5c') AND (isLive == 1)"), options: [.firesOnRecordUpdate])
    let liveNotificationInfo = CKNotificationInfo()
    liveNotificationInfo.shouldSendContentAvailable = false
    liveNotificationInfo.shouldBadge = true
    liveNotificationInfo.alertBody = "Test is live now"
    channelSubscription.notificationInfo = liveNotificationInfo

ただし、これは、このチャネル レコードの更新に関する通知を送信します。isLive述語は気にしません。

isLive0 から 1 への変更についてのみ通知を受け取る方法を教えてください。

それとも、このチャネル レコードですべての更新を受信し、アプリで処理してから、必要に応じてローカル通知を送信する方がよいでしょうか?

4

2 に答える 2