因?yàn)楣緲I(yè)務(wù)關(guān)系,希望在iOS在后臺(tái)的時(shí)候能存活去做某些業(yè)務(wù)操作(其實(shí)就是流氓的后臺(tái)?;?。=)
最早是使用后臺(tái)定位實(shí)現(xiàn)的,信心滿滿的去上架,結(jié)果被蘋果爸爸錘的頭都破了。連續(xù)被拒3次,申請(qǐng)打電話蘋果代表也錘了我一頓,申請(qǐng)?zhí)O果審核申訴又被錘了一頓。想一想我真是頭鐵啊emmm
閑話不多說,開始這篇博客的主題
我們的業(yè)務(wù)其實(shí)很簡單,就是后臺(tái)有業(yè)務(wù)數(shù)據(jù)來了,客戶端哪怕在后臺(tái)也要處理。
蘋果的?;顭o非三種方式
1.后臺(tái)播放無聲音樂
2.后臺(tái)定位
3.推送喚醒
播放音樂
直接被我pass了,我覺得機(jī)審都會(huì)把我拒了。。。壓根不考慮
后臺(tái)定位
正好我們的業(yè)務(wù)吐過硬扯還能和業(yè)務(wù)辦公場所扯上關(guān)系,頭鐵就是上!通過后臺(tái)定位讓app保活,成功實(shí)現(xiàn)了。不過被??爸爸錘了。方案二,pass
推送喚醒
那這時(shí)候,就剩這最后一種方式了。
推送分兩種,本地推送和遠(yuǎn)程推送。
本地推送
本地推送其實(shí)類似于一個(gè)定時(shí)器,到了觸發(fā)的時(shí)候就會(huì)觸發(fā)。一般有很多用來做鬧鐘或者提示用戶簽到一類的場景。不過根據(jù)我的測試,當(dāng)應(yīng)用在后臺(tái)三分鐘后,被掛起以后這個(gè)本地推送就不再繼續(xù)推送了。(也不知道是不是我的測試問題,反正我是沒能保活成功。)
靜默推送(不用voip,有的個(gè)推運(yùn)營人員是非技術(shù),回答讓你搞voip,別被忽悠了)
靜默推送其實(shí)是遠(yuǎn)程推送的一種。在個(gè)推中,都屬于透傳消息(建議看一下這一篇)個(gè)推:什么是普通推送?什么是透傳消息?
相信在看我這個(gè)前老哥們肯定也搜過其他的博客文章
無一例外肯定提到了:
{
"aps": {
"content-available": 1,
"sound": "com.gexin.ios.silence"
}
}
這個(gè)東西,不過萬一有沒搜到的呢emmm我還是再說一遍
content-available屬性。0是非靜默,1是靜默
個(gè)推中,無聲,sound屬性:com.gexin.ios.silence(其他的推送是不是如此我就不太清楚了)
alert,body切記不要寫東西,要傳值往最后看
接下來是傻瓜式教程
準(zhǔn)備工作
1.推送證書準(zhǔn)備好
這部分太多教程了,隨便搜一個(gè)搞一下就差不多了,不上圖了。記得導(dǎo)出的p12要放到個(gè)推平臺(tái)喲。
2.打開開關(guān)


3.代碼部分

就在這個(gè)里面了,當(dāng)被掛起的時(shí)候,收到推送,執(zhí)行這里的代碼,喚醒a(bǔ)pp30s左右的時(shí)間,讓你盡情的做自己想做的事??。
我把生命周期寫在下面,也好復(fù)制粘貼去搜索,我是不是很體貼=。=
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler
接下來怎么處理就是你們自己去做業(yè)務(wù)處理了~
如何不要后臺(tái)配合自行測試?
個(gè)推官網(wǎng)是干什么用的???
小伙子來來來,又是兩篇傻瓜式教程(內(nèi)容如標(biāo)題,如果都會(huì)了就不用看了~)
個(gè)推-開發(fā)環(huán)境推送測試
個(gè)推-iOS特定人群推送
打開個(gè)推官網(wǎng)



然后推就完事了~~~~
這時(shí)候你應(yīng)該能確定是可行的了。
接下來就更簡單了,讓后臺(tái)加入聯(lián)調(diào)。
如果后臺(tái)是java
簡單:
payload.setContentAvailable(1);
payload.setSound("com.gexin.ios.silence");
如果你還想傳值,有自定義設(shè)置key-value方法
payload.addCustomMsg("key","value");
就完事了。
祝各位老哥順利完成需求,不用砍死產(chǎn)品經(jīng)理~