如何知道在Pubnub中取消订阅频道请求是否成功



当我从应用程序注销时,我正试图取消订阅PubNub频道,就像一样

client?.unsubscribeFromAll()

我的问题是,我不能确定取消订阅渠道的过程是否成功!

错误、成功没有完成处理程序。

所以我的问题是,我如何才能确定从取消订阅渠道的过程?

编辑

我在我的Pubnub频道中发送推送通知,所以我想在用户注销后再也不会收到推送通知了,所以我决定取消订阅该频道,但似乎

client?.unsubscribeFromAll()

不起作用,因为尽管我从应用程序中注销,但我仍然会收到推送通知,所以你知道如何取消订阅PubNub频道吗?这样我在从应用程序注销后就不会收到推送消息了?

要弄清楚这一点,您应该使用委托用来跟踪客户端状态变化的相同回调,如下所示:

func client(client: PubNub!, didReceiveStatus status: PNSubscribeStatus!) {
    if status.operation == .UnsubscribeOperation {
        if !status.error { /* Handle successful unsubscription. */ }
        else { /* Handle unsubscription error. */ }
    }
}

在以下情况下使用回调:状态更改、存在和消息到达,因为可能很少有观察者想知道这一点。其他操作通常基于上下文,在这些情况下,完成块就足够了。

编辑
实时通道和推送通知启用/禁用-彼此不链接,如果已明确启用推送通知,也应手动禁用它们。取消订阅只是与实时数据通道断开连接。

使用以下代码禁用指定devicePushToken:的所有推送通知

client?.removeAllPushNotificationsFromDeviceWithPushToken(devicePushToken, andCompletion: { (status) in
    if !status.error { /* Handle push notification disable completed successfully. */ }
    else { /* Handle push notification disable did fail. */ }
})

致以最良好的问候,
Sergey

最新更新