版權歸原作者所有,如有侵權,請聯(lián)系我們

[科普中國]-通知系統(tǒng)

科學百科
原創(chuàng)
科學百科為用戶提供權威科普內容,打造知識科普陣地
收藏

通知系統(tǒng)的定義

通知系統(tǒng),顧名思義即通知信息的傳達處理系統(tǒng)。目的是為了讓用戶獲得需要得到的消息及提醒并進行處理。 這里的“需要得到”有兩層意思1

1、用戶彼此互動觸發(fā)的信息流(留言、評論或者回復、私信等)

2、網站希望用戶了解關注的信息(系統(tǒng)公告等)

通知系統(tǒng)設計的原則可簡單的歸納為:

1、消息傳播效率最高(獲取、處理、信息傳達、用戶反饋等效率)

2、避免產生騷擾(噪音、頻繁提示)

通知的幾個分類不用的平臺和產品本身由于對業(yè)務的需求不一樣,種類也是有區(qū)別的。 大致可分為以下幾種:

|| ||

邏輯實現機制通知的邏輯精簡后如下:

現對這幾個環(huán)節(jié)分開說明:

通知合并通知在推送之前需要進行匯總合并,目的在于提高消息傳播處理效率;減少騷擾,降低噪音;平衡服務器壓力。

1)合并周期:

固定時間內的消息全部匯總(24小時內/30天等);

無固定時間(只要未處理/未讀即匯總)

當然一般都組合著用:合并24小時內未處理消息

2)分類合并

同種類進行合并(如n條留言合并為1條)

同一發(fā)起人合并(如張三給你發(fā)來的n條私信)

同一時間周期合并(如24小時共收到n條評論)

通知分發(fā)通知按照規(guī)則匯總完成后,系統(tǒng)將其通過通知管道推送到用戶,以便用戶處理。

1)分發(fā)方式

分發(fā)方式與Feed系統(tǒng)類似,多采用Push方式,即在指定時間內主動推送給用戶。部分特定類型需要用戶請求(Pull)拉取未讀消息。 目前大部分通知優(yōu)先推送未處理通知合并后的總數,已提醒用戶已有新消息需要處理。用戶點擊數字后再去服務端請求具體的消息內容。此種方式綜合考慮了成本、壓力和體驗。當然,某些極端情況下需要進行優(yōu)化處理:如未讀消息超過1000,用戶請求時先推送前50條或者放入cache中等。技術童鞋會有各種手段,這里不做詳述。

2)分發(fā)頻率(時間)

分發(fā)時間主要根據消息的優(yōu)先級來做區(qū)隔:

|| ||

3)分發(fā)管道

分發(fā)管道即消息通知的具體推送渠道,根據業(yè)務類型可以分為:Web、App、短信、郵件等

用戶處理根據前文提到的分發(fā)方式,對于通知的處理在邏輯上可以分為兩層:通知狀態(tài)的處理和通知內容的處理。

1)狀態(tài)的處理狹義的理解即為是否已讀(已處理)。

通常初始數字即為系統(tǒng)推送過來的未讀總量,用戶點擊數字進入相關功能列表查閱后,讀取的動作完成,未讀數字相應減少。

有幾種情況需要變通處理:

若用戶未讀信息較多(m=100),但第一頁列表只能顯示(n=10)條的話,那未讀數字即為m-n=90;

某些產品會將點擊等同于已讀。即用戶只要點擊無論是否打開列表查看均認為已讀。 這樣的處理一般用于重要級別較低的消息。點擊即已讀可有效降低騷擾。

某些重要級別較高的消息已處理狀態(tài)可以定義為用戶進行相關操作后才為已處理,而非查閱。 如用戶進行評論、回復、點擊忽略或點擊刪除等動作時才認為已處理。

2)內容的處理狹義的理解即為用戶是否操作。

根據不同消息的種類和業(yè)務的需要,操作可分為:

處理:用戶必須點擊功能鏈接進行處理。如:你的密碼過于簡單,點此進行修改;

回復:如回復私信,對評論進行回復;

確認:對消息做出確認的反饋,如某些系統(tǒng)提示可設置”我已知道,不再提示”的選項;

忽略:用戶進行忽略操作或不進行任何操作;

刪除:用戶刪除本消息。

3)消息處理后的狀態(tài)需要統(tǒng)一。

消息需要標記是否已處理的狀態(tài),且狀態(tài)在不同的終端是打通的。 如:用戶在客戶端對消息進行了查看,在web站點本消息應自動標記為已讀狀態(tài)。

通知回收回收主要針對用戶已處理消息的操作。

用戶之間觸發(fā)的消息一般需要留檔保存。 如評論/回復/留言/私信等。產品可提供選項詢問用戶是否超過一定周期自動清理。

在部分產品中,還需要考慮功能的優(yōu)先級。 如解除好友關系或加入黑名單后自動將刪除雙方的私信記錄。

系統(tǒng)觸發(fā)的消息一般設置一定的回收刪除時間。 如系統(tǒng)提醒、通知、公告等。過期后自動在產品里刪除。物理上可以設置是否備份。

過期但用戶未處理消息(用戶長時間未登錄但收到他人的回復)可以根據業(yè)務需求來處理。 如未讀的私信/評論/回復永久保留等。重要未讀消息可嘗試二次推送或使用其他途徑(郵箱、APP、短信等)通知。

通知處理交互注:具體的交互需要考慮本身業(yè)務特點和目標需求。特定業(yè)務可能需要強調,某些業(yè)務又需要考慮騷擾,故拋開具體情境本身談交互是無恥的。 這里只針對一般的社區(qū)網站,描述一下個人所喜歡的交互方式。

1)、新消息到達時提醒交互

當新消息到達時,可以使用以下提醒方式

1.標題閃動

2.聲音提醒 新消息到達后自動觸發(fā)聲音

3.氣泡+數字

4.新消息浮層

5.彈窗提示?

2)、通知處理

目前消息多采用當前觸發(fā)、即時處理類似“所見即所得”的交互方式。 ?

采用此方式的需要考慮:

消息通知位于全局導航,訪問任何頻道時都可保證及時收到新消息;

消息在浮層中處理完畢后,用戶可繼續(xù)進行之前的操作,不至于造成打擾;

因導航面積有限,需對消息種類進行統(tǒng)一整理和規(guī)劃;(Facebook的分類為好友請求、私信、通知。)

提供歷史記錄(更多、全部消息)的入口(二級頁面)

標記已讀未讀狀態(tài),處理好消息提醒數字的關系 ?

防騷擾(打擾)因消息本身業(yè)務性質,過多無用通知勢必會造成噪音,打擾到用戶。因此合理設置消息的通知頻率和渠道,以防早上體驗和效率上的損失。

1)、提供通知頻率和渠道的管理功能

如常見的郵件退訂管理,消息通知類型管理。 ?

Facebook通知設置

?

2)、增加屏蔽功能

消息屏蔽功能在業(yè)務上應該屬于第一條中通知類型管理,當業(yè)務模塊較多且之前關聯(lián)分散時,或者開放平臺功能接入的第三方應用通知時,可使用屏蔽功能。

facebook應用消息管理

3)、結合權限體系

①、功能隱私設置

使用隱私設置界定具體的接收權限、范圍等

微博私信設置

?②、結合黑名單功能

使用黑名單可屏蔽指定用戶或關鍵詞的具體消息通知。?

用戶拉回當用戶長時間不登陸或對消息不處理時,可使用其他渠道推送通知,已達到拉回的目的。 這個要與網站整體的拉回策略相結合。

iOS通知系統(tǒng)iOS中提供了2種推送通知本地推送通知(Local Notification)2

遠程推送通知(Remote Notification)

推送通知的作用可以讓不在前臺運行的app,告知用戶app內部發(fā)生了什么事情

推送通知的呈現效果總結

用戶接收的推送通知,都會展示在“通知中心”

從屏幕頂部往下滑,就能調出“通知中心”

顯示橫幅還是UIAlertView,取決于用戶的設置

不同的呈現效果在屏幕頂部顯示一塊橫幅(用來顯示具體內容)

在屏幕中間彈出一個UIAlertView(用來顯示具體內容)

在鎖屏界面顯示一塊橫幅(鎖屏狀態(tài)下,顯示具體內容)

更新app圖標的數字(說明新內容的數量)

播放音效(提醒作用)

使用的幾個細節(jié)發(fā)出推送通知時,如果當前程序正運行在前臺,那么推送通知就不會被呈現出來

點擊推送通知后,默認會自動打開發(fā)出推送通知的app

不管app打開還是關閉,推送通知都能如期發(fā)出

桌面通知系統(tǒng)的詳細設計及實現設計企業(yè)內部通常都有通知需要上傳下達,有時是臨時通知,3比如通知“下午2點開會”,如果是每個部門電話通知比較煩瑣,而僅是通過電子郵件發(fā)送,則往往有部分人沒有及時地查看而導致錯過會議;有時是某個精神需要傳達,是一些文本文檔;另外一些時候則可能是部門之間交流的內部文件。為了防止員工工作時間閑聊和內部資料外泄,企業(yè)外網不開放,公共的即時聊天工具不適合這種場合的使用。而有些情況下,比如非工作時間,企業(yè)外網是開放的、允許員工使用的,員工在眾多的聊天工具中選擇幾種是很常見的情況。

桌面通知系統(tǒng)是以企業(yè)內部局域網為基礎進行設計的。它的目標是在企業(yè)內部建立即時通訊平臺,方便通知的上傳下達,同時對幾種常用的公共聊天軟件進行集成,使它們有統(tǒng)一的外觀、配置,可以減少人們在不同聊天工具之間的切換,并限制公共聊天軟件的使用時間段。

主要功能模塊UI模塊

桌面通知系統(tǒng)客戶端,隨機器開機而自動起動;它的Ul(用戶界面)仿照QQ聊天程序,不使用時,放置于系統(tǒng)托盤位置;若有企業(yè)內部消息時,消息窗口自動彈出,并將其設置為最前端窗口,強迫用戶閱讀并確認后才能夠關閉,防止消息沒有被及時閱讀。

對于服務器端,界面很簡單,主要顯示出客戶端發(fā)送消息內容,以及文件傳送的時間、位置等信息。

在Eclipse RCP中,所有的一切都是通過擴展點機制實現的,開發(fā)RCP的主要過程也就是向應用添加視圖、編輯器、透視圖、菜單、工具欄、上下文菜單等等的擴展的過程。其中注意遵循模塊化原則,按照功能、職責、以及模型和UI分離的原則將系統(tǒng)劃分成不同的模塊,同時要充分利用Eclipse提供的很多可重用的插件、擴展點、內置的Action、視圖、編輯器、首選項等。

消息管理模塊

消息分為兩類,一是指企業(yè)內部發(fā)送的消息,二是指集成聊天軟件的消息。

企業(yè)內部發(fā)送的消息,由系統(tǒng)本身進行管理。客戶端用戶名是部門名,由系統(tǒng)維護部門規(guī)定,整個部門的用戶名均相同,防止個人利用桌面通知系統(tǒng)聊天。發(fā)送消息給某個部門時,該部門所有在線客戶端均接收消息。利用Java提供的計時器類,桌面通知系統(tǒng)客戶端消息窗口的新內容,每隔10分鐘自動存儲,減少意外斷電的損失。

由于公用即時通訊工具通訊協(xié)議各異,軟件升級更新周期短,桌面通知系統(tǒng)對于公用即時通訊工具,只是采用了簡單的調用方式集成,并未對其內容進行限制和管理,這樣可以簡化桌面通知系統(tǒng)的實現過程。因此,桌面通知系統(tǒng)中集成的即時通訊工具消息發(fā)送,使用聊天軟件原有的管理方式,系統(tǒng)并不對其干預,只是對其使用時段進行限制和管理。

文件管理模塊

為了減少服務器的負擔,加快傳輸速度,與消息發(fā)送不同,客戶端的文件發(fā)送采用點對點傳輸。源客戶端從服務器獲取目的客戶端的IP地址,然后啟動新文件發(fā)送線程發(fā)送文件。由于采用了線程方式,文件傳送操作不影響客戶端針對桌面通知系統(tǒng)的其它操作。

時間管理模塊

時間管理模塊,主要針對集成的聊天軟件上線時間進行管理。在系統(tǒng)維護部門規(guī)定工作時間內,除桌面通知系統(tǒng)外其它的即時通訊軟件均為灰色,即:不可用狀態(tài)。

數據管理模塊

本系統(tǒng)在服務器端建立了數據庫服務。服務器端數據庫包括部門信息、管理員權限信息、設置時間段信息、日志管理等方面的內容。由于MySQL5.0免費版亦具有良好穩(wěn)定的性能,并且安裝簡單、系統(tǒng)開銷少,桌面通知系統(tǒng)利用它完成數據信息管理工作。

安全管理模塊

由于桌面通知系統(tǒng)主要針對企業(yè)內網使用,所以其安全性相對于公用即時通訊工具具有天然的優(yōu)勢。該系統(tǒng)主要采用客戶端權限等級制來實現安全管理,即為不同的客戶端設置不同的權限,限制客戶端訪問消息和文件的權限,以達到保障內部資料安全的目的。