使用WeCloud消息推送接口發(fā)送消息NodeJs版
來源:程序員人生 發(fā)布時間:2014-11-07 08:52:45 閱讀次數(shù):3811次
WeCloud是1家初創(chuàng)公司的產(chǎn)品,目前主要在做Android和IOS消息推送這塊。他們提供了用于向裝備發(fā)送消息的協(xié)議,具體協(xié)議內(nèi)容見消息推送協(xié)議。
這篇文章將使用NodeJs基于這個推送協(xié)議完成向App用戶推送消息的服務端SDK。
首先你需要注冊1個帳號,然后系統(tǒng)會為你自動生成1個測試demo,你可以通過掃2維碼或先下載到電腦的方式取得apk文件,再將其安裝到自己的手機上以后就能夠測試發(fā)送效果了,每一個利用都會有對應的Appkey和Master Secret這兩個屬性,它是作為發(fā)送消息的憑證而存在的,在發(fā)送消息時接口需要這兩個參數(shù)對發(fā)送者的身份進行辨認。你可以在利用列表取得Appkey和在詳情里取得Master Secret。
固然如果你有自己的App,并且需要集成消息推送服務,請參見Wecloud Message客戶端SDK文檔。
以上是對編寫代表前1些需要知道的內(nèi)容的介紹,接下來就能夠編寫代碼實現(xiàn)了。
實現(xiàn)的完全代碼在我的GitHub上已開源,歡迎批評與吐槽。
自己寫的NodeJs版的消息推送SDK唯1需要的依賴可能就是request了,將代碼從git上clone下來后只需要履行npm install安裝好依賴就能夠使用了。
使用樣例見以下代碼:
/**
* Created by luzhen on 14⑼⑵4.
*/
var MessageClient = require('./MessageClient');//引入MessageClient,該模塊用來實現(xiàn)消息發(fā)送
var MESSAGE_ENUM=require('./MessageEnum');//引入消息枚舉
var messageType=MESSAGE_ENUM.messageType;//消息類型枚舉
var messageAction=MESSAGE_ENUM.messageAction;//消息動作枚舉
var sendType=MESSAGE_ENUM.sendType;//消息的發(fā)送類型枚舉
var countries=MESSAGE_ENUM.countries;//國家維度枚舉
var tags=MESSAGE_ENUM.tags;//標簽枚舉
var netTypes=MESSAGE_ENUM.netTypes;//網(wǎng)絡類型枚舉
var platforms=MESSAGE_ENUM.platforms;
var message=require('./Message');//引入消息模塊
var client =MessageClient.instance('DXZBSF7IOC6ACKOZCOT8R9IJ', 'ZKUIVPP71E51Z0Y6HLSHO9T15MS504AC');//取得1個MessageClient對象
message
.setMessageType(messageType.NOTIFICATION)
.setMessageTitle('test title')
.setMessageContent('test content')
.setMessageAction(messageAction.OPEN_APP)
.setSendType(sendType.REALTIME)
.setPlatforms(platforms.ANDROID);//鏈式設置消息
//發(fā)送給所有人
client.sendAll(message,function(err,res){
console.log(err);//err包括毛病信息
console.log(res);//res包括響應結果
console.log('這個方法是用來配置你希望在消息發(fā)送成功后履行的回調(diào)方法');
});
//按token發(fā)送
message.setTokens('140775224048952ddd91a4ced3b74');
client.sendByTokens(message,function(){
console.log('這個方法是用來配置你希望在消息發(fā)送成功后履行的回調(diào)方法');
});
//按維度發(fā)送
message.setCountries(countries.OTHER);
message.setTags(tags.ONLINE_SHOPPING,tags.PASSENGER);//設置多個標簽
message.setNetTypes(netTypes._3G,netTypes.WIFI);//設置多種網(wǎng)絡類型
message.setChannels("google","baidu");
message.setVersions("1.0","1.1");
client.sendByDimensions(message,function(){
console.log('這個方法是用來配置你希望在消息發(fā)送成功后履行的回調(diào)方法');
});
目前該SDK支持3種消息推送模式,分別是發(fā)送給所有用戶,按維度發(fā)送(目前支持5中維度:國家類型,網(wǎng)絡類型,標簽,渠道和版本)和按token發(fā)送(token是用來標識特定用戶)。
支持Android和IOS平臺(IOS包括生產(chǎn)和開發(fā)環(huán)境)的消息推送。
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學習有所幫助,可以手機掃描二維碼進行捐贈