透過 Performance 看優化成果
人總是會不斷地成長,若沒有成長就會感到不開心,是真的吧?🤪
看到自己經營的App有大幅度進步,實在令人振奮!

上次寫了 Firebase Performance 如何使用,也經過了一個多月,可以來見證我優化某功能的成果囉~🥳
人總是會不斷地成長,若沒有成長就會感到不開心,是真的吧?🤪
看到自己經營的App有大幅度進步,實在令人振奮!

上次寫了 Firebase Performance 如何使用,也經過了一個多月,可以來見證我優化某功能的成果囉~🥳
此刻要記錄實作內容,才想起先前已寫過一篇,不過那篇是沒有原始碼,然而依舊可參考:[iOS] 使用Vision人臉偵測 (Face Detection Using Vision)。😎
沒事千萬不要用最新的技術開發要真的上線的軟體,拿來把玩還可以啦~
這次是高中同學求救,因他公司產品是用 Flutter 來開發 App,想必是想要追求又快又狠又準的新技術,但是沒有考量到一些潛在的問題,其實早一點來找我諮詢,就可以避免掉要找我「救火」的狀況囉~
首先來了解我使用的開發環境與技術規格:
我急忙在短時間內寫好一個功能齊全的 ShopViewController,接著想辦法整合進對方的 Flutter 專案。
我問目前在博弈業的前同事,有無將 Swift 整合進 Flutter 的經驗,結果他跟我說是寫原生 Swift,真是誤會大了。
(繼續閱讀…)儘管是在寫 App,然而三不五時就會需要內嵌網頁,因為我們實在很懶(是這樣嗎?),不想要再自己重刻一個頁面~😜
除此之外,做 Web 端的同仁也想知道,這個網頁的執行是來自哪裡,他們通常會從 User Agent (用戶代理) 下手,此時就會請求我把一些資訊塞進 User Agent 。
這種做法其實相當簡單呢!現在 iOS 可藉由新的 WKWebView 來實現。
(繼續閱讀…)最近在幫人「救火」,開發 IAP 功能,朋友公司高層好奇,IAP 付款介面能否用 Touch ID 或 Face ID,在此我研究了些眉角。😌
什麼是 IAP 呢?全名是 In App Purchase,中文叫應用內購買。
其實我在2014年已開發過 IAP,時隔多年來到2021年,後台設定項目的介面也改頭換面,感覺上已經比過去好設定。
(繼續閱讀…)產品若已經穩定,就可有空閒時間來優化它!Google旗下的Firebase Performance,就成了我們嘗試的目標。
其實早在我進公司第一週,我在把玩公司App時,就發現載入卡片這個產品好慢,實際去追程式碼,發現下載資源檔進行了兩次一模一樣的API呼叫,當時就有跟老闆反應。現在終於可讓上萬人一起來累計數據,再拿給老闆看更有說服力,到時候著手優化此過程,我要來邀功囉~🤡
原本專案就已經有整合Firebase Crashlytics,於是就如此簡單就加入Firebase Performance,執行某行程回傳數據,約莫一天的等待後,數據真的就出現在Firebase後台,真是令人振奮!

公司有Web和App產品,每次帶新人都會提到這兩者,怎麼讓新人幾句話就能聽懂,這考驗我的功力!🤠
一直覺得自己說得不夠精確,兩者之間的差異為何?看來還是得複習一下,甚至用圖解來比較編譯和直譯。
果真一張圖勝過千言萬語!
(繼續閱讀…)2020年5月開始,Apple已強制只要有第三方登入的App,一定要加上Apple Sign In (蘋果登錄)功能。🤪
也就是說,Apple也想要角逐第三方登入。先前我已寫文章觀察其他App,參考:Apple 強迫整合 Sign In With Apple。
前一個版本實作判斷相片是否被修改,是拿相片最後修改時間來比較,不過卻發生異常狀況,使得就算用戶沒有修改過相片,還是會跑到有修改過相片的流程,這讓我們家負責客服的同事哀嚎了一下⋯⋯大概讓我們損失好幾萬美元的營收。😳
透過PHAsset拿到相片資料中的modificationDate,也就是相片的最後修改時間,照理說應是沒有問題才是⋯⋯
多虧Firebase Crashlytics的幫助,讓我曉得用戶發生哪些崩潰,在後台記錄得非常詳細,可以清楚讓我知道哪一個Class中的哪一行Code是崩潰關鍵!
可看到最近一週,有10次崩潰,影響10個用戶。
HappyMan・迴響