iOS8 鎖屏應用推送

jopen 9年前發布 | 30K 次閱讀 IOS iOS開發 移動開發

介紹了ios8最新特性:屏幕鎖定狀態時,根據地理圍欄推送附近的app的相關知識。

什么是鎖屏推送

ios8在鎖屏狀態下收到推送消息,且顯示了應用的圖標,注意到下圖左下角KFC的圖標了嗎?這是什么,你見過嗎?

iOS8 鎖屏應用推送

沒錯,這就是ios8的最新特性,或者說一套技術組合實現的,包括:

  • 建議的應用程序(Suggested Apps)

  • 地理圍欄(GPS Geo-fences)

  • 鎖屏消息推送(Lock screen notifications)

  • iBeacon 

想象下這種場景:當你進入某個商家門店附近時,會收到這個商家推送的消息或建議的應用(這個應用可能你已經安裝,也可能沒安裝,就推送 appstore的下載地址),離開后會收到一條感謝消息;當你進入星巴克時,星巴克的app已經自動推送到你鎖屏的左下角了,不用解鎖、搜尋你的星巴克 應用就可以快速打開了。不錯吧,類似的業務場景還可以想象的更多,特別是針對o2o應用,讓更多激動人心的創新變成可能。

那,在這種體驗到底是如何實現的呢?下面對這4個技術路線分別進行簡要介紹一下:

一、建議的應用程序

iOS8 鎖屏應用推送

建議的應用程序是實上是一個打開app的快捷鍵,使用GPS定位,ios8設備可以跟蹤你的位置,當某個app得到了你的位置,這個app就可以展 示在鎖屏左下角,滑動它可以快速打開此app(如果沒有安裝就跳到appstore下載)。此功能可能會對某些用戶來帶來騷擾,用戶可以在上面關閉此推送 功能,或針對單獨應用關閉。如下圖:

iOS8 鎖屏應用推送


二、地理圍欄

地理圍欄是指基于位置的周邊虛擬邊界,當你離開或進入這些特定位置時,應用程序會通過地理圍欄來提醒你。

iOS8 鎖屏應用推送

iOS8 鎖屏應用推送

三、鎖屏消息推送

由apple自動實現消息推送,技術實現上應該也是apns服務,只不過展示的位置不同而已。如果你的app具體beacon能力,不管你的app是開啟或關閉或手機剛重啟,均可以探測到beacon信號,由建議的應用程序,就可以根據商家唯一標識,推送特定商家的廣告等內容。

iOS8 鎖屏應用推送

ios7與ios8對應用推薦的不同處理

四、iBeacon

iBeacon[1] 是蘋果公司2013年9月發布的移動設備用OS(iOS7)上配備的新功能。其工作方式是,配備有 低功耗藍牙(BLE)通信功能的設備使用BLE技術向周圍發送自己特有的ID,接收到該ID的應用軟件會根據該ID采取一些行動。比如,在店鋪里設置 iBeacon通信模塊的話,便可讓iPhone和iPad上運行一資訊告知服務器,或者由服務器向顧客發送折扣券及進店積分。此外,還可以在家電發生故 障或停止工作時使用iBeacon向應用軟件發送資訊。(百度) 近場通訊的技術之前還有 NFC(RFId)、紅外線等,事實在apple pay也是用NFC技術的。(參考 NFC與藍牙的優劣)。

beacon是硬件,iBeacon是軟件。

beacon硬件只會發送消息給支持iBeacon協議的設備,發送的數據結構由3部分組成:一個UUID,標識beacon商 家,一個major,標識區域,如商家位置,一個minor,標識子區域,如果商家的一個部分,如銷售部。beacon不接收消息,只發送消息。 beacon不會發送具體商家促銷等內容,它只發位置信息,收到位置消息的app,在監聽到位置信息后,再根據業務邏輯推送促銷內容。

目前4s+ios7.1以上都支持ble4(及支持ibeacon),android據說在anroid L版本會支持。(傳統做法是駐留服務在后臺不停掃瞄或雙服務或鬧鐘服務,這些都比較耗電,沒有可用性,還得等新版本android在系統層支持才行)。



業務場景要解決的兩個主要問題

上述4種技術互相混合,就產生了最開始描述的應用場景,基于位置的app要解決兩個主要問題:一是跟蹤我的位置;二是興趣點標識(如商家的位置)。兩者都需要互聯識別和匹配,才可以實際推薦特定應用、根據特定應用推送特定消息。

下面分開具體解釋現在的做法。

一、跟蹤位置

傳統做法是通GPS定位來實現,同時輔以wi-fi熱點、基站信息,三種方法來修正用戶的位置,但這種定位數據不夠精確,常常有較大的誤差,特別是 在室內時。這就需要在室內(商家)布署不同的熱點設備,之前小米等公司的做法是架設wi-fi設備,跟電信號百推廣的free-chinanet的做法類 似,現在推廣的情況不清楚。apple的做法就是架設不同的iBeacon設備,據傳平安付在做。兩者均需要架設設備,所有會是一個比較漫長的過程。如果 這個流量入口搶占了,將會又一個技術革命。只要成本和收益可觀,商家應該是愿意嘗試的,而且還可以把線下支付場景一并接入(雖然銀聯一直在打壓線下支付, 但革命潮流是阻擋不住的!)。

二、商家標識

室內定位是哪外一套技術解決方案,apple的做法是使用iBeacon技術,它基于藍牙BLE4.0以上協議實現,需要在各商家鋪設各iBeacon硬件設備,每個設備都有唯一的標識。目前國內有很多廠商在生產這種設備了(如這家,包括微信也支持類似設備接入和綁定了(微信什么都做!)。有的廠家成本可以做到30元一個,覆蓋范圍在40米左右。當然覆蓋范圍還跟室內環境有一定關系,如障礙物等。一臺手機可以支持20個區域監控(來源 百度)。這些廠家已經實現類似如下功能:掃描周圍的傳感器設備、讀取傳感器設備的參數、上傳傳感器設備狀態(電池、UMM等)至 云平臺、設置傳感器等。


下一步,技術實現

作為一名開發者,你所要做的就是設置beacon區域監控/beacon地理圍欄,然后等用戶進入這個區域,這個APP的圖標將自動出現在鎖屏上。

技術實現上,首先得開啟info.plist

<key>NSLocationAlwaysUsageDescription</key>
<string>當你靠近星巴克時可以在鎖屏時更容易的訪問星巴克APP</string>

慎重!NSLocationAlwaysUsageDescription在提交app審核時,審核說明一定要說清楚應用場景,否則很可能拒掉!!

下面的代碼基于 EstimoteSDK

#import "ESTBeaconManager.h"

@interface AppDelegate () <ESTBeaconManagerDelegate>
@property (strong, nonatomic) ESTBeaconManager *beaconManager;
@end

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    self.beaconManager = [[ESTBeaconManager alloc] init];
    
    // modify the region definition to match your set of beacons
    ESTBeaconRegion *region =
        [[ESTBeaconRegion alloc]
         initWithProximityUUID:ESTIMOTE_PROXIMITY_UUID
         major:12345
         minor:54321
         identifier:@"My region"];
    
    [self.beaconManager requestAlwaysAuthorization];
    [self.beaconManager startMonitoringForRegion:region];
    
    return YES;
}

@end


參考

ibeacon faq http://blog.beaconstac.com/2014/08/beacon-faqs-everything-you-need-to-know/

業務場景 http://blog.beaconstac.com/2014/08/marketing-with-ibeacons-10-tips-to-make-the-most-of-it/

http://blog.estimote.com/post/97824495825/ios-8-pushes-location-context-to-a-new-level-lock

http://blog.beaconstac.com/2014/09/how-ios-8-takes-beacon-enabled-apps-to-the-next-level-enables-ibeacon-triggered-lock-screen-notifications/

http://www.gottabemobile.com/2014/09/28/how-to-use-suggested-apps-in-ios-8/


作者

朱淦 350050183@qq.com

http://my.oschina.net/u/1263162/blog

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!