百度雲推送伺服器
『壹』 百度雲推送java伺服器怎麼弄
網路雲(Bai Cloud)是網路推出的一項雲存儲服務,首次注冊即有機會獲得2T的空間,已覆蓋主流PC和手機操作系統,包含Web版、Windows版、Mac版、Android版、iphone版和Windows Phone版,用戶將可以輕松將自己的文件上傳到網盤上,並可跨終端隨時隨地查看和分享。
網路雲推送
網路提供了完整的Demo幫助開發者集成雲推送服務,推送服務SDK通過.jar包和.so文件的方式可以集成到我們自己的工程中。在此之前,需要到網路開發者中心進行應用注冊並獲取API Key,這個作為使用推送服務應用的唯一標示,具體流程我就不贅述了,需要使用的話可以直接訪問網路開發者中心進行查看。
下面主要看看Android_SDK的整體概覽和內部運行機制:
上圖是網路雲推送Android_SDK的框架圖,通過SDK可以繞過復雜的Push HTTP/HTTPS API直接和Push伺服器進行交互,主要提供如下功能:
Push服務初始化以及Client注冊綁定
創建或刪除標簽(Tag)
接收Push Server的通知並提供自定義展現消息方式
推送統計分析功能,包括通知的點擊和刪除統計以及應用使用情況統計
富媒體推送
在Android端,總共實現了三個Receiver和一個Service,其中,一個Receiver是用來處理注冊綁定後接收服務端返回的channelID等信息:
<receiver android:name="com..android.pushservice.RegistrationReceiver" android:process=": bdservice_v1"> <intent-filter> <action android:name="com..android.pushservice.action.METHOD " /> <action android:name="com..android.pushservice.action.BIND_SYNC " /> </intent-filter> <intent-filter> <action android:name="android.intent.action.PACKAGE_REMOVED"/> <data android:scheme="package" /> </intent-filter> </receiver>
第二個Receiver是用於接收系統消息以保證PushService正常運行:
<receiver android:name="com..android.pushservice.PushServiceReceiver" android:process=": bdservice_v1"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> <action android:name="com..android.pushservice.action.notification.SHOW" /> <action android:name="com..android.pushservice.action.media.CLICK" /> </intent-filter> </receiver>
第三個Receiver就是開發者自己實現的用來接收並處理推送消息:
<receiver android:name="your.package.PushMessageReceiver"> <intent-filter> <!-- 接收 push 消息 --> <action android:name="com..android.pushservice.action.MESSAGE" /> <!-- 接收 bind、setTags 等 method 的返回結果 --> <action android:name="com..android.pushservice.action.RECEIVE" /> </intent-filter> </receiver>
一個Service就是在後台運行的用於保障與Push Server維持長連接並做相關處理的後台服務:
<service android:name="com..android.pushservice.PushService" android:exported="true" android:process=" bdservice_v1"/> <!-- push service end -->
在開發者自己需要處理的廣播接收器中,可以對接收到的推送消息進行處理,Push消息通過 action為com..android.pushservice.action.MESSAGE的Intent把數據發送給客戶端your.package.PushMessageReceiver,消息格式由應用自己決定,PushService只負責把伺服器下發的消息以字元串格式透傳給客戶端。介面調用回調通過action為com..android.pushservice.action.RECEIVE的Intent 返回給your.package.PushMessageReceiver。
PushMessageReceiver.java
/** * Push消息處理receiver * @Author Ryan * @Create 2013-8-6 下午5:59:38 */ public class PushMessageReceiver extends BroadcastReceiver { public static final String TAG = PushMessageReceiver.class.getSimpleName(); @Override public void onReceive(final Context context, Intent intent) { if (intent.getAction().equals(PushConstants.ACTION_MESSAGE)) { //獲取消息內容 String message = intent.getExtras().getString( PushConstants.EXTRA_PUSH_MESSAGE_STRING); //消息的用戶自定義內容讀取方式 Log.i(TAG, "onMessage: " + message); } else if (intent.getAction().equals(PushConstants.ACTION_RECEIVE)) { //處理綁定等方法的返回數據 //PushManager.startWork()的返回值通過PushConstants.METHOD_BIND得到 //獲取方法 final String method = intent .getStringExtra(PushConstants.EXTRA_METHOD); //方法返回錯誤碼。若綁定返回錯誤(非0),則應用將不能正常接收消息。 //綁定失敗的原因有多種,如網路原因,或access token過期。 //請不要在出錯時進行簡單的startWork調用,這有可能導致死循環。 //可以通過限制重試次數,或者在其他時機重新調用來解決。 final int errorCode = intent .getIntExtra(PushConstants.EXTRA_ERROR_CODE, PushConstants.ERROR_SUCCESS); //返回內容 final String content = new String( intent.getByteArrayExtra(PushConstants.EXTRA_CONTENT)); //用戶在此自定義處理消息,以下代碼為demo界面展示用 Log.d(TAG, "onMessage: method : " + method); Log.d(TAG, "onMessage: result : " + errorCode); Log.d(TAG, "onMessage: content : " + content); } } }
通過在入口Activity的onCreate方法中進行推送服務的注冊綁定後,即可在推送管理後台或是自己的應用伺服器上進行消息推送的操作了。
PushManager.startWork(getApplicationContext(),PushConstants.LOGIN_TYPE_API_KEY, "you_api_key");
另外,雲推送提供php、java等Server端的SDK供開發者在自己的伺服器上實現推送服務進行定製化管理和操作。
四、單服務單通道機制
網路雲推送實現了單服務單通道的機制,如果在一台Device上安裝了多款Push SDK的應用,不會為每個應用都創建PushService,而是會採用多應用共享一個PushService的模式。這樣既能減少資源消耗也能降低網路流量。PushService運行於一個獨立進程,沒有和主進程運行於同一進程,所以主進程不需要常駐內存,當有新的Push消息時,PushService會通過Intent發送消息給主進程進行處理。通過Intent,以指定目標應用包名的方式,發送私有消息給應用。應用即不能接收不屬於自己的消息,也不能截取別人的消息,同時又降低了消耗,如下為示意圖:
後記:如今,國內提供Android推送服務的還有很多家,例如個推和極光推送等,實現的原理大同小異,開發者可以根據自身需要進行選擇。
『貳』 百度雲推送伺服器端如何獲取user_id呢
這個確實是個問題。我想你說的user_id應該是推送時要使用的user_id,是雲伺服器配置給客戶端的唯一標識。 但你客戶端APP的SERVER端是不知道你的這個標識的,伺服器端觸發推送的時候是無法推送到客戶端APP的。目前可能只有將APP和雲伺服器配置給你的user_id 回傳到你們自己的伺服器端。由你們APP伺服器端長期維護這兩個標識的對映關系。網路雲推送目前好像不會維護這個對映關系。
包括tag標簽和其對應的user_id 這種一對多的關系 可能還是需要APP伺服器端自己維護;目測網路雲推送服務沒有維護這些關聯關系。
『叄』 android使用百度雲推送的伺服器端怎樣實現
網路雲推送可以實現你這種需求,可以指定推給某個ID,也可以指定推給哪個組,還可以推給所有人
我們用極光推送,客戶端和服務端配置的都簡單,有Demo可直接運行的.
『肆』 極光推送、百度雲推送、個推,怎樣看極光推送服務好壞
極光推送服務好,極光IM為全球開發者提供穩定高效的即時通訊服務,讓你的「APP」聊起來。主要可以從一下幾個方面來看:1、共享通道:JMessage與JPush共用一條TCP長連接,擴展自定義協議,繼承JPush的安全、高效、穩定。
2、穩定可靠:自定義的消息同步機制,確保消息不丟失。
3、海量並發:共享極光推送多區域分布接入資源,支持上億級用戶同時在線,日均千萬級消息並發。
4、定製化服務:提供私有雲-企業定製化服務,貼身定製解決方案,使用企業私有資源通道,提供全方位的服務。
極光有著多樣的聊天功能,擁有文字、表情、圖片、語音、小視頻、文件、位置、自定義消息等多種消息類型,支持單聊、群聊等聊天方式。
『伍』 雲推送的服務特色
1、最省:省電、省流量、零成本
網路雲推送採用單一終端中的多個應用共享一個網路雲推送服務進程和一條TCP長連接,最大化的降低客戶端的資源消耗,省電省流量。此外網路雲推送的消息推送服務完全免費,開發者使用零成本。
2、最穩定:消息到達率超98%
網路雲推送後台擁有強大的伺服器集群,具有極高的吞吐能力,您的消息將以最快的速度送達用戶端。網路雲推送長期為網路搜索、地圖、新聞等數十個千萬級應用提供穩定、安全的服務支持,有效驗證了雲推送服務的穩定性與安全性,經內部測試消息到達率超98%。
3、最便捷:強大的推送控制台
網路雲推送為開發者准備了強大的管理後台,開發者可以在後台可以輕松便捷的操作消息推送以及查看用戶的信息統計。
『陸』 百度雲推送任務是什麼意思
更新網路雲管家到V4.6版本以上,可支持推送功能。
多台電腦使用相同帳號登錄雲管家後,
一台電腦可以將網盤內文件推送到其他電腦進行下載。
『柒』 使用百度雲推送時,PHP服務端如何實現即時推送
網路雲推送可以實現你這種需求,可以指定推給某個ID,也可以指定推給哪個組,還可以推給所有人我們用極光推送,客戶端和服務端配置的都簡單,有Demo可直接運行的.
demo可以直接運行的(有個main方法測試的)
不過,如果不是一定要實時消息,還是不要用這種第三方的推送伺服器了,畢竟是人家的伺服器
而且推送次數,頻率什麼的都有限制,還不如你在移動端做輪詢處理,即1分鍾請求一下伺服器,或者30秒請求一下伺服器,看看有沒有數據什麼的.
當然也可以自己搭建推送伺服器,xmpp協議什麼的.好復雜
用極光推送你試試。
更多問題到問題求助專區(http://bbs.hounwang.com/)