2015-09-22 20 views
9

Tôi đang sử dụng dấu hiệu để xử lý thông báo cho cả trang web và ứng dụng ionic của tôi. Câu hỏi của tôi làThông báo đẩy thiết kế nâng cao nhắm mục tiêu

Tôi có thể thiết lập phân đoạn người dùng bằng cách sử dụng api còn lại của máy chủ không?

Tôi muốn cho người dùng khả năng đăng ký các sự kiện (kênh) cụ thể để giới hạn thông báo đẩy họ nhận được.

Ví dụ

user1 subscribed to group I'd (1,3,8) 
user2 groups(5,8,11) 
User3 groups(12,13) 

Khi sự kiện xảy ra trên nhóm 8.

Làm thế nào tôi có thể gửi thông báo đẩy để tất cả người dùng đăng ký vào nhóm 8? -Trong ví dụ trên của tôi, thông báo phải được gửi đến user1 & user2 nhưng không phải 3.

Trả lời

11

OneSignal hiện không hỗ trợ tạo phân đoạn động qua API, tuy nhiên có cách tốt hơn để thực hiện những gì bạn cần.

Bạn có thể sử dụng tính năng thẻ để chỉ định dữ liệu tùy chỉnh cho người dùng và sau đó bạn có thể gửi thông báo cho người dùng khớp với các thẻ cụ thể. Thẻ thường được đặt bằng cách gọi phương thức SetTags trong ứng dụng của bạn, nhưng chúng cũng có thể được đặt thông qua API OneSignal.

Trong trường hợp của bạn, ví dụ, bạn sẽ gán các thẻ sau đây cho mỗi người dùng:

User1 Tags: group1=true,group3=true,group8=true 
User2 Tags: group5=true,group8=true,group3=true 
User3 Tags: group12=true,group13=true 

Tiếp theo, thông qua API OneSignal, bạn có thể sử dụng "thẻ" để chỉ cung cấp các thông báo cho người sử dụng phù hợp với một hoặc nhiều thẻ.

Bạn cũng có thể tạo phân đoạn cho mỗi thẻ trên trang tổng quan, sau đó thông qua API hoặc thông qua trang tổng quan, bạn có thể chỉ định phân đoạn nào (và do đó thẻ) sẽ nhận được thông báo của bạn.

+0

Tuyệt vời sẽ sử dụng điều đó, nhưng điều đó có ảnh hưởng đến hiệu suất nếu người dùng có quá nhiều thẻ không? – Zalaboza

+0

Không, không mất hiệu suất nếu người dùng có nhiều thẻ. – Gdeglin

+0

"Để có hiệu suất tốt nhất, chỉ sử dụng tối đa 15 thẻ". NGUỒN: https://documentation.onesignal.com/docs/frequently-asked-questions#section-what-is-the-limit-on-the-number-of-customtags-i-can-create-with- onesignal- – Ladmerc

3

Sự cố với phương pháp được vạch ra bởi @Gdeglin là bạn sẽ cần quản lý thông tin nhóm của mình trên cả máy chủ và OneSignal. Khi bạn có 2 nguồn sự thật cho một cái gì đó phức tạp và năng động như các nhóm bạn đang bị ràng buộc để gặp rắc rối.

Ví dụ: điều gì sẽ xảy ra nếu Nhóm 8 bị xóa? Ngoài việc cập nhật cơ sở dữ liệu của riêng bạn, bạn cần sử dụng API để cập nhật tất cả người dùng OneSignal thuộc Nhóm 8. Hãy tưởng tượng rằng nhóm đó chứa 1000 người dùng. Kinh quá.

Thay vì thêm thẻ nhóm, hãy thêm thẻ "userId" vào từng người dùng (Người chơi) đã đăng ký với OneSignal. Bây giờ khi một nhóm thay đổi không có gì để cập nhật với OneSignal.

Sự cân bằng là gửi thư đến mọi người trong nhóm yêu cầu N API gọi OneSignal thay vì chỉ một. Có vẻ như có thể cung cấp nhiều kết quả phù hợp với thẻ trong một cuộc gọi API duy nhất, nhưng nó không rõ ràng quy mô như thế nào.

+1

tôi đồng ý, oneSignal thực sự gây khó khăn cho chúng tôi vì thực tế người dùng có thể rời khỏi nhóm hoặc nhóm có thể thay đổi và người dùng vẫn nhận được thông báo vì anh ấy không đăng nhập sớm để thẻ của anh ấy không được làm mới. – Zalaboza

Các vấn đề liên quan