網易七魚|客服|簡易介紹與說明、實作雲端推播遇到的問題與解決
這篇寫於 2021 年。工具和 API 變化很快,部分步驟可能已經不適用。
持續的學習紀錄
介紹#
下載#
用戶申請(企業認證)#
- 台灣地區的企業,可以提供營業執照副本給商務處理
- 可以用大陸的身份證進行個人認證
- 聯繫到開通測試賬號的工作人員,請他去走特殊申請
服務#
- 線上客服
- 線上機器人
- 智能掌控
特點#
- Android支援自訂義伺服器推播,後端透過FCM或其他服務,自行推播
伺服器端不能是Google,可能造成不穩或是無法收到
- 自定義聊天室樣式
1. 更改頭貼、訊息顏色
2. 按鈕功能
3. 置頂訊息
4. 輸入框上快捷按鈕
5. 自定義emoji
- 允許的訊息類型
1. 圖片
2. 語音
3. 表情
4. 視頻
5. 文件
6. 文字
支援#
- Web
- APP(Android、iOS)
- 微信、微博
Flutter目前沒有,需要實作原生SDK,製作 Flutter Package
可滿足的需求與場景#
*保留聊天紀錄#
- 使用者跟客服的聊天記錄都會一直存在,保留在聊天室裡。如果客戶進入聊天室之後沒有聊天紀錄,可以執行下拉載入,顯示之前的對話內容。
- 如果用戶發訊息但客服沒回的話,離開很久聊天室都會在。但是如果客服發訊息但用戶一段時間沒回覆,大概10分鐘,這時候系統就會將聊天室關閉,下次用戶在發話後,客服看到的聊天室會是新的,只有用戶的聊天室都是同一個
*設置用戶資訊#
- 幫用戶設置多種個人資訊,每個資訊為一個物件,最終給予物件陣列的Json字串
姓名、手機、信箱為預設的資料欄位,其他需要自行補充
- 用戶沒有設置名稱時,會給予一個ID,之後在沒有改變用戶設置的資訊時都會是同一個ID,不會因為重啟聊天室後給予用戶新的ID,有利於追蹤。除非開發時
*客服主動回覆#
用戶之前如果有留言,客服能在之後進入聊天室並傳訊息給用戶,聊天室不會因為經過一段時間被關閉
*客服主動發話#
在聊天室關閉後,客服可以到更多資訊頁面後點擊發起會話,用戶端會顯示新的聊天室
*轉移客戶#
客服可以將用戶轉接給另一個客服人員,接著透過之前的對話紀錄了解問題
*機器人#
一觸即達,進行多輪會話,再客服接上之前先與用戶溝通、解決問題
*附件#
用戶可以傳送圖檔、文件
*未讀API#
可以監聽未讀客服訊息的數量,方便做後續的顯示效果
缺點#
- 沒有提供多語系的支持。必須依照不同的packageName帶入不同的UI樣式,前端可以判斷用戶是用什麼語言,決定歡迎訊息還有其他系統訊息的顯示模板,給一個模板id決定,但這只是部分系統內容的適配,沒有完整的多語系
- 管理員可以對某個用戶主動發話,接著再進行轉移,不能直接指派用戶給指定客服人員
開發文件#
- Android
https://qiyukf.com/docs/guide/android/
- iOS
https://qiyukf.com/docs/guide/ios/
雲端推播#
iOS#
- 給予p.12證書,七魚直接使用Apple的服務
- 需要在didRegisterForRemoteNotificationsWithDeviceToken參數的方法裡幫七魚載入token
測試客服推播時,需檢查目前推播(證書)要運行的環境是正確的
Android(自定義伺服器推播)#
- 官方確認!SDK 6.0以上的版本都不支援自訂義伺服器推播,只能使用5.7.7跟5.7.8,提供省電模式SavePowerConfig讓開發者設置用戶手機的deviceIdentifier,後端可以透過自己的資料庫,經由deviceIdentifier取得用戶的FcmTorken,然後送出推播
- 客服額外提供了SDK修復包5.7.9版本,是一個module,讓開發者接入專案做使用,實測後可以正常設置deviceIdentifier,七魚推播運作正常。如果需要的話要跟七魚的技術客服做詢問。
- 七魚的SDK團隊已經排程要實作新版的自定義伺服器推播,等待後續的消息,有新版功能後再做專案的SDK升級即可。
- 建議使用非Google平台的EndPoint,給七魚推播做使用。七魚不能直接送推播給Google,會不穩。
- 如果伺服器是Google的話,會需要其他平台的EndPoint當中繼站負責接收七魚的推播,接著再請求自己後端的推播API,使用FCM等的推播服務,送出訊息到用戶端。
問題#
- SDK舊版(5的版本),deviceIdentifier有時候可以設置成功,有時候設了七魚推播給的又是空值,詢問客服人員,是有Bug造成這樣的情況。有App Bundle ID重複的問題(雙平台使用相同的ID),還有條件判斷的問題。目前已修正。
- SDK修復包,5.7.9,整合至Flutter App專案時,遇到Flutter找不到Android Module的問題。解決方法請查看下方:
Flutter|Package|專案設置與載入套件裡用到的Android Module持續的學習紀錄yii · writing
其他#
官方的人工客服蠻不錯的,回覆算快速,如果遇到較麻煩的問題時會詢問是否可以加微信,保持跟你的聯繫直到問題解決
最後#
希望有幫助到你/妳,也歡迎追蹤我,方便瀏覽最新的文章!
本文原刊登於 Medium。