




多時區(qū)問題一直是全球客戶和終端用戶面臨的挑戰(zhàn)之一。EngageLab Push 致力于解決這個問題,確保全球各地的終端用戶可以平等地享受到同樣的推送服務,同時讓客戶能夠更好地管理不同時區(qū)的應用和對應的終端用戶。
1、在服務器端,所有涉及時間的信息統(tǒng)一以時間戳形式存儲,
2、portal 端的展示,以用戶給應用設置的時區(qū)對應的時間展示
3、終端和服務器交互協(xié)議中的時間以時間戳來傳遞,終端再根據(jù)本地時區(qū)信息將時間戳轉換為本地時間
管理員在 portal 上創(chuàng)建應用,再給應用設置時區(qū),這些信息都會保存到數(shù)據(jù)庫中,跟時間相關的信息都以時間戳的格式存儲在數(shù)據(jù)庫中。當管理員查詢應用相關信息時,對于時間相關信息,系統(tǒng)將時間戳轉換成應用所在時區(qū)的本地時間展示給管理員
推送業(yè)務按推送時效性來分有兩種推送方式,立即推送和定時推送,立即推送跟時區(qū)特性無關,點擊推送時就立即推送,但是定時推送跟時區(qū)相關,到底是以應用所在時區(qū)的時間進行定時推送,還是以終端所在時區(qū)對應的時間進行定時推送呢,這兩種定時推送都存在相應的場景。
如下圖
應用所在時區(qū)為東6區(qū)
服務器部署在東8區(qū)
終端用戶分布在東4區(qū)、東1區(qū)、西3區(qū)
比如某款電商應用,計劃在中午12點發(fā)起秒殺活動,希望在12點鐘準時給用戶推送提示用戶進入秒殺頁面參加活動。這種場景就需要用到根據(jù)應用所在時區(qū)的時間進行定時推送。
1、現(xiàn)在應用需要在東六區(qū)的2023-03-18 12:00:00 進行秒殺活動,于是在東六區(qū)的2023-03-18 10:00:00設置了一個定時推送任務,該任務的定時時間為應用(應用歸屬于組織,因此應用的時區(qū)繼承了組織的時區(qū))所在時區(qū)的2023-03-18 12:00:00
2、東六區(qū)的2023-03-18 12:00:00,轉換為服務器的東8區(qū)的時間為:2023-03-18 14:00:00,所以在服務器的2023-03-18 14:00:00, 觸發(fā)定時任務,將消息推送給對應的終端用戶。
3、終端用戶在同一時刻收到秒殺的推廣消息。本地時間分別是
東4區(qū)的2023-03-18 10:00:00
東1區(qū)的2023-03-18 07:00:00
西3區(qū)的2023-03-18 03:00:00
比如說有個早間新聞播報的應用,需要在早上8點定時將最新的資訊推送到終端用戶,如果以應用所在時區(qū)的時間來推送,應用所在時區(qū)的早上8點可能是終端所在時區(qū)的凌晨3點鐘,這個時候經(jīng)消息推送給終端用戶,顯然是不合適的,因此需要以終端用戶所在時區(qū)的早上8點進行定時推送。
1、管理人員設置了一個定時推送任務,該任務的定時時間為終端用戶所在時區(qū)的2023-03-18 08:00:00進行推送
2、服務器定時掃描定時推送任務
服務器發(fā)現(xiàn)該定時推送的目前中有東4區(qū)的終端用戶,東4區(qū)的2023-03-18 08:00:00轉換為服務器的東8區(qū)的時間為2023-03-18 12:00:00,所以在服務器的2023-03-18 12:00:00, 觸發(fā)定時推送任務,將消息推送給東4區(qū)的終端用戶。
服務器發(fā)現(xiàn)該定時推送的目前中有東1區(qū)的終端用戶,東1區(qū)的2023-03-18 08:00:00轉換為服務器的東8區(qū)的時間為2023-03-18 15:00:00,所以在服務器的2023-03-18 15:00:00, 觸發(fā)定時推送任務,將消息推送給東1區(qū)的終端用戶。
服務器發(fā)現(xiàn)該定時推送的目前中有西3區(qū)的終端用戶,西3區(qū)的2023-03-18 08:00:00轉換為服務器的東8區(qū)的時間為2023-03-18 19:00:00,所以在服務器的2023-03-18 19:00:00, 觸發(fā)定時推送任務,將消息推送給西1區(qū)的終端用戶。
3、終端用戶都是本地時間的2023-03-18 08:00:00點收到推送消息
1、終端時區(qū)的上報
每個終端在登陸服務器時,就把當前終端所在的時區(qū)上報給服務,服務器根據(jù)時區(qū)將用戶信息分組存儲
2、定時推送的設置
管理人員在設置定時推送任務時根據(jù)任務特性選擇是按應用所在時區(qū)定時推送還是按終端所在時區(qū)定時推送。服務器將這些定時推送任務信息保存到數(shù)據(jù)庫中
3、定時推送的觸發(fā)
服務器會啟動一個定時掃描進程,去掃描數(shù)據(jù)庫中的定時推送任務是否達到某個時區(qū)所定時的時間,如果到了,就將消息推送推送給該時區(qū)的用戶。
關于極光
極光(Aurora Mobile,納斯達克股票代碼:JG)成立于2011年,是中國領先的客戶互動和營銷科技服務商。成立之初,極光專注于為企業(yè)提供穩(wěn)定高效的消息推送服務,憑借先發(fā)優(yōu)勢,已經(jīng)成長為市場份額遙遙領先的移動消息推送服務商。隨著企業(yè)對客戶觸達和營銷增長需求的不斷加強,極光前瞻性地推出了消息云和營銷云等解決方案,幫助企業(yè)實現(xiàn)多渠道的客戶觸達和互動需求,以及人工智能和大數(shù)據(jù)驅動的營銷科技應用,助力企業(yè)數(shù)字化轉型。
熱門文章
相關文章
極光官方微信公眾號
關注我們,即時獲取最新極光資訊
現(xiàn)在注冊,領取新人大禮包