① 如何編寫一個即時通訊軟體

可以用bmob做後端,有即時通訊的demo
昨天下班前發布了最新的Bmob_IM_V1.1.2版本的SDK和應用Demo,還未正式通知大家,但還是有人察覺到了,那麼,這一次版本更新了什麼呢?

主要是針對大家都比較關心的問題進行了集中解決。

一、更新功能:

1、新增支持陌生人聊天,允許發送給非好友用戶;

2、新增支持自定義消息發送,便於開發者擴展;

3、新版本大幅度增加穩定性和及時性,保證百分百到達;

4、排除web後端推送對客戶端的影響。

二、更新講解:

1、如果你希望能和所有人(不局限於好友關系)進行聊天,那麼這一版本就解決了這個問題。

如果你想看到效果,可以點擊附近的人,你找到一個非好友用戶,再查看他的資料,這一頁面下方有個「發起會話」的按鈕,這里就可以和陌生人聊天啦。(不要問我,為什麼我搜索附近的人沒數據呢?你一個新建的key,連注冊用戶都沒有,那附近的人怎麼可能會顯示出來?)

2、如果你希望發送任意格式的消息,那麼你只需要調用如下方法即可:

BmobChatManager.getInstance(this).sendJsonMessage(String json, String targetId);
復制代碼
註:第一個參數:你要發的Json格式的字元串,第二個參數,就是對方的objectId

但關於發送的Json格式遵循一定的規范,具體可查看:點我。

然後,你就需要在MyMessageReceiver的廣播接收器中自行解析你所定義格式的消息啦。

3、V1.1.2版本大幅度增強了及時性和穩定性,能夠保證到達率。

由於推送服務有時候會出現消息丟失的情況,並不能保證消息一定被對方接收到,故在此基礎上增加了一個定時檢測服務,定時時間可以由開發者自行設定。

你需要開啟定時檢測服務的話,需要在主程序界面的onCreate方法中調用如下方法:

BmobChat.getInstance(this).startPollService(30)
復制代碼
然後在onDestory方法里調用如下方法取消檢測服務:

BmobChat.getInstance(this).stopPollService()
復制代碼

另外,需要在你的AndroidManifest.xml裡面加上如下一段代碼

<!-- 啟動定時檢測操作 -->

<service android:name="cn.bmob.im.poll.BmobPollService">

<intent-filter>

<action android:name="cn.bmob.im.service.BmobPollService"/>

</intent-filter>

</service>
復制代碼

4、有的同學沒有兩部真機,會從web後台推送消息給客戶端,之前的版本會使得客戶端奔潰,這一版排除了後端推送對客戶端的影響。

三、使用Bmob_IM_SDK時需要注意的問題如下:

1、請使用兩台真機測試,請不要用模擬器來測試,模擬器是接收不到推送消息的。

2、很多人由於沒有兩部真機,會採用一個手機注冊兩個不同的賬號,這樣來回切換賬戶來測試聊天,這種方式達不到測試的效果,雖然這一版本的改進使得這種方式能夠收到消息,但是及時性比較低。而之前的版本,這種方式是收不到消息的,故不建議這樣測試,只有兩部真機才能達到真實的聊天效果。

3、請到Bmob官網注冊申請應用的Application ID並在SplashActivity類中完成初始化操作。

4、有很多人導入了工程後發現有這個錯:java.lang.IncompatibleClassChangeError: cn.bmob.im.project,這個是因為BmobIM_V1.1.2是基於BmobSDK_v3.2.3_0919混淆打包的,所以如果你要用的話,這兩個包應該是一起導進去的,替換之前的Bmobsdk和BmobIM包。

② 做一個即時通訊的軟體,需要多少錢

做這類軟體要有一定實力,難的不是製作軟體的部分,難搞的是需要龐大伺服器數據處理中心的支持。一般人不好做。直接用買的吧,或者大公司開發的免費的,比如群英CC即時通訊。

③ 如何開發一個像WhatsApp的即時消息APP

如果你像其他97%的人口一樣,那麼至少有一次在你的生活中,你使用手機發送文本或聊天消息。普通用戶在一天內發送至少14條簡訊,可以通過即時消息APP或SMS發送。這實際上意味著消息傳遞可能位於智能手機高度使用功能列表的頂部。盡管如此,語音/視頻通話仍然緊隨其後。

1.1。什麼是即時消息?

即時消息或即時消息是一種在線聊天,通過互聯網提供實時文本傳輸。一些IMAPP還使用Push技術來提供實時文本,這些文本可以在字元構成時逐字傳輸文本。具有高級功能的即時通訊APP甚至可以幫助用戶發送文件,可點擊的超鏈接,VoIP,視頻聊天,流媒體和更多類似的服務。

那麼讓我們來談談如何開發WhatsApp之類的APP。消息市場在WhatsApp領導游戲行業(每日活躍用戶數為8億)方面占據主導地位,其次是Facebook Messenger(每日活躍用戶數為7億)和微信(每日活躍用戶數量為5.49億人),但這並不意味著沒有更多的空間和范圍,一些更有創意的解決方案,金和盛在這里提供幫助!

2. WhatsApp的Tech Stack

如果你打算製作一個聊天APP,為什麼不建模一個似乎已經正確的人。讓我們開始了解什麼樣的技術堆棧與金和盛一起開發類似WhatsApp的即時消息APP?

2.1。Erlang

這是用於開發WhatsApp的首席編程語言。由於其卓越的性能,速度和可擴展性,這種語言獲得了最多的認可和贊賞 - 這種組合最適合實時聊天應用!

2.2。Ejabberd

Ejabberd XMPP(可擴展消息和存在協議)伺服器是獨一無二的,它具有處理成千上萬條消息的能力,並且速度快,無延遲,因此非常適合您。此外,它還可以很好地與Erlang編程語言結合使用,使它成為一個神話般的二重奏,並為整個APP提供動力!該伺服器使用特定的可插拔模塊進行開發,該模塊允許廣泛的功能范圍,如:

  • 一對一聊天

  • 聯系實際和在線列表

  • 存儲和轉發(離線消息)

  • PEP(個人事件協議)和消息鍵入規范

  • 多用戶聊天(MUC) - 群聊

  • 隱私設置和帳戶欺騙

  • 消息歸檔管理

  • 2.3。YAWS

    另一個Web伺服器或YAWS是為多媒體文件存儲而開發的,完全由Erlang編寫。這是一款高性能的Web伺服器,專為具有動態內容的高負載應用而開發。YAWS在處理並行流程的能力方面獨樹一幟,並且具有高性能標准。

    2.4。FreeBSD的

    這是WhatsApp正在使用的操作系統,並幫助它在其平台上每天發送數十億條消息。FreeBSD操作系統具有精巧的網路堆棧和廣泛的可靠性。這是一個功能強大,穩定,開放源碼的Unix系統,實時聊天APP開發人員擁有豐富的使用經驗。由於FreeBSD是一個單獨的分銷商,它在安裝方面有一些明顯的優勢,並提供了二進制軟體包的簡單創建。

    2.5。Lighttpd的

    Lighttpd是一款開源Web伺服器,針對更高的性能進行了優化。這個輕量級的Web伺服器甚至可以在WhatsApp上部署,目的是添加安全,多功能,快速和兼容的功能。

    2.6。自定義XMPP(可擴展消息和存在協議)伺服器

    最初這是WhatsApp用來傳輸所有用戶信息的東西。這項技術具有很大的優勢,因為它支持一對一和多用戶聊天對話。但最終公司不得不切換到不同的互聯網協議,以優化其伺服器性能。

    2.7。Mnesia DB

    用Erlang編寫的實時資料庫管理功能非常適合存儲任何實時聊天APP上運行的消息,文件,圖像,視頻,文檔以及其他多媒體文件。對於WhatsApp,資料庫通過Mnesia和MySQL資料庫的組合啟動。

    3.使WhatsApp真棒的功能

    從Techstacks開始,讓我們深入了解更明顯的視覺功能,這些功能可以幫助您製作一款酷酷的新型聊天APP。當您打算構建WhatsApp這樣的APP時,在決定APP擁有哪些APP之前,研究APP的功能非常重要!

    3.1。注冊和聯系

    大多數實時聊天APP或即時消息APP需要用戶使用電話號碼登錄,而有些可能會通過社交媒體登錄進行登錄。WhatsApp更進一步,拍攝了簡訊進行確認,為用戶增加了一層安全性,這是通過使用第三方API(如Twilio或Nexmo等)完成的。

    然後,用戶應該從地址簿中添加他們的聯系人。聊天只能讓你周圍的所有朋友聊天才能開心!你甚至可以考慮整合其他選項,如gamil或Facebook(如果你有很多口袋的話)。現在,這一步需要非常快捷方便。

    在這個級別考慮Profile UX / UI可能是一個好主意。您可以考慮您可能提供的那種自定義選項,或者決定是否希望用戶能夠與其他社交配置文件連接,或者您是否會向用戶提供任何自定義設計功能。我們提供的用戶體驗堪稱典範,讓您的用戶享受注冊過程。

    3.2。即時消息/實時聊天

    由於它是一個聊天APP,所以消息傳遞功能是給定的。然而,這不是一種肯定或否定的選擇,如果你正在考慮構建一個聊天APP,那麼需要解決一些小小的細節。讓我們來看看金和盛的清單,以幫助您做出決定。

  • 用戶以何種方式發起聊天?

  • 你只會提供一對一的聊天選項,還是會有群聊的功能?除了這兩個選項,WhatsApp甚至允許「廣播列表」功能,它允許用戶將相同的消息發送到指定的人員列表。

  • 你會只提供私人聊天選項還是提供公共聊天室?

  • 你想添加超級秘密安全功能,消息在讀取後會在指定的時間後自毀嗎?

  • 你想提供一些裝飾,如字體類型,字體選項,貼紙,靜音功能,共享多媒體和文檔等?盡管這些功能對於MVP來說可能不是一個好主意,但是請將它們包含在未來版本的APP中。

  • 你會提前提前安排消息的功能嗎?

  • 今天的人們高度關注數據的隱私,研究表明,大約96%的人害怕在線黑客攻擊,並將他們的私人數據置於危險之中。因此,當您著手開發私人Messenger軟體時,務必注意用戶的安全。以下是您的計劃中應該注意的主要問題。

  • 你可以看看開發和實現一個額外的匿名自毀功能。

  • 您可能會考慮大量投資於高級加密技術,並保護所有消息免遭劫持。

  • 您可以看看ChatSecure和CryptoCat這兩個偉大的開源加密聊天APP。他們的代碼甚至可以在Github上供所有開發人員查看並理解他們的加密如何工作。金和盛開發的即時消息功能對APP用戶的安全保持警惕。

    3.3。通知和推送消息

    這些可能看起來很小,但在保留用戶和保持其在APP中的活躍性方面有很長的路要走。一個基本規則是讓用戶自定義他們想要接收的通知類型。Firebase雲消息傳遞適用於Android和iOS平台。但本機Apple推送通知可能更適合iOS平台。但是,Firebase Cloud Messaging大大降低了開發成本和開發時間。金和盛的聊天室和MessengerAPP可讓您發送相關的推送通知,並幫助您吸引和留住您的用戶。

    3.4。多媒體文件傳輸

    當它超越文本和表情符號時,聊天確實更有趣。您的用戶會尋找他們可以共享多媒體文件的功能和方式,例如圖像,GIF,視頻,貼紙等等!畢竟,一張圖片可能勝過千言萬語。不過,如果您擁有財力雄厚的產品,您甚至可以考慮與領先的雲端服務提供同步選項,例如Google Drive,Evernote和Dropbox。金和盛製作的即時通訊APP可讓您的用戶完美無缺地傳輸多媒體文件。

    3.5。分享位置

    這是一個功能,當你的朋友在圈子裡走動試圖去你的房子時,它會派上用場!Apple MapKit和Google Location SDK提供了用於集成位置共享的本地工具包。如果您計劃與當地企業合作以通過應用獲利,您還可以在應用中考慮iBeacon和Eddystone感測器。這有助於用戶在進入會場的地理圍欄後收到相關消息。很像WhatsApp,金和盛製作的即時通訊APP可讓用戶與其他用戶分享他們的位置。

    4.額外的實時聊天APP功能,您可能會考慮為您的APP

    雖然WhatsApp可能會引領整個潮流,但這並不意味著它們是完美無瑕的,並且可以裝載各種各樣的功能。您可以查看WhatsApp尚未提供的以下功能並做出明智的決定!

    4.1。VoIP(互聯網協議語音)呼叫

    在實施方面,這是一個昂貴的方面,但在用戶中是一個非常有價值的功能。通過Skype或Viber等實時聊天應用進行呼叫越來越受歡迎,並逐漸取代傳統的手機通話。

    4.2。視頻聊天

    距離已經增加,時間被證明是一種難以捉摸的商品。在這個時代和時代,視頻聊天或視頻通話已經超越了「酷」,並且變成了一種必需品,以便與那些居住在那裡的人保持聯系遠。

    4.3。音頻和視頻流

    這是SnapChat的核心功能,並且已被其他領先渠道(包括Instagram和Facebook)效仿。這可能是一個值得投資的功能。

    4.4。活動計劃和同步日歷

    此功能非常適合提醒用戶有關特別活動或慶祝活動的信息,以便您可以提前計劃。當您試圖吸引「商業」人群到您的APP時,此功能特別有利並且效果很好。

    4.5。應用內購買和訂閱計劃

    必須有一個收入模式,這是實時聊天應用貨幣化的最有效方式之一。

    4.6。多平台聊天

    當您提供跨平台使用APP的選項時,無論您的APP是連接到桌面還是始終處於運行狀態,您都可以幫助用戶保持與APP的聯系!

    4.7。自毀信息

    這是一個很棒的功能,可以讓你發送秘密聊天信息給你的朋友,然後在他們看到它的一段時間後自毀。

    4.8。雲服務同步

    當您允許用戶將您的應用與突出的雲服務同步時,可以以更高效的方式監控,更新,存儲和擴展託管環境。

    5.促成和影響成本的因素

    成本和預算因素對正在開發APP的人有很大的影響,當你跳躍時,它應該是一個計算出來的。雖然可能很難說出製作應用需要多少費用,但是可以列出對應用開發成本有重大影響的關鍵決策。

  • 你選擇的平台將決定你將要咳嗽的錢的種類。明智地選擇是否要為Android,iOS或兩者構建!

  • 您決定繼續使用的功能范圍將決定您將要投入的時間和金錢類型。很自然地,你擁有的功能越多,成本就越高。雖然您必須優化您在MVP中提供的功能數量,但保留足夠的功能以保持用戶參與。

  • 制定預算是您在整個過程中必須做出的最重要的決定之一。正是這個決定會推動所有其他決策,重要的是要保持現實,不要太過分或太緊張。

  • 選擇能夠幫助您完成手頭任務的代理商,同時滿足您的時間表,提供優質的產品,並保持在預算范圍內。

④ 即時通訊app開發需要多久

根據要求,功能強弱,開發時間相差挺多了
你可以把app的具體需求羅列清楚,在派牛找合適的服務商幫你開發

⑤ 微信,QQ這類移動開發IM app怎麼做

首先選一復個IM即時通訊協制議。
我推薦用XMPP,這個比較簡單,入門資料較多。
然後就是伺服器架設和客戶端設計。
伺服器,這個可以考慮開源軟體二次開發。
比如基於XMPP的開源伺服器有OpenFire,Trigger等,這2個都是基於JAVA的開源軟體。
再針對各個移動OS平台設計客戶端。~
希望對你有幫助。~

⑥ 想做一個手機即時通訊的軟體、類似陌陌微信這樣的。

是啊。。投資這個的話一定要想好市場佔有的問題吧,現在微信這么屌。。版估計你開發出來也很少有人用吧,權除非有什麼新鮮的創意才會吸引大家的眼球的,如果想開發手機端的應用的話,需要至少一個Android研發工程師。下圖是網路招人的要求。。

還有一些維護伺服器的人手,具體可以參考一下網路的要求和崗位。盡量咨詢專業人士,我只是個學生黨OTZ、

⑦ 如何做一個即時通訊軟體,就想QQ那樣的,只幾個人可以來回通訊的

你是想自己做么?我有即時通訊軟體的源代碼~有興趣可以把源代碼給你~或者是想要現成的也可以給你試用體驗下~可以交流下~哈哈~anychat~

⑧ 做一個簡單的即時通訊軟體需要多長時間花費多少資金

這個不好說啊,如果是一個人,怎麼也得半年吧。不過也要視功能與能力而定。如內果找些容開源的來自己改改,可能個把月就可以,如rooyeemessenger,就是開源的,再搭個OPERNFIRE,前提是要懂XMPP哈。

⑨ 如何快速學習製作一個即時聊天類APP

我有真實的項目過程,每一步都分析的比較偷測,聊天軟體不好做,裡面細節太多。相信你看完就了解了。

⑩ 如何寫一個即時通訊軟體

首選C++,MFC
這個開發難度比較大,不是兩下子的事情
我空間有參考資料,可以看看