開發移動App 的童鞋,都會有這樣一個問題:應用發出去了,就不可控了。用戶手機上一堆的應用,有可能用戶根本就忘記了我這個應用的存在,不怎麼去使用,我有沒有什麼辦法?我發佈了新版本相信能夠更吸引用戶,但他也不知道啊;我想作個活動來激活用戶更多地使用個人應用,怎麼作到呢? php
提升活躍度的根本固然還在於產品自己,這一點是毋庸置疑的。正若有牛人總結說:互聯網企業產品是惟一的核心。 html
想必不少人瞭解,產品以外,運營也是很是重要的部分,甚至是更重要的部分。最近著名的移動應用統計供應商 Flurry 發表了一篇文章:移動應用經濟的數學模型 - 盈利模式矩陣。這篇文明開篇就談到:在新的移動應用經濟中,無論一個公司最初有多成功,最後的勝者取決於用戶參與度和維繫用戶的能力。得到用戶以後,真正的戰鬥纔剛打響,那就是留住用戶,並經過他們最終獲利。在「移動優先」的全新世界裏,參與度就是新戰場。 android
而在移動App裏集成 Push能力,則賦予了開發者對移動App的運營能力,讓開發者有更多的機會來與用戶交互,讓用戶更多地參與進來,留住用戶,並最終提升獲利。 ios
Push 怎麼樣提升應用的活躍度 服務器
國外爲不少大 IT 公司包括 Oracle, Intel, Saleforce, USA Today 在內都使用的第三方推送服務 Urban Airship ,針對大量應用作了一個統計,以下圖: 網絡
上圖代表,平均一個應用通常 6 個月留存率只有 15%,但作了 Push 後留存率提升一倍。 併發
即當一個應用,適時地運營向用戶 Push 一些通知、消息時,可以有效地激活用戶更多地使用 Apps,更少地卸載應用。 app
全部移動 App都有必要具有 Push 能力 jsp
上述談到的是,Push 可以有效地提升用戶活躍度與用戶留存率。從這個角度,全部的移動 App都有必要加上 Push 功能。 ide
其實,移動App 具有Push 能力,還有更多的必要性,如下再具體地列舉幾個:
怎麼樣爲移動應用加上 Push 能力
通常來講,每一個手機平臺都有自家提供 Push 功能,讓應用開發者可以很方便地把 Push 能力集成到應用中。Android 上有 GCM (Google Cloud Messaging,原來叫 C2DM),iOS 上有 APNs(Apple Push Notification service),Windows Phone 上有 MPNs(Microsoft Push Notification service)。
但悲劇在於,GCM 在國內基本上是不可用的。有以下兩個緣由:
其1、國內大部分 Android 手機都是不帶 Google 服務的,也就用不了 GCM 這個 Google服務。這是主要的問題。
其2、在國內,Google的服務,大可能是不穩定的。緣由你懂的!
GCM 的不可用,給國內 Android開發者帶來很大的困擾,迫使 Android 開發者來思考:怎麼樣在 Android 上實現 Push?
咱們有兩個基本的選擇:
1、本身開發Push
先說第一個方案,本身開發Push。本身實現又有以下幾個可能的做法:
相似於 androidpn 的開源方案存在必定的問題,請參考另一篇文章:Android Push 開源方案解析。這篇文章根據咱們團隊的聊天應用實踐經驗說明,想要直接基於開源系統來實現 Push服務會有其問題:系統容量是有限的,不適合移動對流量、電量消耗要求比較高的場景,要高可用性仍是須要去基於開源的源代碼去調整、改進,維護成本高。
第二個本身實現的方式,是僞 Push,即所謂輪詢(polling ),其實是定時去 http 拉取,檢查服務器端是否有信息須要下發。我所瞭解到當前至關一部分本身實現了 Push方案的移動應用,都是採用這種方案來實現的。這種方式的好處在於:實現簡單,容量大點http服務器端也相對容易搞定。
可是,僞 Push方案其問題也是很明顯的,即其時效性是達不到要求的,推送消息沒法及時到達客戶端。若是輪詢間隔很短,則電量、流量消耗都會比較大。另外,http每一個請求包也相對較大。
第三個本身實現的方式,則就徹底是自主開發了。這個路子來講,仍是相對更難走一點的,開發團隊須要有比較強的網絡服務開發經驗,最好有 IM開發經驗。這裏不詳述技術上的細節與挑戰。
2、使用第三方提供的 Push服務
Push 是個基礎服務,不論是以開源方案爲基礎搭建,仍是徹底自主研發,投入都是比較大的,須要有網絡服務方面的專業團隊。投入很大的成本開發後,隨着客戶端用戶量不斷增大,其後期擴容、維護的工做量,也都是不斷上升的,難度也愈來愈大。
因此,大多數應用開發者,不是去本身搭建 Push 這個基礎服務,而是考慮去使用第三方提供的專業的服務。
國外有很多專業的第三方 Push 服務,好比 Urban Airship,Push IO,Pubnub,Pusher。這些公司的服務通常是要收費的。固然在國內,使用國外的服務仍是會有網絡延時方面的考慮因素(你懂的)。
國內來講,以前沒有給廣泛開發者開放使用的第三方 Push服務提供商。最近,有公司來提供這個服務了,那就是:極光推送。
極光推送:免費快捷的解決方案
極光推送,是專門針對移動 Push場景來設計的、開放的大容量 Push 服務。其技術團隊由 Oracle、騰訊、華爲前員工組成,並作過移動聊天App,對大容量併發網絡鏈接服務具備豐富的經驗。
極光推送的目標是在如下幾個方面作到極致:
極光推送也力求開發者儘量簡單的集成SDK,爲應用提供 Push能力。在 android 應用客戶端,最少可只須要一行代碼,即集成極光推送SDK:
JPushInterface.init(this);
以外根據要求複製 SDK jar 包到應用裏指定的目錄,以及根據要求配置 AndroidManifest.xml 文件。具體瞭解請參考極光推送推送Android SDK集成指南。
在服務器端,咱們提供開發者Portal,註冊開發者賬號後,登陸便可在開發者Portal裏嚮應用推送消息,簡單到只須要填寫推送內容,而後點擊發送按鈕。另外,也提供遠程 API 方式供推送消息。完整地瞭解,請從這裏開始:極光推送快速入門。
通常來講,同一個移動App,都會有多個平臺的版本,通常至少有 Android 與 iOS 二個平臺的。極光推送目前支持 Android 與 iOS 兩個平臺,服務器端推送時,能夠同時兼容這二個平臺的推送。這一點,能夠大大地減輕運營的工做量。
若是您有移動App 集成 Push 能力的需求,或者對相關技術有興趣,請訪問極光推送官方網站瞭解進一步的信息,或者關注@極光推送新浪微博。