2015年11月24日 星期二

[Android] - 使用Parse + Layer做聊天功能

以我目前的了解

Parse是雲端資料庫

Layer是聊天訊息系統

這篇介紹一下怎麼使用Parse + Layer做即時聊天系統

網路上都有Sample跟介紹,這邊自己再做個紀錄

1. 成為Parse開發者
https://parse.com/

2. 成為Layer開發者
https://layer.com/

3. 下載Android範例
https://github.com/layerhq/Layer-Parse-Android-Example

4. 下載Parse comment 工具
https://github.com/ParsePlatform/parse-cli/releases/tag/release_3.0.1
我的電腦是Windows的所以下載parse.exe執行檔

5. 開啟命令提示字元,輸入{絕對路徑或相對路徑}parse.exe new

之後會要求輸入Parse的帳號密碼
登入成功之後會問要「新開一個Project」還是「使用現有的」
選擇「新開一個Project」要再輸入Project名稱
選擇「使用現有的」之後會選擇哪一個


接著會詢問服務提供商是哪一個,選擇Parse

再來要填寫本地端的資料夾名稱,以當前位置做根目錄,系統會在這兒底下新增該資料夾名稱


然後,會問你要不要設定空專案,這邊直接按下Enter就可以

按下Enter之後的資訊


6.. 下載Layer Parse Module
https://github.com/layerhq/layer-parse-module
解壓縮放在步驟5所開好的資料夾底下

7. 登入layer且開一個Project之後,選擇「Keys」,再到Account: Authentication keys的輸入框填入資訊並按下「Generate a new key」,如下圖

按下「Generate a new key」之後會出現如下圖的彈出視窗,把輸入框的內容複製起來,貼到layer-parse-module\keys\layer-key.js

8. 開啟在專案根目錄底下的main.js
將下列幾行Code貼上
======================Code===================
var fs = require('fs');
var layer = require('cloud/layer-parse-module/layer-module.js');

var layerProviderID = 'layer:///providers/.......';  // Should have the format of layer:///providers/<GUID>
var layerKeyID = 'layer:///keys/......';   // Should have the format of layer:///keys/<GUID>
var privateKey = fs.readFileSync('cloud/layer-parse-module/keys/layer-key.js');
layer.initialize(layerProviderID, layerKeyID, privateKey);


Parse.Cloud.define("generateToken", function(request, response) {
    var currentUser = request.user;
    if (!currentUser) throw new Error('You need to be logged in!');
    var userID = currentUser.id;
    var nonce = request.params.nonce;
    if (!nonce) throw new Error('Missing nonce parameter');
        response.success(layer.layerIdentityToken(userID, nonce));

});
======================End===================

記得把Layer的Account: Provider ID跟Account: Authentication keys改成自己的
這兩個資訊都在Layer的Keys頁面

9. 回到命令提示字元,將當前目錄放到步驟4時建立好的資料夾底下,輸入parse.exe deploy
就把本地端的檔案上傳到Parse的Cloud Code了


10. 開啟Android Studio,將步驟3的範例打開
再把LayerImpl的LayerAppID和ParseImpl的ParseAppID與ParseClientKey改成自己的

11. 安裝到兩台手機上面,註冊兩個帳號就可以好好的聊天了

參考網址:
https://www.parse.com/docs/cloudcode/guide#command-line-installation
https://github.com/layerhq/layer-parse-module
https://github.com/layerhq/Layer-Parse-Android-Example

沒有留言:

張貼留言