تاپیک

تاپیک را می‌توان یک گروه به حساب آورد که کاربران یک اپ را می‌توان به آن اضافه و از آن حذف کرد. شما می‌توانید کاربران خود را در تاپیک یا تاپیک‌های متفاوت ثبت‌نام کنید و برحسب علاقه‌مندی کاربران یا دسته‌بندی خودتان به تاپیک مرتبط پوش بفرستید. مثلا اگر شما اپلیکیشن خبری دارید و کاربرانی به اخبار ورزشی علاقمند هستند و عده‌ای به اخبار فرهنگی، می‌توانید دسته اول را در تاپیک ورزشی و دسته دوم را در تاپیک فرهنگی ثبت‌نام کنید و هنگام ارسال پوش، برحسب محتوای پوش‌تان به تاپیک مرتبط آن را ارسال کنید تا فقط کاربران علاقمند به آن موضوع آن را دریافت کنند.برای استفاده از این امکان باید کاربران خود را در تاپیک مورد نظر عضو کنید.

عضویت کاربر در تاپیک

@objc(subscribe:) func subscribe(to topic: String)

@objc(subscribe::) func subscribe(to topic: String, completionHandler: @escaping (Error?) -> ())

کاربر را به تاپیک‌ مشخص اضافه می‌کند.

پارامتر ورودیاستفاده
topicیک string بیان‌گر عنوان تاپیک موردنظر
let sportTopic = "sport"
PusheClient.shared.subscribe(topic: sportTopic)
// ----------
let sportTopic = "sport"
PusheClient.shared.subscribe(topic: sportTopic, completionHandler: { (error) in
// execute your completion closure here
})

نام تاپیک باید انگلیسی باشد و Regex آن مطابق داکیومنت فایربیس بصورت زیر است:
[a-zA-Z0-9-_.~%]+

لغو عضویت کاربر از تاپیک

@objc(unsubscribe:) func unsubscribe(from topic: String)

@objc(unsubscribe::) func unsubscribe(from topic: String, completionHandler: @escaping (Error?) -> ())

عضویت کاربر در تاپیک را حذف می‌کند.

پارامتر ورودیاستفاده
topicیک string بیان‌گر عنوان تاپیک موردنظر
let topicToRemoveUserFrom = "sport";
PusheClient.shared.unsubscribe(topic: topicToRemoveUserFrom);
// ----------
let topicToRemoveUserFrom = "sport"
PusheClient.shared.unsubscribe(topic: topicToRemoveUserFrom, completionHandler: { (error) in
// execute your completion closure here
})

تاپیک‌هایی که کاربر در حال حاضر در آن‌ها عضویت دارد

@objc(getSubscribedTopics) public func getSubscribedTopics() -> [String]

تاپیک‌هایی که در حال حاضر کاربر در آن‌ها عضویت دارد، را به صورت آرایه‌ای از Stringها برمی‌گرداند.

let subscribedTopics = PusheClient.shared.getSubscribedTopics()