知道大家有沒有遇到這樣的情況:滿心歡喜的在網上購買了一部新手機,關注很久了,終于降價,收到以后卻察覺到了不對,怎么感覺不像是新機,而像是用了幾天退掉的機器?
喜歡淘金的朋友,轉便了交易平臺,終于看中一款95新的iPhone 8Plus,收到之后玩的也很流暢,發現有新系統,點了升級,再也打不開了。遇到這樣的情況,應該怎么做呢?
小優總結了一下幾點,供參考:
一、如何辨別卡貼機?
1、可以接收手機短信的號碼前面會顯示+86,內置外置卡貼機有此特征。
2、iPhone可通過設置,通用,關于本機,查看運營商,若運營商名稱是英文或亂碼,如vodafone IE 14.0,這些就是內置卡貼機。
3、iPhone可以通過看基帶證書,正常是257,妖機會顯示0。
4、使用移動SIM卡上網,內置卡貼機要開數據漫游才有3G才能上網,而無鎖機只需要開蜂窩數據就可以上網了。
二、如果確認手機不是卡貼機以后,測試信號、通話、短信收發是否有問題。
插進一張手機卡,測試通話是否正常,有無雜音,對方能否聽清,如果這個正常,那么手機的送話器還有聽筒正常。
三、WIFI功能,iPhone有很多機器都存在WiFi功能有障礙,這個一定要測試好,以免在未來的日子里帶來不必要的麻煩。
連接一個WiFi,然后試試在聯網的情況下連續玩三十分鐘左右,如果手機在聯網的這個過程中沒有出現WiFi掉線、或者不能上網的情況,那WiFi正常。
四、照相機,照相機的測試需要擦干凈手機前后鏡頭,看看正常的拍照使用屏幕顯示出來的是否清晰,會不會抖動或者出現卡屏。
五、二手iPhone的電池現在已經有軟件可以測試出來,在電腦上面下載愛思助手,把手機插到電腦打開愛思助手,然后看看上面顯示的電池壽命,如果電池壽命低于80%,那么證明這塊電池已經是老化的了。
六、屏幕。iPhone的屏幕由觸摸及顯示組成,測試觸摸可以按住屏幕某個圖標,在屏幕四周拉動到每個位置,測試多幾次,如果出現卡屏或者圖標突然跳回原來的位置,那么屏幕有問題。顯示可以打開一張純白或者純黑的圖片看看是否有亮點,如果有亮點屏幕也是顯示有問題的,但這個問題不是很大,看看能否接受而已。
七、感應,這個問題很雞肋,但是如果不測試好,會對你以后的生活造成一些沒必要的影響,如果感應排線不好的話,可能你在用聽筒聽微信語音或者打電話的時候,臉會觸摸到屏幕亂按。感應測試的時候是打電話,看看屏幕是否拿到耳邊手機會暗下去,拿開的時候是否又會再亮起來。如果拿到耳邊不會暗下去,或者暗了以后拿開還是一樣暗屏,那么這個手機的感應排線也是有問題的。
八、最重要的一步來了,測試主板。手機拿到以后,都會拆開底部螺絲看看主板表面新不新,有沒有劃痕,如果劃痕很明顯這個手的主板一般就是動過的。如果主板很新并且防水標正常顯示是白色的那么這個手機的主板多半沒有動過,但不排除一些JS把主板翻新一遍,這個屬于例外,需要拆開整個主板看看是否有動過的痕跡,如果不善于拆機的小伙伴慎重操作。
檢測主板沒有問題后,我們家就開始用手機邊充電,邊錄制視頻,這個時長約為三十分鐘,在這個過程中如果手機沒有出現紅屏、藍屏、死機、自動關機等情況證明手機沒問題,如果出現以上情況千萬不能要這個手機,不然你買這個便宜的手機省下來的錢一定會交給隔壁修手機的王師傅。
最后一步,拿著手機連拍1000張照片,看看能不能順暢地拍下來。
如果上面的每一步檢測都沒有出現意外,恭喜你,價格合適的話,這個手機還是可以入手的。
內容來源于@什么值得買SMZDM.COM|網友 小卷福
手機。但是二手市場魚龍混雜。真假李逵處處深坑很多人不知道如何選購和入手。所以本人從趕集58剛出來不久倒騰玩兒機幾年的經驗跟大家分享下購買二手機時候要做哪些事從而保障自己錢花的值!!買到物美價廉的東西!相信咱們這邊可定有挺多有想買二手機的小伙伴。希望能幫到你吧。當然了,可定也有大神,如果是大神,本人有不足的地方希望能夠補充,輕噴哈!希望文章能給大家帶來幫助,感謝!
①14天機:顧名思義就是只有14天內的使用時間。這個其實是外國的一種做法。外國運營商有可以讓顧客在挑選手機后有14天的體驗時間。如果14天不滿意可以退還給運營商,有點兒像我們TB的7天無理由退貨。但是在我們這邊手機激活機制所以是不支持這個。所以14天機全部為國外到國內。一般在商家手機出售,很少能流到個人賣家手里。
②準新機:就是拆封過,但是幾乎沒有使用,激活過。當然拆封過沒有激活的也可以統稱為準新機。
③有鎖二手機:有鎖這邊稍微解釋下。這邊的鎖是指網絡鎖。什么是網絡鎖呢。網絡鎖就是插上我們大陸的卡是不能來信號,不單單是不能上網,是直接沒有信號,自然就無法撥打電話發短信這些基本操作。所以既然國內卡不能用那機子就是國外流進來的。國外流進來的所有機子統稱為水貨。水貨并不是說產品配置或者質量比較水,現在沒有特殊配置(像三星在韓國本地CPU一般用自家和大陸用高通)情況下一般是一樣的。有人說有鎖機既然國內不能用那賣還有人買?當然有了,因為出現了卡貼這東西。有了卡貼,手機卡跟著卡貼一起放進手機就可以用了。這邊先簡單說下后面再詳細說下。有鎖機一般價格是要低廉一些。
④改內存機:這個一般比較少人會自己說明,但是有些人還是會說。因為現在蘋果漏洞原因,出現一大批16G改64G改128G的機子。因為16G壓根不夠用,這個大家都懂。目前改內存的還沒有特別大的危害。除了SE改會指紋失效,現在好像也解決了。畢竟蘋果能用的芯片就那幾家大廠。但是!蘋果什么時候會封堵這個漏洞誰也不知道,所以指不定哪天就over這個很難說,而且改過,那機子可定就算為修過。修過的機子相對價格要便宜。所以這個機子不建議考慮。
⑤普通無鎖機:意思就是和上面說的有鎖是相反的,在國內可以直接插卡來信號。這種機子最多。里面包含很多版本。只要是無鎖的都歸為這一類 我們能見到或者考慮的一般就是這種。
⑥翻新機;就是舊的機子外觀磕碰嚴重或者有出現過損壞的機子進行維修然后套上一個新的外殼從而兜售一個較好的價格。這種機子質量參差不齊。有一定幾率出現在自稱14天機準新機里,或使用很長一段時間使用痕跡非常少的。
⑦妖機:就是一些小作坊或者個人維修師傅自主組裝的機器。或者大修過然后時不時出現問題的手機可以統稱為妖機,妖機質量及其不穩定。不建議購買。
⑧山寨機:這個就不用解釋了吧。。。
①國行,港行,美版,韓版,日版,亞太等等等等:這些都是指國家銷售地。國行就是在大陸本地銷售的機子有我們下發的入網許可證。港版意思就香港那邊。依次列推美國韓國日本,亞太包含很多地方如馬來西亞啊新加坡這些地方。因為每個國家運營商不同所以每個國家也有有鎖的也有無鎖的。這個要當地運營商決定的。
②官解:意思就是外國有鎖的手機,進行了運營商官方解鎖,從而可以在我們本地這邊直接脫離卡貼直接插卡使用。官解后跟無鎖機是一樣的。
③硬解:意思就是有鎖機子官解不了然后在維修師傅手里進行更換主板等維修操作從而達到無需卡貼進行使用的機子。這種也叫黑解。硬解后機子不能抹除所有數據,不能用ITunes進行恢復刷機,但是可以用OTA升級。
④小刀,大刀:這是講價的意思。接受小刀就是接受小砍價大砍價的不接受。可大刀說明賣家標的價格自己都覺得水分比較高可以接受大刀。
⑤暗病:就是賣家沒有說明的不容易看出來的損壞地方。比如屏幕有亮點。然后屏幕某個區域無法觸摸或者信號有問題等等等等、
⑦無拆無修:沒有拆過。沒有維修歷史過。拆修過的機子一般要比無拆修過的價格要低
①平臺交易
現在逐漸出現了很多官方售賣二手機的平臺。像京東啊,愛否啊,淘寶官方也有易機網等等等。可能是發現這塊利潤巨大,所以漸漸加入了戰壕。在趕集58這種剛出現的時候很少有這種官方售賣的。還有像轉轉這種官方售賣和買賣家自由交易的,還有閑魚這種純自由交易的中介平臺。我們今天這邊并不討論這些官方售賣平臺的。他們的確質量各方面都得到了相應的把關,可以讓人放心。不過價格優勢不大,所以也沒有啥可說的。我們這邊主要討論閑魚還有稍微講下轉轉交易。因為轉轉現在出現了官方驗機,所以稍微點一下就好了。
第一步選擇賣家:在閑魚上,人非常雜,非常多。小白也多,大神也多,專業賣家也多當然了騙子也多。這毋庸置疑的。騙子往往利用價格低于市場價很大來吸引人然后再蠱誘用別的聊天軟件進行交流,還有進行貨到付款這種等等方式。所以在我們看到自己想要的東西的時候先別著急。一分錢一分貨在大部分時候還是受用的。當然不免也有低價好東西的也有當傳家寶的。但是還是建議大家在選擇賣家的時候盡量還是選擇實名和芝麻雙認證賣家。盡量選擇芝麻信譽高的。(但是也不能就完全相信了信譽高賣家,不一定芝麻的高評分就說明這個人一定誠實。只是建議盡量找有雙認證和高信譽這樣遇到騙子幾率相對比較少)切記!任何操作都要在相應的平臺上進行。
第二步聊天:看中東西和賣家私聊。記住,所有的私聊都要在平臺軟件上進行。任何誘導離開平臺聊天的什么微信QQ電話等。又或者要求走貨到付款等等等(這邊貨到付款和郵費到付是有區別的別看錯了)。反正不在平臺上進行交易的,有這種情況的基本就不要再繼續下去了。很大程度上是騙子。在聊天過程中可以了解手機情況。機子有沒有什么暗病啊。成色怎么樣。具體有什么磕碰。什么版本。有無鎖。有沒有拆修過然后有哪些配件等等。然后再講價格啊啥的,統統問一遍。這些賣家回答了到時候如果有退貨是可以作為證據的。最后要問下賣家的手機IMEI碼。并在手機背后拍一張發給你。這個是這臺手機的唯一憑證。這對買賣雙方都好。確認你收到的的確是這臺機子和如果發生退貨寄回去的是同一臺機子。然后要下序列號查詢下手機。如果確定沒問題了。就可以下單了
第三步收貨:貴重物品本人建議還是使用順豐比較保險。因為順豐快遞員一般態度可以比較有耐心。去收機子的時候建議帶一張手機卡一起去收機子。第一要當著順豐的面拆開包裹。然后拿到手機先對一下機子后面的IMEI碼確認你收到的機子是跟賣家掛賣聊天的同一臺機子。然后開機后直接把SIM卡插進手機。然后打開設置——通用——還原——抹除數據和信息。直接還原掉。然后手機就會重啟。直接到激活頁面。一步一步激活。能跳過的盡量跳過。直到跳到桌面就可以了。這個主要是驗有沒有隱藏ID。如果有隱藏ID的話十分麻煩。到時候賣家說是你輸入的ID然后想退貨坑他。所以避免這種發生在收快遞的時候還是麻煩點兒。快遞員一般會催。和他溝通下。如果派送點離自己近可以自提然后就可以在一邊慢慢弄了簽收。好,簽收完下一步就可以認真驗機了。建議第一先連接ITunes進行刷機恢復。去威鋒找到相應的刷機包進行刷機回復。具體不知道如何用ITunes進行恢復可以自行百度下。如果百度不懂改天可以再單獨寫篇。為什么要先進行ITunes恢復呢。因為手機有可能是爆改機,或者山寨機。很多JS為了利益比如會把6改成6S甚至5S改成6S,6SP都有。就是外殼用6SP然后里面裝個5S,然后再換快國產大屏。所以想用ITunes進行相應刷機包刷機是最直接了當了解型號是否對上。還原完了就可以一步一步驗機了。
第四步驗機:
①硬件檢驗:
1.按鍵,靜音,音量上下,home,鎖屏鍵,每一個都需要按幾次次,包括觀察靈敏度和手感。
2.屏幕,按定一個圖標正反方向靠邊邊循環一次,然后按一個圖標打橫上下擺動,打豎上下擺動,來回各兩次,留意有沒有區域彈跳,卡屏
3.設置里面順序測試:
A.wifi:打開,觀看刷新情況,最好到wifi很多的環境下,看看接收能力,然后一直連著wifi
B.藍牙:打開關閉兩次,觀看有沒有打不開情況,最后關閉
C.聲音:開到最大,把響鈴模式震動和靜音震動關閉一次,打開有震動就可以了
D.亮度:開到最亮,然后打開自動調節自動,然后用手電筒至貼到聽筒部分測試過程留意有沒有橫條有沒有動,沒動的話說明感官原件壞了。
E.私隱:打開定位
4.瀏覽器:打開,迅速截圖確保有白底界面,然后打開網站,打開過程左右擺動兩次,測試兩邊重力,網站打開之后測試圖片用手指放大和縮小兩次
5.地圖:打開定位位置,大概定位到就行了
6.錄音,錄音幾秒,播放,測試外放和聽筒,注意聽筒模式下近距離屏幕關閉感應靈敏度
7:指南針:打開糾正好,放在桌子上看看是否自動在跳,如果沒有,就證明正常
8.照相機:打開,測試對焦能否正常,黑暗底下拍照是否自動啟動閃光,前置切換看看能否正常,然后捂住攝像頭,在黑色環境下錄像,說話,約十秒,完畢
9.打開照片,尋找剛才白色截圖,打開放大,看看白底情況下屏幕有沒有斑點,紅點;第二部打開剛才黑色底錄像,同樣觀察黑底有沒有白斑,紅斑,最后播放錄像,聽聽外放是否有聲音就行了
10.通話,需要手持兩臺手機,左右測試,外放,外放話筒(攝像頭旁邊),耳筒,送話器等正常使用
11.耳機使用,聽音樂
12.拿出SIM卡然后用手電筒照SIM卡槽里面上有個白點看是否變紅,然后再看下面有沒有卡貼的模樣。(看到比較可能比較難,可以認真看下)
13.最后用手機數據不要連wifi玩兒一盤農藥!這個很重要。這是最近發現的小套路。因為農藥這種游戲是實時傳輸數據的游戲。能夠非常準確得檢測出信號傳輸是否有問題。很多手機雖然來信號也能正常通話上網。但是一玩兒實時數據傳輸的游戲就會出現頻繁跳460等網絡問題。那說明手機維修過,信號模塊可能有問題等。
如果以上均為正常 那說明手機是正常。
②軟件檢驗:
1、手機連接電腦打開愛思iTools等軟件查看電池使用效率,版本等各種信息。
2、可以上TB買個GSX查詢策略。這個可以很清楚的看到手機是否為由有鎖還是無鎖,有沒有官解還有維修記錄白黑名單等
3、使用安兔兔跑分。雖然屬于娛樂跑分,但是如果跑分相差太多,比如五六萬分,那很可能為爆改機。需要注意
接下來就是外觀觀察。如果和賣家描述差不多那就或者使用程度可以接受那就可以了。然后觀察有沒有縫隙。螺絲是否有較大的磨損。如果有那很可能是翻新機。不過如果機子成色非常新。但是電池檢測循環高,有一定幾率是翻新當然也有可能賣家保護的號。
說幾個需要注意的小點。
現在市面上的卡貼到了一個境界。就是可以做到跟無鎖激活流程一毛一樣。大家都知道之前如果卡貼破解是沒有那么完美的。比如電話要+86啊 要開數據漫游啊等等不完美的小問題。不過現在不一樣了,因為蘋果激活有一點兒漏洞可以讓卡貼直接下發入網許可。當然這有好有壞。就是有鎖機子終于可以無痛使用了。但是也有很多JS把卡貼弄在了手機里俗稱內置卡貼。然后偽裝成無鎖機售賣高價。這種機子非常麻煩,如果沒問題那還好。可是如果卡貼一旦損壞了,那就得取出。取出很麻煩商家大部分是焊死上面的。所以維修成本也非常高。所以這種是最惡心的。這點要注意下。所以如果不懂的建議花幾塊錢買個GSX查詢下還是比較安全。
還有就是改內存機可以利用序列號查詢就可以了。一般很少改內存會把序列號一起改的了
轉轉現在由于出現了平臺驗機。9塊錢。還是比較實用的。建議都可以實用。如果不走驗機那平臺交易跟上面說咸魚差不多。
②面交
說完平臺交易說下面交。很多人會在帖子里注明只面交。這有些人是圖便宜,但是有些人是有暗病機先直接賣掉。這樣沒有退貨操作。所以小白的話建議還是走平臺比較保險。不要覺得面交是最安全的。當然面交的話按照我說的那些硬件檢測檢測一邊沒有問題的話基本也沒有問題。不過也有些間接出現的暗病情況。比如5S內部屏幕PTF處螺絲互相擰錯就會出現藍屏等等這些。
所以有些可能有間歇性暗病不建議在驗機后第一時間就確認收貨。因為在閑魚轉轉這些平臺確認后是沒有售后的情況下使用兩天確認沒有毛病后再確認。
③朋友圈
還有一個就是朋友圈,QQ空間經常發二手的賣家。這種基本為職業商家。很多價格都在行情價或者低于行情價一點兒。交易完全靠信任。這種是非常不建議的。在我認識的有什么手機玩家小強啊 一樓土木有鎖顧問啊這些。有交易過幾次。的確發貨了。但是是直接先款后機。這種商家商品有好有壞,很多都是修過的。這種即使對方給你發貨了。你直接打款了,機子有問題你是非常被動的。前段時間收過小強的一臺6SP。屏幕是國產平3Dtouch損壞,左側過于靈敏要返回就往往就呼出了后臺,下部又有點兒不靈(具體情況可以看下面視頻。)。后面退來回運費就都上百了,最后直接掛轉轉說明情況虧一丟丟出了。這還是好了。有些是一直潛伏在你朋友圈然后經常發動態。其實你自己都不知道是什么時候加的他但是由于經常發動態所以你經常看到就感覺莫名的熟悉然后就打款了然后就兩眼淚汪汪了。所以盡量不要直接打款。即使你再怎么相信那個人。除非是非常好的朋友可以退的那種。不然都建議走平臺。
選擇賣家盡量選擇實名芝麻雙認證。并從高分到低分
聊天了解機子情況并要求拍攝IMEI碼來作為貨物憑證。
收貨后要刷官方相應固件,防止山寨和隱藏ID等。硬件檢測排除手機是否有暗病。軟件檢測了解機子版本電池損耗情況并GSX查詢了解手機激活策略維修情況和有無鎖。預防買到病機妖機內置卡貼有鎖機等。并觀察外觀預防買到翻新機拆封維修機等。
盡量在平臺上交易。能夠給自己一個保障。切記不要貨到付款或者直接打款進行先款后機,或者什么貨到付款一部分再平臺交易一部分。任何涉及到貨到付款的都很大幾率都是騙子。并且面交需謹慎。最好有比較懂的陪同。但是也不要相信所謂懂的。面交畢竟時間倉促很多時候會漏掉一兩個或者沒檢查出來。
好了差不多就寫到這里吧。沒上圖全文字。有些說的比較詳細啰嗦。希望有需要的可以馬了慢慢看。或者收藏了改天驗機可以一步一步對著來。雖然這個不能完全杜絕買到不好的機子,很多時候還需小伙伴自己擦亮眼睛。不過按照這個流程可以大大降低風險。
想了解更多相關內容,點擊下方“了解更多”,你會收獲更多相關優質內容
言
一般有做過移動端開發的前端都會遇到這種喚起App的問題,這篇總結的很齊全。今日早讀由時光網@會說話的魚 授權分享。
@會說話的魚,就職于時光網,前端負責人。推崇效率至上,對一切可提升組內工作效率技術都感興趣。Java與Nodejs愛好者,擅長前端架構,在全網性能優化、類庫研發、知識沉淀、工具應用等方面取得了豐碩成果。
正文從這開始~
最近在做微信、QQ、微博中使用js喚起App,之前也做過類似的功能,不過比較粗糙,考慮的情況不太全,而且那已經是很久之前的事情了,很多技術都已過時,現在有體驗更好,功能更加完善的喚起技術,之前的很多的方案,到了現在都已是不太必要了,現在通過這篇文章分享給大家一個全面的、最新的喚起方案,希望對大家有幫忙。
用戶點擊打開App或者下載按鈕(這個按鈕可能在一個下載入口頁、各種分享頁面的吸頂或吸底的banner),如果用戶已經安裝了App,則根據業務跳轉到相應的Native頁面;如果用戶沒有安裝該應用,則跳到AppStore或者應用市場去下載我們的App。
編輯切換為居中
添加圖片注釋,不超過 140 字(可選)
首先所有的下載/喚起入口都是一個直接跳轉,應該是這樣:
<ahref="https://applink-party.mtime.cn/mtlf">下載</a>
或者這樣:
window.location.href='https://applink-party.mtime.cn/mtlf'
所有的業務判斷都是mtlf這個頁面里面來做,這樣有兩個好處:
在iOS9之前,喚起方式和現在安卓是一個的,都是使用scheme進行喚起,這種方式有個小問題,每次喚起,都會給個提示:是否打開xx應用,這樣從體驗上來講,又讓用戶多一步操作。universal link會直接跳轉,不會在頁面做停留,條件就是在我們項目的根目錄,增一個apple-app-site-association.json文件,里面的內容大致是這樣:
添加圖片注釋,不超過 140 字(可選)
然后iOS的App后臺再配置一下,就可以實現直接喚起了!
添加圖片注釋,不超過 140 字(可選)
微信是最重要的一種分享渠道,但是我們能夠做的,卻不多。之前,iOS下的微信支持universal link這種喚起方式,但是從2018年1月8日之后,微信把這個給屏蔽了!!!不管微信基于什么原因,把iOS下這種最便捷的喚起方式屏蔽,我們能做的只能是適應了。so,現在不管是iOS還是android,我們的處理方式是一樣的:都是直接跳到應用寶。iOS的應用寶會引導找開AppStore,android的應用寶會直接打開App(前提是你已經下載) 注:微信把itunes鏈接也屏蔽了,所以也沒辦法直接跳轉AppStore,只能借助應用寶來搭這個橋。
微博目前還支持universal link喚起,我們只需要考慮未下載的情況。
添加圖片注釋,不超過 140 字(可選)
so,不管是iOS還是android,我們的方案是:直接引導用戶使用本地瀏覽器打開。
Safari這種情況比較簡單,支持universal link,也支持直接打開itunes,so,如圖處理就可以了。
H2M_LI_HEADER
添加圖片注釋,不超過 140 字(可選)
兩個平臺,這么多情況,要一個一個測試嗎?當然要一個一個的驗證,但是在開發期間,沒有必要改一行,在手機上測試一下,這樣效率太低了,尤其是像一樣,選了一個安卓4.4的手機,絕對可以磨練你的耐心。為了提高效率,我把我常用到的UA分享給大家,這樣在Chrome模擬器里配置一下,就可以本地調試了,常用UA如下:
Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_2 like Mac OS X) AppleWebKit/604.4.7 (KHTML, like Gecko) Mobile/15C202 MicroMessenger/6.6.1 NetType/WIFI Language/zh_CN
Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_2 like Mac OS X) AppleWebKit/604.4.7 (KHTML, like Gecko) Mobile/15C202 QQ/7.3.5.473 V1_IPH_SQ_7.3.5_1_APP_A Pixel/1125 Core/UIWebView Device/Apple(iPhone X) NetType/WIFI QBWebViewType/1
Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_2 like Mac OS X) AppleWebKit/604.4.7 (KHTML, like Gecko) Mobile/15C202 Weibo (iPhone10,3__weibo__8.1.0__iphone__os11.2.2)
Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_2 like Mac OS X) AppleWebKit/604.4.7 (KHTML, like Gecko) Version/11.0 Mobile/15C202 Safari/604.1
Mozilla/5.0 (Linux; Android 4.4.2; PE-TL20 Build/HuaweiPE-TL20; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.132 MQQBrowser/6.2 TBS/043807 Mobile Safari/537.36 MicroMessenger/6.6.1.1220(0x26060135) NetType/WIFI Language/zh_CN
Mozilla/5.0 (Linux; Android 4.4.2; PE-TL20 Build/HuaweiPE-TL20; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.132 MQQBrowser/6.2 TBS/043807 Mobile Safari/537.36 V1_AND_SQ_7.3.2_762_YYB_D QQ/7.3.2.3350 NetType/WIFI WebP/0.3.0 Pixel/1080
Mozilla/5.0 (Linux; Android 4.4.2; PE-TL20 Build/HuaweiPE-TL20) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36 Weibo (HUAWEI-PE-TL20__weibo__8.0.2__android__android4.4.2)
配置完成之后,就可以像我一樣,在電腦上切換環境啦:
添加圖片注釋,不超過 140 字(可選)
首先明確一下目的,是要在分享出去的html頁面,通過js操作喚醒app或者打開商店,那么第一步就應該先判斷當前的環境,這里我附上詳細的判斷方法,通用的
var browser={
versions: function() {
var u=navigator.userAgent,
app=navigator.appVersion;
return {
trident: u.indexOf('Trident') > -1, /*IE內核*/
presto: u.indexOf('Presto') > -1, /*opera內核*/
webKit: u.indexOf('AppleWebKit') > -1, /*蘋果、谷歌內核*/
gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML')==-1, /*火狐內核*/
mobile: !!u.match(/AppleWebKit.*Mobile.*/), /*是否為移動終端*/
ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), /*ios終端*/
android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, /*android終端或者uc瀏覽器*/
iPhone: u.indexOf('iPhone') > -1, /*是否為iPhone或者QQHD瀏覽器*/
iPad: u.indexOf('iPad') > -1, /*是否iPad*/
webApp: u.indexOf('Safari')==-1, /*是否web應該程序,沒有頭部與底部*/
souyue: u.indexOf('souyue') > -1,
superapp: u.indexOf('superapp') > -1,
weixin:u.toLowerCase().indexOf('micromessenger') > -1,
Safari:u.indexOf('Safari') > -1
};
}(),
language: (navigator.browserLanguage || navigator.language).toLowerCase()
};
這里用到兩個判斷,一個ios一個安卓
if (browser.versions.ios) {
//你的代碼
}else if (browser.versions.android){
//你的代碼
}
(function() {
//這個對象在喚起app的需求中是通用的,作用是判斷當前為哪個客戶端
var browser={
versions:function(){
var u=navigator.userAgent, app=navigator.appVersion;
return {
trident: u.indexOf('Trident') > -1, //IE內核
presto: u.indexOf('Presto') > -1, //opera內核
webKit: u.indexOf('AppleWebKit') > -1, //蘋果、谷歌內核
gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML')==-1,//火狐內核
mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否為移動終端
ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios終端
android: u.indexOf('Android') > -1 || u.indexOf('Adr') > -1, //android終端
iPhone: u.indexOf('iPhone') > -1 , //是否為iPhone或者QQHD瀏覽器
iPad: u.indexOf('iPad') > -1, //是否iPad
webApp: u.indexOf('Safari')==-1, //是否web應該程序,沒有頭部與底部
weixin: u.indexOf('MicroMessenger') > -1, //是否微信 (2015-01-22新增)
qq: u.match(/\sQQ/i)==" qq" //是否QQ
};
}(),
language:(navigator.browserLanguage || navigator.language).toLowerCase()
};
var appInfo={
iosUrl: ["https://h5.m.taobao.com/?sprefer=sypc00","https://m.toutiao.com/?"], //當前為網頁版應用鏈接,需更換成app的跳轉鏈接
androidUrl: ["https://h5.m.taobao.com/?sprefer=sypc00","https://m.toutiao.com/?"] //當前為網頁版應用鏈接,需更換成app的跳轉鏈接
};
var count=0;
var i=appInfo.androidUrl;
var n=appInfo.iosUrl;
var ele=document.getElementsByTagName('body')[0];
ele.addEventListener('touchstart',function () {
count++;
if (count>=3) {
if (browser.versions.ios) {
console.log("ios");
window.location.href=n[0];
//設置定時器的目的是如果第一個app沒有安裝,則自動跳轉第二個
setTimeout(function(){
window.location.href=n[1];
},3000);
}else if(browser.versions.android){
console.log("android");
window.location.href=i[0];
setTimeout(function(){
window.location.href=i[1];
},3000);
}
}
});
})();
那么接下來就應該判斷當前手機上是否有安裝某款應用,但是要知道js是無法判斷手機上是否安裝了哪款app的,所以有app打開app,沒有app跳轉到商店就可以這么做,js打開ios系統app的方法是這樣的,拿淘寶為例: taobao:// 那么同理安卓的方法也是一樣的,只不過打開app的協議不同,這個對應的打開app的協議是你們ios和安卓開發的小伙伴提供給你的,接下來的原理就是嘗試發起打開app的請求,如果有提示是否在某款app中打開,那就可以直接打開了,如果打不開那么我們就要做另外一件事情了
if (browser.versions.ios) {
window.location.href="taobao://";
setTimeout(function(){
window.location.href="你的app在商店中的地址";
window.location.href="你的app在商店中的地址"; //為什么要加兩遍我下面會說到
},2000)
}else if (browser.versions.android){
window.location.href="taobao://**";
setTimeout(function(){
window.location.href="你的app的下載地址";
},2000)
}
當然為什么要加定時器,相信大家也都知道,因為打開app是需要時間的,而js代碼瞬間就執行完畢了,當然這里還有幾個坑,ios系統第一次window.location.href嘗試打開app有時候會彈一下是否在某款app中打開之后馬上跳到商店,為了解決這個問題我加了兩遍window.location.href。哈哈管他呢,反正目的是達到了。那么安卓的話就是有的瀏覽器支持不友好。這個目前我沒什么辦法。