推聊:基于Android第三方推送服務(wù)的開源聊天系統(tǒng)
智能手機(jī)上的推送通知(Push)已經(jīng)被我們所熟知,在國內(nèi),有很多第三方的推送服務(wù),那么,除了利用他們來進(jìn)行推送通知,還能做些什么呢?這里就有人想到用推送服務(wù)來搭建一個(gè)聊天系統(tǒng)。
推聊概述 PushTalk Overview
推聊是一個(gè)基于極光推送的Android手機(jī)聊天系統(tǒng)。支持群聊與點(diǎn)對點(diǎn)聊天。當(dāng)前包括Android客戶端與Java服務(wù)器端。3分鐘就可以整套系統(tǒng)跑起來。

開源項(xiàng)目官方網(wǎng)站
http://github.com/good-life/pushtalk

功能與特點(diǎn)
功能列表
- 頻道里群聊
 - 與其他用戶點(diǎn)對點(diǎn)聊天
 - 聊天支持文字、表情、URL等
 - 創(chuàng)建頻道、加入頻道
 - 注冊用戶(不需要密碼)
 - 我的頻道
 - 我的最近聊天
 - 聊天記錄緩存
 - 客戶端選擇聊天服務(wù)器、添加聊天服務(wù)器
 
特點(diǎn)
- 簡單到***的 http 聊天服務(wù)器:一個(gè) jar 包跑起來
 - 輕量級客戶端:聊天界面使用 Webview 的方式
 - 下行消息推送基于 JPush(一個(gè)免費(fèi)的第三方 Android Push 服務(wù)),上行消息采用 http 請求的方式實(shí)現(xiàn)
 
聊天服務(wù)器
推聊的服務(wù)器端使用 Java 語言編寫,基于最簡單實(shí)用的開源框架。
- http 服務(wù)器使用 Jetty:輕量級的 Java Servlet 容器。
 - 數(shù)據(jù)庫使用 H2: 輕量級的 Java 內(nèi)存/文件數(shù)據(jù)庫。
 - 頁面模板使用 Freemarker:輕量級的 Java 頁面模板引擎。
 - 打包時(shí)集成為一個(gè)整體 jar 包(包含所有的依賴包)
 
要運(yùn)行推聊服務(wù)器端,請?jiān)?github 文件下載頁 https://github.com/good-life/PushTalk/downloads/ 下載推聊服務(wù)器 jar 文件。
使用如下命令運(yùn)行服務(wù)器:
java -Dfile.encoding=UTF-8 -jar pushtalk-server-with-dependencies.jar 
注:實(shí)際的文件名后邊一般會加上一個(gè)版本號。
上述命令運(yùn)行后:
- 一個(gè) http server 啟動(dòng)了,監(jiān)聽端口為 10010
 - 瀏覽器里輸入 http://localhost:10010 則可以訪問到界面
 - 要正確地運(yùn)行服務(wù)器,需要通過客戶端訪問
 
推聊服務(wù)器默認(rèn)使用 10010 端口。可以在上述命令后指定使用另外的端口。比如以下命令指定使用 10011 來啟動(dòng)推聊聊天服務(wù)器:
java -jar pushtalk-server-with-dependencies.jar 10011 
Android 客戶端
客戶端運(yùn)行,請?jiān)?github 文件下載頁 https://github.com/good-life/PushTalk/downloads/ 下載 Android apk 安裝到 Android 手機(jī)即可。
你也可以自己編譯 /client-android 項(xiàng)目之后安裝到手機(jī)。
客戶端默認(rèn)內(nèi)置官方聊天服務(wù)器地址。也可以直接在客戶端添加新的服務(wù)器,選擇新的聊天服務(wù)器。
如果你有服務(wù)器資源,可以長期運(yùn)行,歡迎你架設(shè)推聊聊天服務(wù)器,請?zhí)砑拥揭韵碌捻撁妗=?jīng)過測試沒有問題,會被選擇預(yù)置到客戶端代碼里:
https://github.com/good-life/PushTalk/wiki/PushTalk-Third-Party-Servers
開發(fā)者支持
歡迎廣大開發(fā)者加入本開源項(xiàng)目,大家一起來不斷地豐滿、完善推聊。
本人是因?yàn)榕d趣業(yè)余時(shí)間來開發(fā)推聊,考慮到 IM 占用的時(shí)間太多,所以請諒解,不提供任何 IM 的溝通方式。希望大家以如下的方式交流:
- Email: pushtalk.org@gmail.com
 - 項(xiàng)目Wiki: https://github.com/good-life/PushTalk/wiki
 - 項(xiàng)目Bug: https://github.com/good-life/PushTalk/issues
 - PushTalk頻道:
pushtalk,報(bào)告bug,新功能討論等 
代碼提交方式:請先提交Bug修復(fù),把 diff 以文件方式發(fā)郵件給我。合作多次后,我可以把你加入到本項(xiàng)目貢獻(xiàn)者里來,你就可以隨時(shí)自由地提交代碼了。
你也可以自由地 fork 本項(xiàng)目,自己去發(fā)布新的版本。
推聊使用的開源協(xié)議:Apache License 2.0















 
 
 





 
 
 
 