導航:首頁 > IDC知識 > 安卓ios推送伺服器

安卓ios推送伺服器

發布時間:2020-12-20 07:38:18

1、安卓手機如何實現像ios系統一樣的推送功能??

推送功能來自伺服器。和手機並沒有關系。所以手機如何讓設置都沒用。

2、ios和android的後台推送工作原理各是如何?有什麼區別

iOS 系統的推送(APNS,即 Apple Push Notification Service)依託一個或幾個系統常駐進程運作,是全局的(接管所有應用的消息推送),所以可看作是獨立於應用之外,而且是設備和蘋果伺服器之間的通訊,而非應用的提供商伺服器。你的例子裡面,騰訊 QQ 的伺服器(Provider)會給蘋果公司對應的伺服器(APNs)發出通知,然後再中轉傳送到你的設備(Devices)之上。當你接收到通知,打開應用,才開始從騰訊伺服器接收數據,跟你之前看到通知里內容一樣,但卻是經由兩個不同的通道而來。

而 Android,就不同,更像是傳統桌面電腦系統做法。每個需要後台推送的應用有各自的單獨後台進程,才能和各自的伺服器通訊,交換數據。另外其實 Android 也有類似 APNS 的 GCM(Google Cloud Message),屬於開發者可選,非強制。(更多請看本回答評論區裡面 @Bill Cheng 的補充)

所以你大概看出來區別,iOS 的消息推送機制面世之時是一種全新的解決方案(堪稱平台中的平台),應用本身不能有常駐的後台進程,系統的開銷少,內存使用更少,電量也更少(把更多的運算和資源開銷放在雲端,非設備端)。而 Android 的特點,雖然開銷大,優點是更穩定快速,但不明顯。

3、如何實現安卓和蘋果手機APP信息推送?

百度雲,dropbox,此外就是來應用自己自的伺服器進行數據同步了,比如奇妙清單注冊賬號,PC IOS ANDROID 都能同步。
只看了標題,,,你這個問題還是去開發者社區問靠譜點!分類推送捕獲用戶數據保存在伺服器,匹配了數據自動推送。

4、iOS 和 Android 的後台推送原理各是什麼?有什麼區別

iOS 和 Android 的後台推送原理各是什麼?有什麼區別?2013-12-11 17:42| 發布者: zouqun |原作者: 李楠|來自: 知乎摘要: iOS 的推送iOS 在系統級別有一個推送服務程序使用 5223 埠。使用這個埠的協議源於 Jabber 後來發展為 XMPP ,被用於 Gtalk 等 IM 軟體中。所以, iOS 的推送,可以不嚴謹的理解為:蘋果伺服器朝手機後台掛的一個 ...iOS 的推送
iOS 在系統級別有一個推送服務程序使用 5223 埠。使用這個埠的協議源於 Jabber 後來發展為 XMPP ,被用於 Gtalk 等 IM 軟體中。所以, iOS 的推送,可以不嚴謹的理解為:
蘋果伺服器朝手機後台掛的一個 IM 服務程序發送的消息。
然後,系統根據該 IM 消息識別告訴哪個 Apps 具體發生了什麼事。
然後,系統分別通知這些 Apps 。應該說,蘋果這種方式在技術上沒有什麼創新。但是,整個架構是很了不起的。 因為:
1 使用久經考驗的協議,技術風險小。
2 蘋果勇於承擔責任:
他需要維護一個代價不小的伺服器集群,而且要為伺服器的 down 機負責。

選擇低風險的技術方案 Bug 更少,減輕了用戶的痛苦,這是構架師的功勞。
蘋果承擔責任,盡可能的減少了不可控的意外,保證了用戶體驗。
這,只能說是公司決策者的功勞。
(從側面說明有個懂技術的 VP 是多重要。。。而 Scott 走人了。。)

他們帶給用戶的好處也是實實在在的。
1 安全。
只有登錄過的開發者可以通過蘋果的伺服器推送。

2 快速,穩定,可靠。
蘋果掌控推送伺服器和 OS 。

3 更省電。

4 讓整個系統的體驗更統一和簡單。
不會出現殺後台這種腦殘事。(不用大量 Apps / Apps 的服務為了推送掛後台)。
也不會出現 Apps 被殺就收不到推送這種腦殘事(早一點的新浪微博 Android 版仍然如此)。

5 開發容易。
當然,開發者還是要做些事情,比如維護個伺服器什麼的: http://www.ifanr.com/3979。但是復雜度無疑降低很多了。

Android 的推送
Apps 掛後台一直是 Android 引以為豪的特性(雖然我真的不知道是好處多還是壞處多。。)。。。大家掛後台等待推送就成為技術選擇。

當然, Google 事後也提供類似蘋果的推送方式了。倒也談不上抄襲,畢竟蘋果的整個技術實現也沒有什麼特別創新之處。

用戶的電池?

Apps 的開發者不會站在系統層面考慮的。他會假設其他 Apps 沒有那麼「不自覺」。而 Google 不強制的結果就是:沒人真正為用戶的電池負責。

但是, Google 的方案也並非全是悲劇:
也因為整個技術方案非強制, Android 的 Apps 在接收到推送後的表現更為靈活。
像 Line 的 Android 版本可以在推送通知的 Popup 上直接回復, iOS 就需要越獄才能做到了。

最後的話
強制和封閉,有時候並非壞事。他意味著做出這個決定的人,要為此負責。

所以,如果說蘋果的推送方案有何創新?

我以為是超越技術,不惜讓公司承擔更多風險和責任的解決方案。(類似的還有 BB 的專用網路, Kindle 的全球 3G )

個人相信,擔負起這些「額外」的責任,是值得的。。

5、你好 Spring mvc java伺服器ios android推送的 你最終怎麼實現的。

使用Socket,參考netty等socket框架。Ios和Android稍有區別,Android下App可以同樣使用netty等或者直接使用原生專Socket與伺服器簡歷Socket連接,IOS下代碼差屬不多,不過需要去蘋果申請一些亂七八糟的東西,Socket會由蘋果伺服器轉發。

6、為什麼 Android 的後台推送不如 iOS 的推送使用廣泛

Google 有提供類似的推送系統叫 C2DM,要求是要Android2.2以上,必須有安裝Google Play並且有Gmail帳號登錄。第一個條件專現在大部屬分Android 手機都可以滿足,第二個條件國內所有行貨基本都不滿足,刷過第三方ROM的手機也都大部分把Google的服務給閹割掉了。即便滿足前面兩個條件,在我們國家,Google的伺服器也會抽風。

7、ios 推送是建立在 蘋果推送伺服器嗎

方法/步驟

在developer.apple.com的member center設置AppId屬性,
enable push.

在developer.apple.com的member center創建APN證書,
Development -> Apple Push Notification service SSL (Sandbox) 用於沙盒app
Proction -> Apple Push Notification service SSL 用於AppStore app
創建完畢後,可以第一步AppId的屬性列表中查看到證書名稱

基於第1步修改的AppID重新生成provision file,
在iOS Project中載入此provision file,
這樣編譯出的app才可以獲取到device token(推送唯一標識符)

以下為針對服務端的推送設置步驟--------
在keychain中找到第1步創建的APN證書,
展開此證書,分別導出證書和密鑰,
名稱設為cer.p12和key.p12

打開控制台程序,
使用openssl 將cer.p12及key.p12轉成cer.pem和key.pem
命令如下:
$ openssl pkcs12 -clcerts -nokeys -out cer.pem -in cer.p12
$ openssl pkcs12 -nocerts -out key.pem -in key.p12
測試生成的cer.pem及key.pem是否可用
$ openssl s_client -connect gateway.push.apple.com:2195 -cert cer.pem -key key.pem
註:gateway.push.apple.com:2195用於appStore app;
gateway.sandbox.push.apple.com:2195用於沙盒app;
以上命令執行後會列印一大羅信息,最後處於可輸入狀態,打幾個字元回車後自動斷開連接即為正常。
合並cer.pem及key.pem
$ cat cer.pem key.pem > ck.pem
上傳ck.pem到推送伺服器的推送程序的目錄。
Tip:-----------------------
find / -name "*.php"
查詢推送伺服器php文件目錄用。
scp ~/Desktop/ck.pem [email protected]:/var/www/html
用於上傳本地文件到Linux伺服器用。
9
伺服器php代碼載入ck.pem向蘋果伺服器推送消息:略
客戶端oc代碼獲取token,接收推送消息:略

8、iOS 和 Android 的後台推送工作原理各是如何?有什麼區別?


2). 循環主動定時獲取
這種方法需要客戶端來做一個定時或者周期性的訪問服務回器端介面,答以獲得最新的消息。顯然這種方法有兩個弊端,一個是客戶端對電池的消耗顯而易見,另一個是消息的獲取不夠及時,如果是地震消息(大家笑了吧)。
3).長連接方式
這種方案和Google的C2DM的方案是一樣的,同時大名鼎鼎的蘋果用的也是這樣的機制。這種機制的弊端也是顯而易見的:我們需要開一個服務來保持和伺服器端的持久連接。But ANdroid系統的特點我也不說了。當系統可用資源較低,系統會強制關閉我們的服務或者是應用,這樣的話我們的連接中斷就悲劇了。

9、iOS 除了官方的推送服務,有其他的第三方服務嗎

實際上安卓也抄就是google是有像蘋果APNS的推送伺服器的,但是在國內沒有伺服器。
如果你的應用走後台進程一直連接伺服器,將會非常耗電,如果還非常耗流量,那你的應用會被用戶咔嚓掉。
安卓現在缺少一個整合的推送服務。像ios一樣,專門的推送進程與蘋果官方推送伺服器連接。如果安卓各個應用都連接各自自己的推送伺服器,不好管控,也非常費流量,實際上都是偽推送。
哦對你說的極光推送是個第三方,口碑還不錯,你可以試一試,也可以減輕自己的研發負擔。

10、求問 ios的推送怎麼寫 有個思路就好了,安卓有service, ios用什麼的?怎麼維持通信?

推送分兩種情況:
1. app 外推送,再分為 app 在後台或不在後台。如果不在後台,版這種情況是伺服器權直接推到蘋果的伺服器上,app 本身不需要做什麼。如果通過某個通知打開 app 的時候,app 是可以拿到該通知的內容的;如果 app 在後台,且系統是 iOS 7,支持靜默通知,那麼將由你的 app 直接收到該通知,並且可以自己發出一個本地通知。

2. app 內推送,伺服器還是可以直接推到蘋果的伺服器上,雖然不會顯示通知,但是 UIApplication 的 delegate 可以收到通知

與安卓ios推送伺服器相關的知識