<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Jack Jiang

    我的最新工程MobileIMSDK:http://git.oschina.net/jackjiang/MobileIMSDK
    posts - 494, comments - 13, trackbacks - 0, articles - 1

    1、引言

    IM應用的初學者們,在補全了各種基礎技術知識后(如果您仍不具備這些知識,建議馬上閱讀《新手入門一篇就夠:從零開發移動端IM》),在動手編碼實踐時,很多時候糾結的并不是功能該如何實現,而是這個功能該實現成什么樣(沒有經驗,我特瑪能找誰問問?)。

    比如,最常見的糾結有以下這些:

    • 1)離線聊天消息該保存多久?
    • 2)好友請求應該保存多久?
    • 3)短視頻消息中的視頻時長設為多大合適?
    • 4)圖片、短視頻、語音這些多媒體消息中,未讀的文件數據保存多久?
    • 5)群管理的邏輯該怎么弄?參考微信?還是參考QQ?(關鍵是參考資料哪里有?)
    • 6)朋友圈限制最多發幾張照片合適?
    • ... ...

    嗯,這些問題,老板認為并不是問題,因為可以“參考微信”啊!

    然而,微信又不會親口說出來它的這些規則到底是多少?難不成要一個一個去試?那太扯了!

    本文將根據微信官方目前已公開的資料,將它的一些常用功能參數和邏輯規則資料進行了匯總整理,希望能助力你的IM開發!(本文已發布于:http://www.52im.net/thread-3008-1-1.html

    學習交流:

    - 即時通訊/推送技術開發交流5群:215477170[推薦]

    - 移動端IM開發入門文章:《新手入門一篇就夠:從零開發移動端IM》

    本文已同步發布于“即時通訊技術圈”公眾號,歡迎關注:

    ▲ 本文在公眾號上的鏈接是:https://mp.weixin.qq.com/s/F-pVE9vN21h0Vm8LwnYplg

    2、資料來源

    本文中整理的所有內容均來自微信官方知識庫,如果存在不全或不準確的情況,請在評論中回復,我會逐條核實并修訂。

    * 特別申明:本文內容僅供研究和學習使用,請勿用作其它用途。如有不妥之處,請指出,我會及時處理。

    3、閱讀對象

    本文適合作為新老IM開發者的備查資料。本文不適合不懂技術的普通用戶閱讀,因為所有內容都盡量以技術人員的視解整理和表述。

    移動端IM產品中,微信是標桿,也是事實的用戶體驗標準。所以,無論是被老板或產品經理懟,直接說“微信也這樣”,能省去很多口水仗(經驗啊)。這也是整理本文的初衷,以及價值所在。

    4、相關資源

    微信本地數據庫破解版(含iOS、Android),僅供學習研究 [附件下載]》(* 推薦研究)

    仿微信的IM聊天時間顯示格式(含iOS/Android/Web實現)[圖文+源碼]

    5、微信的好友關系規則匯總

    5.1 好友驗證請求有效期限

    有效期限為 3 天。

    * 補充規則:微信的好友驗證請求只保存在手機本地,當卸載重裝后,好友請求會消失且無法找回。

    5.2 通訊錄分組/好友排序

    微信通訊錄分組、好友排序,是根據微信通訊錄朋友昵稱的首字母(或首個漢字拼音首字母)由A-Z排序。

    * 補充規則:如果好昵稱是特殊符號、數字或Emoji表情(比如愛心、氣球等),將會歸到#類中。

     

    5.3 好友驗證規則

    • 1)當開啟“加我為朋友時需要驗證”后,需你同意接受請求后,才能成為好友;
    • 2)未開啟“加我為朋友時需要驗證”時,任何人都能添加你為好友(無需你確認)。

    * 補充規則:如果不想被他人添加好友時搜索到,微信中可以設置關閉“微信號/手機號/QQ號”等搜索方式。

     

    5.4 微信有4種添加好友方式

    1)搜索加好友:

    輸入對方的微信號/QQ號/手機號搜索添加即可,但不支持搜索昵稱。

    * 補充規則:如果對方將關閉了“通過QQ/手機號/微信號搜索到我”,則沒有辦法通過此種方法添加好友。

    2)雷達加朋友:

    當被添加者物理距離很近時,一起按住手機,就可以添加對方為朋友。

    3)掃二維碼加朋友:

    掃描對方的二維碼名片,就可以添加對方為朋友。

    4)手機聯系人:

    綁定手機聯系人的微信帳號,可以查看到手機通訊錄聯系人已開通了微信的朋友,并直接添加對方為微信好友。

    5.5 好友人數上限

    微信最多可以添加 5000 個好友。

    5.6 通訊錄黑名單功能邏輯

    將對方加入黑名單后,與對方的關系邏輯如下:

    • 1)在自己的會話列表不再顯示與其聊天記錄,解除黑名單后會重新出現在會話列表中;
    • 2)在對方的通訊錄好友列表中仍然會顯示;
    • 3)將不再接收到對方的消息;
    • 4)對方無法給你發消息,會提示“對方拒絕接收您的消息”,自己可以給對方正常發送消息;
    • 5)互相無法查看更新后的頭像、個性簽名;
    • 6)對方將無法查看你的微信個人相冊和對照片進行評論;
    • 7)互相看不到朋友圈更新,拉黑之前在朋友圈分享的照片也不在對方朋友圈展示。

    5.7 當被對方刪除或“拉黑”后的聊天效果

    當好友將你刪除或加入黑名單后,你給他發消息時,微信將出現以下提示。

    對方將我加入黑名單后,我發消息時的微信提示:

    對方把我刪除后,我發消息時的微信提示: 

    6、微信的群聊規則匯總

    6.1 微信群的功能定位

    微信群相當于QQ中的討論組,所以沒有QQ里的群號碼這種東西。

    6.2 群主規則

    群的創建者默認是群主。

    * 補充規則:當創建者退出該群時,群成員列表中的第一位(也就是建群以來第2個加群的人)將自動成為新群主(好奇葩的規則!)。

    另外:當原群創建者(即原群主)再次加群時,身份將會是普通群員。

    6.3 群員邀請規則

    群成員可以拉其他人加入群,群主不能取消普通群員的這個能力。

    * 補充規則:群主可以設置邀請需確認,即需群主確認后才可以讓被邀請的好友加到群內。

    6.4 群名稱規則

    每個人(不只是群主)都可以修改群名稱。

    * 補充規則:當群超過 100 人時,只有群主可以修改群名稱。

    6.5 群公告規則

    只有群主可編輯群公告。

    * 補充規則:群公告字數限制為最大 2000 個字(即4000字節)。

    6.6 群保存規則

    微信群需要手動添加到通訊錄才會永久保存,否則它只會保存在本地,一旦你卸載APP后,它就會消失。除非有群內成員發送消息,你才能再次看到,除次之外,你沒有別的方法可以找回它。

    6.7 群人數限制

    微信群最大上限為 500 人。而且,100 人以上的微信群只有已通過實名驗證的微信用戶才能加入。

    6.8 加群驗證規則

    • 1)當群人數小于40人時,好友可以自由加入或被邀請加入;
    • 2)當群人數超過40人時,加群邀請需要對方同意;
    • 3)當群人數超過100人時,對方需要通過實名驗證才能接受邀請(微信中可以通過綁定銀行卡進行實名驗證)。

    6.9 解散或退出群規則

    微信沒有像QQ那樣的“一鍵解散群”功能。

    可以通過中列方法實現解散群或退出群的能力:

    1)如果是群主(創建者或群成員列表第一位),可以將群成員全部刪除;

    2)如果是普通群員,可以退出群聊。

    6.10 群二維碼的有效期限

    微信群的二維碼有效期為 7 天(從二維碼生成時開始計算),失效后的2維碼掃描時將提示“該二維碼已過期”。

    6.11 微信群消息屏蔽規則

    微信沒有屏蔽群聊消息的功能,如果要達到這樣的效果,你只能設置不提醒新消息或退出此群。

    7、微信的朋友圈規則匯總

    7.1 照片數和文字數限制

    • 1)朋友圈照片單次最多可添加 9 張照片,上傳照片沒有文件數量限制,也沒有存儲容量限制。
    • 2)最多可輸入 1500 個漢字(即 3000 個字節)。

    7.2 朋友圈新動態提醒規則

    如果關閉了朋友圈更新提醒,當好友有發布新的朋友圈動態時,“發現”按鈕上將不會再出現紅點提示,否則將提示。

     

    7.3 朋友圈查看權限規則

    當你未作任何權限設置的情況下:

    • 1)你的所有朋友可以,查看到你在朋友圈發表的所有動態;
    • 2)陌生人可以查看你最近的10條動態。

    發新朋友圈時,可以設置回避的人(即設置“誰可以/不可以看”):

    • 1)公開:所有朋友可見;
    • 2)私密:僅自己可見;
    • 3)部分可見:可在通訊錄中選擇哪些好友可見;
    • 4)不給誰看:可在通訊錄中選擇哪些好友不可見。
     

    可以允許或禁止陌生人查看:

    可以允許或禁止陌生人(可能來自掃碼但未添加好友、附近的人、搖一搖、群聊時)看到10張最近發的照片。

    可以設置朋友圈查看時間范圍:

    可選擇允許好友查看朋友圈最近三天、最近半年或者全部的內容。

    可以關閉朋友圈功能:

    之前通過朋友圈發表的照片,可在個人相冊里查看。但好友仍可以看到。

    7.4 朋友圈的評論可見規則

    • 1)評論時,只會通知發布者;
    • 2)當評論時“@”某評論者,只會通知被回復者;
    • 3)評論者只能看到朋友的所有評論(當該條朋友圈的回復者不是朋友時,是看不到他的回復的)。

    7.5 朋友圈隱私規則

    1)陌生人查看十張照片:

    當禁止“允許陌生人查看十張照片”時,陌生人將看不到你發布的任何朋友圈動態。微信默認是允許。

    2)不看他(她)的朋友圈(即屏蔽好友的朋友圈):

    在您的朋友圈中不會顯示對方發送的朋友圈消息。

    3)不讓他(她)看我的朋友圈(即內容不更新給好友):

    對方查看您的朋友圈顯示是空白的,不會顯示您發送過的任何朋友圈消息。

     

    8、微信的聊天消息規則

    8.1 聊天記錄保存規則

    • 1)微信聊天記錄保存在本地手機,一旦卸載微信,則聊天記錄永久消失;
    • 2)微信不支持聊天記錄漫游功能,一旦更新手機,新手機上無法看到之前手機上的聊天記錄。

    點評:這里有份完整的微信本地數據庫樣本,可以用來研究和學習:《微信本地數據庫破解版(含iOS、Android),僅供學習研究 [附件下載]》。

    8.2 離線消息保存規則

    • 1)微信服務器只保存 72 小時內的離線普通消息(從對方發消息時間開始算起),過期會被服務端清理;
    • 2)微信服務器只保存 72 小時內的多媒體數據(圖片、短視頻、大文件),即使你的手機已收到該條消息,只要未點擊查看,即被視為未讀,服務器會在此期限后清理掉多媒體數據。

    8.3 “對方正在輸入”的顯示規則

    給對方發送消息后,對方在 10 秒內回復才可以看到該提示。

     

    8.4 聊天消息撤回時限

    微信的規則是可以撤回2分鐘內發送的消息。

    8.5 消息已讀回執規則

    微信不支持已讀回執功能。微信認為已讀或未讀狀態屬于個人隱私,不希望打破這種自由溝通的感覺。

    8.6 語音消息規則

    • 1)最長可錄制為 60 秒的語音消息;
    • 2)語音文件格式為:AMR;
    • 3)語音文件壓縮比率:60秒語音文件約為45KB。

    點評:如果你的IM中,語音文件大大超過微信的這個數據量,就表達存在較大優化空間,可以從采樣率等方面進行設置。

    8.7 短視頻消息規則

    • 1)最長可錄制為 10 秒的語音消息;
    • 2)語音文件格式為:MP4;
    • 3)語音文件壓縮比率:10秒短視頻約文件紅為1.5MB至2.0MB。

    點評:如果你的IM中,短視頻文件大大超過微信的這個數據量,就表達存在較大優化空間,可以從采樣率等方面進行設置。

    8.8 文件消息規則

    微信限制最大可以上傳的文件大小為 25 MB。

    8.9 聊天消息時間顯示規則

    • 1)當天的消息,以每5分鐘為一個跨度顯示時間(即格式:HH:mm);
    • 2)超過1天、小于1周的消息,將顯示“星期+收發消息的時間”;
    • 3)超過1周的消息,將顯示手機收發時間的日期(即格式:yyyy-MM-dd)。

    點評:這里有一份仿微信的聊天界面時間顯示規則代碼,可以下載用一用:《仿微信的IM聊天時間顯示格式(含iOS/Android/Web實現)[圖文+源碼]》。

    9、微信的其它規則

    9.1 收藏功能規則

    • * 收藏的內容:可以收藏文字、語音、圖片、視頻、地理位置等。
    • * 保存的位置:收藏里面的內容是保存在服務器中的,只要你不主動刪除,會一直存在。
    • * 單個文件大小限制:可以收藏的單個文件大小不能超過 25 M。
    • * 存儲總容量限制:微信限制收藏數據的總容量為 2 GB,當總收藏容量超出2G后,超出容量的內容,將不能再上傳。

    9.2 “附近的人”功能規則

    • * 技術實現:當你查看附近的人功能時,微信將通過手機GPS獲取你的位置信息,同時會被保留一段時間。
    • * 位置緩存:當你使用過“附近的人”時,服務器就會留下您的地理位置信息一段時間,周圍的人可以再次搜到您。

    9.3 “搖一搖”功能規則

    當距離很近的兩個同時“搖一搖”時,不一定能搖到對方。因為微信的“搖一搖”沒有距離限制,而且是由服務器隨機匹配。

    10、電腦版微信的特殊規則

    10.1 可以發送的消息類型

    微信電腦端,可以發送文字、默認表情、符號表情、動畫表情(兔斯基表情)、截圖、圖片消息,并能同步手機上已收藏的表情并發送。

    10.2 可能接收的消息類型

    可以接收文字、默認表情、emoji表情、動畫表情、圖片、文件、語音、視頻、公眾號消息、名片類型消息、小視頻、地理位置消息、轉賬消息、合并轉發的聊天記錄消息。

    10.3 可以接收但不能查看的的消息類型

    紅包消息、AA收款消息(收到此類消息會提示請在手機上查看)。

    10.4 發送文件的大小限制

    微信電腦端,上傳文件大小最大為 100 MB,一次最多可以選擇10個文件同時發送。

    * 補充規則:如果發送的是視頻,則文件大小不能超過 25 MB。

    附錄:微信團隊分享技術資料匯總

    微信朋友圈千億訪問量背后的技術挑戰和實踐總結

    微信團隊分享:微信移動端的全文檢索多音字問題解決方案

    微信團隊分享:iOS版微信的高性能通用key-value組件技術實踐

    微信團隊分享:iOS版微信是如何防止特殊字符導致的炸群、APP崩潰的?

    微信團隊原創分享:iOS版微信的內存監控系統技術實踐

    iOS后臺喚醒實戰:微信收款到賬語音提醒技術總結

    騰訊技術分享:社交網絡圖片的帶寬壓縮技術演進之路

    微信團隊分享:視頻圖像的超分辨率技術原理和應用場景

    微信團隊分享:微信每日億次實時音視頻聊天背后的技術解密

    微信團隊分享:微信Android版小視頻編碼填過的那些坑》 

    微信手機端的本地數據全文檢索優化之路》 

    企業微信客戶端中組織架構數據的同步更新方案優化實戰

    微信團隊披露:微信界面卡死超級bug“15。。。。”的來龍去脈

    月活8.89億的超級IM微信是如何進行Android端兼容測試的

    一篇文章get微信開源移動端數據庫組件WCDB的一切!

    微信客戶端團隊負責人技術訪談:如何著手客戶端性能監控和優化

    微信后臺基于時間序的海量數據冷熱分級架構設計實踐

    微信團隊原創分享:Android版微信的臃腫之困與模塊化實踐之路

    微信后臺團隊:微信后臺異步消息隊列的優化升級實踐分享

    微信團隊原創分享:微信客戶端SQLite數據庫損壞修復實踐》 

    騰訊原創分享(一):如何大幅提升移動網絡下手機QQ的圖片傳輸速度和成功率》 

    騰訊原創分享(二):如何大幅壓縮移動網絡下APP的流量消耗(下篇)》 

    騰訊原創分享(三):如何大幅壓縮移動網絡下APP的流量消耗(上篇)》 

    微信Mars:微信內部正在使用的網絡層封裝庫,即將開源》 

    如約而至:微信自用的移動端IM網絡層跨平臺組件庫Mars已正式開源》 

    開源libco庫:單機千萬連接、支撐微信8億用戶的后臺框架基石 [源碼下載]》 

    微信新一代通信安全解決方案:基于TLS1.3的MMTLS詳解》 

    微信團隊原創分享:Android版微信后臺保活實戰分享(進程保活篇)》 

    微信團隊原創分享:Android版微信后臺保活實戰分享(網絡保活篇)》 

    Android版微信從300KB到30MB的技術演進(PPT講稿) [附件下載]》 

    微信團隊原創分享:Android版微信從300KB到30MB的技術演進》 

    微信技術總監談架構:微信之道——大道至簡(演講全文)

    微信技術總監談架構:微信之道——大道至簡(PPT講稿) [附件下載]》 

    如何解讀《微信技術總監談架構:微信之道——大道至簡》

    微信海量用戶背后的后臺系統存儲架構(視頻+PPT) [附件下載]

    微信異步化改造實踐:8億月活、單機千萬連接背后的后臺解決方案》 

    微信朋友圈海量技術之道PPT [附件下載]》 

    微信對網絡影響的技術試驗及分析(論文全文)》 

    一份微信后臺技術架構的總結性筆記》 

    架構之道:3個程序員成就微信朋友圈日均10億發布量[有視頻]》 

    快速裂變:見證微信強大后臺架構從0到1的演進歷程(一)

    快速裂變:見證微信強大后臺架構從0到1的演進歷程(二)》 

    微信團隊原創分享:Android內存泄漏監控和優化技巧總結》 

    全面總結iOS版微信升級iOS9遇到的各種“坑”》 

    微信團隊原創資源混淆工具:讓你的APK立減1M》 

    微信團隊原創Android資源混淆工具:AndResGuard [有源碼]》 

    Android版微信安裝包“減肥”實戰記錄》 

    iOS版微信安裝包“減肥”實戰記錄》 

    移動端IM實踐:iOS版微信界面卡頓監測方案》 

    微信“紅包照片”背后的技術難題》 

    移動端IM實踐:iOS版微信小視頻功能技術方案實錄》 

    移動端IM實踐:Android版微信如何大幅提升交互性能(一)

    移動端IM實踐:Android版微信如何大幅提升交互性能(二)

    移動端IM實踐:實現Android版微信的智能心跳機制》 

    移動端IM實踐:谷歌消息推送服務(GCM)研究(來自微信)

    移動端IM實踐:iOS版微信的多設備字體適配方案探討》 

    騰訊信鴿技術分享:百億級實時消息推送的實戰經驗

    IPv6技術詳解:基本概念、應用現狀、技術實踐(上篇)

    IPv6技術詳解:基本概念、應用現狀、技術實踐(下篇)

    微信多媒體團隊訪談:音視頻開發的學習、微信的音視頻技術和挑戰等

    騰訊技術分享:微信小程序音視頻技術背后的故事

    微信多媒體團隊梁俊斌訪談:聊一聊我所了解的音視頻技術

    騰訊技術分享:微信小程序音視頻與WebRTC互通的技術思路和實踐

    手把手教你讀取Android版微信和手Q的聊天記錄(僅作技術研究學習)

    微信技術分享:微信的海量IM聊天消息序列號生成實踐(算法原理篇)

    微信技術分享:微信的海量IM聊天消息序列號生成實踐(容災方案篇)

    微信團隊分享:Kotlin漸被認可,Android版微信的技術嘗鮮之旅

    社交軟件紅包技術解密(二):解密微信搖一搖紅包從0到1的技術演進

    社交軟件紅包技術解密(三):微信搖一搖紅包雨背后的技術細節

    社交軟件紅包技術解密(四):微信紅包系統是如何應對高并發的

    社交軟件紅包技術解密(五):微信紅包系統是如何實現高可用性的

    社交軟件紅包技術解密(六):微信紅包系統的存儲層架構演進實踐

    QQ設計團隊分享:新版 QQ 8.0 語音消息改版背后的功能設計思路

    微信團隊分享:極致優化,iOS版微信編譯速度3倍提升的實踐總結

    IM“掃一掃”功能很好做?看看微信“掃一掃識物”的完整技術實現

    微信團隊分享:微信支付代碼重構帶來的移動端軟件架構上的思考

    IM開發寶典:史上最全,微信各種功能參數和邏輯規則資料匯總

    >> 更多同類文章 ……

    (本文同步發布于:http://www.52im.net/thread-3008-1-1.html



    作者:Jack Jiang (點擊作者姓名進入Github)
    出處:http://www.52im.net/space-uid-1.html
    交流:歡迎加入即時通訊開發交流群 215891622
    討論:http://www.52im.net/
    Jack Jiang同時是【原創Java Swing外觀工程BeautyEye】【輕量級移動端即時通訊框架MobileIMSDK】的作者,可前往下載交流。
    本博文 歡迎轉載,轉載請注明出處(也可前往 我的52im.net 找到我)。


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    Jack Jiang的 Mail: jb2011@163.com, 聯系QQ: 413980957, 微信: hellojackjiang
    主站蜘蛛池模板: 国产免费人人看大香伊| 曰批全过程免费视频在线观看| 东北美女野外bbwbbw免费 | 久久一区二区三区免费播放 | 人妻在线日韩免费视频| 亚洲最大AV网站在线观看| 一级看片免费视频囗交| 精品亚洲一区二区三区在线观看| a级毛片免费网站| 亚洲日韩v无码中文字幕| 日本免费电影一区二区| 久久亚洲AV无码精品色午夜麻| 久久国产精品2020免费m3u8| 亚洲国产精品第一区二区| 国产精品久久免费| 亚洲熟女乱色一区二区三区| 国产国产成年年人免费看片| 免费精品视频在线| 亚洲妇熟XXXX妇色黄 | 国产18禁黄网站免费观看| 免费一区二区无码视频在线播放| 国产偷窥女洗浴在线观看亚洲| 十八禁视频在线观看免费无码无遮挡骂过 | 亚洲AV第一成肉网| 亚洲无线一二三四区手机| 免费观看久久精彩视频| 亚洲乱码一二三四区麻豆| 国产高清免费观看| 91成人免费观看在线观看| 78成人精品电影在线播放日韩精品电影一区亚洲| 麻豆国产精品免费视频| 亚洲av无码一区二区三区四区| 精品国产亚洲男女在线线电影| 午夜精品一区二区三区免费视频| 亚洲日本国产综合高清| 国产性爱在线观看亚洲黄色一级片| 亚欧免费一级毛片| 国产亚洲人成在线影院| 久久亚洲国产成人精品性色| 精品剧情v国产在免费线观看 | 一本久久A久久免费精品不卡|