WKWebView本地替換資源和網(wǎng)頁支付(針對H5游戲上線App Store)

關(guān)于上蘋果的H5游戲上線概況:

? ? ? 目前H5加殼游戲上線基本是靠運(yùn)氣上線厕倍,純粹的只為了加載H5網(wǎng)頁的殼基本是過不了的瞄勾,一般H5游戲CP都想方設(shè)法的增大包體屁药,但是無用的增大包體會被蘋果檢查出來一般會當(dāng)做混淆2.3處理虑瀑,嚴(yán)重可能封號馆纳,所以很多CP都想把游戲資源(圖片,js,json)等資源放在本地糠亩,通過攔截網(wǎng)頁請求來加載本地資源虐骑。攔截資源遇到的問題:

* ? ?相信大家都在用WKWebview來加載游戲鏈接(WKWebview相比UIWebview的優(yōu)勢就不在這里說了),而我們攔截都是用NSURLProtocol來攔截的(NSURLProtocol是URL Loading System的重要組成部分赎线。它是一個(gè)抽象類廷没。可以攔截網(wǎng)絡(luò)請求垂寥〉呃瑁可以攔截的網(wǎng)絡(luò)請求包括NSURLSession,NSURLConnection以及UIWebvIew),而NSURLProtocol來攔截WKWebView會導(dǎo)致Post請求被掛起滞项,而被掛起基本是蘋果針對WKWebview性能優(yōu)化而舍棄的東西狭归,不過我們合理的攔截其實(shí)可以避免。目前網(wǎng)上說的解決方案:

? ? 目前網(wǎng)上說的

? (1)自定義Scheme:針對于get請求有效文判,post請求是沒有作用的过椎!

??(2)還有就是把post請求body放在httpHead中,請求頭的參數(shù)大小是有限制的

* ? ? ?圖片攔截也會出現(xiàn)一些圖片加載不出來的情況戏仓,究其原因是因?yàn)闆]有請求頭疚宇,所以涉及到自定義請求頭的問題,下面一步一步講解

本地替換圖片問題

我們現(xiàn)在針對于上述2種攔截問題以2種攔截方式來進(jìn)行赏殃。

一:單個(gè)JS的攔截

1.首先你需要先注冊NSURLProtocol

注冊代碼

2.你需要?jiǎng)?chuàng)建一個(gè)繼承NSURLProtocol的子類敷待,并實(shí)現(xiàn)NSURLSessionDelegate的代理

代理

3.注冊成功后我們會發(fā)現(xiàn)所有的WebView的請求鏈接都會走+ (BOOL)canInitWithRequest:(NSURLRequest*)request這個(gè)方法,我們在這里設(shè)置攔截規(guī)則嗓奢。

攔截規(guī)則

4.當(dāng)設(shè)置了攔截規(guī)則后滿足該規(guī)則后會走+ (NSURLRequest*)canonicalRequestForRequest:(NSURLRequest*)request

此時(shí)我們在這里進(jìn)行本地js的替換讼撒。并及時(shí)注銷?NSURLProtocol和攔截方法

攔截和解除攔截

tip:攔截是需要同時(shí)注銷這2種方式

二:大量資源的本地替換

圖片資源的攔截一般有以下特征:

1.攔截資源很多,針對游戲所以資源進(jìn)行攔截的話會有很多的攔截

2.圖片需要去設(shè)置緩存

NSURLProtocol攔截步驟:

1.圖片攔截我們通過一個(gè)Plist文件進(jìn)行統(tǒng)一管理股耽,這種管理方式是通過本地圖片名字為值根盒,網(wǎng)絡(luò)圖片地址為鍵的對應(yīng)方式,當(dāng)檢測到key是進(jìn)行攔截物蝙。

2.而我么你的替換是在在startLoading中加載炎滞,實(shí)現(xiàn)思路:將需要替換的地址重新拼接response返回,再響應(yīng)本地資源诬乞。我們需要自定義請求頭的參數(shù)册赛,關(guān)鍵代碼如下:


圖片上傳的關(guān)鍵代碼

支付和替換具體代碼因公司在用不貼代碼啦,具體可以添加QQ:969661780

或者微信:


前不久用本猿的殼上線H5游戲:

https://apps.apple.com/cn/app/沙城天下-沙蟲襲擊/id1461700547#?platform=iphone

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末震嫉,一起剝皮案震驚了整個(gè)濱河市森瘪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌票堵,老刑警劉巖扼睬,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異悴势,居然都是意外死亡窗宇,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進(jìn)店門特纤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來军俊,“玉大人,你說我怎么就攤上這事捧存》喙” “怎么了?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵昔穴,是天一觀的道長短蜕。 經(jīng)常有香客問我,道長傻咖,這世上最難降的妖魔是什么朋魔? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮卿操,結(jié)果婚禮上警检,老公的妹妹穿的比我還像新娘。我一直安慰自己害淤,他們只是感情好扇雕,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著窥摄,像睡著了一般镶奉。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天哨苛,我揣著相機(jī)與錄音鸽凶,去河邊找鬼。 笑死建峭,一個(gè)胖子當(dāng)著我的面吹牛玻侥,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播亿蒸,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼凑兰,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了边锁?” 一聲冷哼從身側(cè)響起姑食,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎茅坛,沒想到半個(gè)月后音半,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡灰蛙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年祟剔,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片摩梧。...
    茶點(diǎn)故事閱讀 40,561評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡物延,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出仅父,到底是詐尸還是另有隱情叛薯,我是刑警寧澤,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布笙纤,位于F島的核電站耗溜,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏省容。R本人自食惡果不足惜抖拴,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望腥椒。 院中可真熱鬧阿宅,春花似錦、人聲如沸笼蛛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽滨砍。三九已至往湿,卻和暖如春妖异,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背领追。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工他膳, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蔓腐。 一個(gè)月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓矩乐,卻偏偏與公主長得像龄句,于是被迫代替她去往敵國和親回论。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,573評論 2 359