[問題] 請問一下即時通訊的問題

看板AndroidDev作者 (kinanson)時間11年前 (2014/10/02 22:45), 編輯推噓5(5024)
留言29則, 9人參與, 最新討論串1/2 (看更多)
我目前有做app,是用推播來做即時通訊 我有一個疑問,像line那種即時通訊,也是用gcm的方式來傳訊息嗎?? 如果是用gcm的話,有限制次數用量嗎??google了一下沒有相關的議題 如果不用gcm的話,app沒有打開,又怎麼能主動去收到訊息然後出現在狀態欄? 因為有人跟我說那種即時通訊,並不是用gcm來做的............ 當然如果app已開啟,我可以透過web socket來達成功能 但後台在發訊息的時候,又怎麼會知道app是開啟或關閉的狀態....... -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.132.207.224 ※ 文章網址: http://www.ptt.cc/bbs/AndroidDev/M.1412261145.A.65E.html

10/02 23:38, , 1F
LINE用推播吧,IOS8的LINE之前會收不到訊息
10/02 23:38, 1F

10/02 23:39, , 2F
剛好IOS8的推撥語法改了
10/02 23:39, 2F

10/02 23:39, , 3F
所以我推斷他是用推播的.......................嗎
10/02 23:39, 3F

10/02 23:48, , 4F
直覺是push!
10/02 23:48, 4F

10/03 00:08, , 5F
LINE後面有server群 分別放在日本跟韓國
10/03 00:08, 5F

10/03 00:10, , 6F
一般的通訊都是透過server做轉送的
10/03 00:10, 6F

10/03 00:10, , 7F
GCM是用在對方不在線上的時候才會用的
10/03 00:10, 7F

10/03 00:11, , 8F
因為LINE的APP一打開 它會主動向server發通知
10/03 00:11, 8F

10/03 00:12, , 9F
SERVER就會知道device有沒有上線
10/03 00:12, 9F

10/03 00:14, , 10F
有上線>就是一般的push pull的動作 沒在線上>請gcm發通
10/03 00:14, 10F

10/03 00:15, , 11F
知 device一但有連上網路 就會馬上收到
10/03 00:15, 11F

10/03 00:16, , 12F
另外 gcm有傳送容量的限制 好像單筆是4kb吧 傳文字剛好
10/03 00:16, 12F

10/03 04:32, , 13F
它也有數量限制 只是要多付錢 但Line應該不care
10/03 04:32, 13F

10/03 06:52, , 14F
重點是如何知道app是開啟或在背景,而且有些狀況是直接
10/03 06:52, 14F

10/03 06:52, , 15F
關電源,但app沒離開的狀況
10/03 06:52, 15F

10/03 08:12, , 16F
line是設定成 手機一開機 自動就會跟Server聯繫
10/03 08:12, 16F

10/03 08:13, , 17F
我不知道這個做法是用不是用android 的service
10/03 08:13, 17F

10/03 08:24, , 18F
至於你說的後台發訊息 怎知APP是開啟還關閉
10/03 08:24, 18F

10/03 08:25, , 19F
雖然我也不知道 但我猜應該是 APP一但開啟就會保持與
10/03 08:25, 19F

10/03 08:26, , 20F
server聯繫 只要一直有聯繫 訊息就是由server在送
10/03 08:26, 20F

10/03 08:26, , 21F
但只要關閉APP繪是讓APP跳到背景 那麼就停止與server聯
10/03 08:26, 21F

10/03 08:28, , 22F
繫 一旦有人要傳訊息 而對方沒有與server做聯繫的動作
10/03 08:28, 22F

10/03 08:28, , 23F
那麼server就會請gcm幫忙傳送訊息
10/03 08:28, 23F

10/03 21:58, , 24F
http://mopcon.org/2014/session.php 我在MOPCON會介紹喔
10/03 21:58, 24F

10/03 21:59, , 25F
如何只用Push跟Polling就達成即時通訊的功能
10/03 21:59, 25F

10/03 23:05, , 26F
樓上大神 拜一下
10/03 23:05, 26F

10/06 01:06, , 27F
line有使用GCM,不過只是通知用戶而已,用戶開啟程式會連上
10/06 01:06, 27F

10/06 01:07, , 28F
Server去抓資料,不是透過GCM來傳遞資料的
10/06 01:07, 28F

10/22 09:00, , 29F
推薦看看parse的doc
10/22 09:00, 29F
文章代碼(AID): #1KBMKPPU (AndroidDev)
文章代碼(AID): #1KBMKPPU (AndroidDev)