OkCredit 平均商家交易在減少 ANR 事件後提高了 30%
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
OkCredit 是一款信用帳戶管理應用程式,供印度數百萬名商店業主和消費者使用。光是每月進行 1.4 億筆交易,且下載次數超過 5,000 萬次,光是去年,OkCredit 在應用程式中記錄了價值 $500 億美元的交易。
OkCredit 用於 OkCredit 用於營運的規模,以及數百萬間仰賴自家應用程式管理帳戶的企業,因此無論使用的裝置為何,OkCredit 確保所有使用者都能享有流暢且流暢的體驗。
系統會給予使用者好評並給予好評,讓效能一流的應用程式更臻完善。如果應用程式有穩定性或效能問題,通常會讓使用者感到困擾,甚至導致評分不佳。如果您的目標是滿足使用者需求,並持續提供良好的使用者體驗,那麼 ANR (應用程式無回應) 功能就可以讓 ANR (應用程式無回應) 是一項重要的成效指標。
OkCredit 投資改善 Android Vitals 資料,例如減少 ANR 情形、縮短應用程式啟動時間,進而獲得利弊,在低資源 (已資源有限) 的裝置上尤其如此。結果發現顧客留存率和應用程式商家交易量都有所提升。
挑戰
OkCredit 的其中一個主要區隔是低階裝置的使用者。這類裝置在資源有限的情況下執行報稅工作,很容易造成使用者體驗不佳。舉例來說,一項重大維護作業的挑戰是追蹤 ANR 並新增檢測設備。我們的目標是解決這些問題,同時希望能改善整體使用者體驗,並提高商家交易量。
具體做法
藉由減少 ANR 及改善應用程式 (例如 OkCredit) 的應用程式啟動時間,客戶可獲得滿意的顧客,同時提高應用程式的商家交易量。
針對 ANR 進行偵錯最重要的線索,就是找出主要執行緒在 ANR 發生時執行的動作。OkCredit 根據 Google 的意見回饋制定了識別 ANR 的結構化做法。
- 使用 Android Vitals 監控成效,並使用 Firebase Crashlytics 中的自訂報表瞭解 ANR
- 從應用程式啟動開始,最佳化第三方程式庫初始化,將其移至背景執行緒
- 使用 Systrace 和 Profiler 等工具找出廣播接收器和服務中的 ANR。CI 的 Macrobenchmark 也有助於針對冷啟動進行基準測試。
- 透過方法分析器,系統可將物件識別為延遲載入。
- 使用 Perfetto,找出高加載式版面配置。
- 透過在背景執行緒中將所有 apply() 變更為 force(),藉此解決共用偏好設定中的 ANR。
他們會比較指標或使用 Systrace、CPU 分析器等工具,驗證上述工作是否確實影響到這些工作的影響。
成果
除了改善指標和使用者體驗,OkCredit 開發團隊也取得了一些深入分析,以協助他們改善日後的開發流程。
- 在低階裝置上:
- ANR 次數減少 60%
- 第 1 天,低階裝置的顧客留存率提高約 22%
- 每個商家的平均交易次數增加了 30%
- 在 Play 商店中將應用程式評分從 4.3 提高至 4.6
- 冷啟動時間縮短約 70%
- 使用者從任何畫面點擊開始繪製第一個影格後,點閱率提升了 60%
這個練習團隊集結了整個團隊,一起制定最佳做法,鼓勵他們專注提升使用者體驗。團隊在開發期間已開始使用 Perfetto 和 CPU 分析器等工具,藉此增進系統對系統的理解度,並更快做出決策。
「專注於減少 ANR 讓我們提供愉快的體驗,讓我們脫穎而出。因而提高留存率並降低使用者流失率。
此外,由於團隊在工程方面表現卓越,這些做法對機構文化都有深遠的影響。這讓我們相當自豪,這間公司在最近的印度中小企業數位化產業中,制定了新的應用程式效能基準。」
– Gaurav Kunwar (共同創辦人和 CPO - OkCredit)
這個頁面中的內容和程式碼範例均受《內容授權》中的授權所規範。Java 與 OpenJDK 是 Oracle 和/或其關係企業的商標或註冊商標。
上次更新時間:2022-04-13 (世界標準時間)。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2022-04-13 (世界標準時間)。"],[],[],null,["# OkCredit’s average merchant transaction goes up by 30% after reducing ANR\n\nOkCredit is a credit account management app for millions of shop owners and their customers in India. With 140M transactions month over month, and 50M+ downloads, last year alone saw OkCredit recording $50 billion worth of transactions on the app.\n\nConsidering the scale that OkCredit operated in, and the millions of businesses that depend on its app for managing their accounts, it is imperative that OkCredit ensures a smooth and seamless experience for all its users, irrespective of the device they are using.\n\nUsers reward the best performing apps with positive reviews and high ratings. An app that has stability or performance issues often leads to frustration and even worse, bad ratings. This makes ANRs (Application Not Responding) an important performance metric to track if you're aiming to delight your users and give them a consistently good user experience.\n\nOkCredit's investments in improving Android Vitals, like reducing ANR and improving app startup time led them to reap dividends, especially on low-end devices (which are already resource limited). They saw both improvements in customer retention as well as merchant transactions on the app.\n\nThe Challenge\n-------------\n\nOne of the key segments for OkCredit were users on low-end devices. These devices are resource limited and running taxing tasks on them can easily create a sub-optimal user experience. For example, a major maintenance challenge was tracking and adding instrumentation for ANRs. The goal was to address these issues with the aim of improving the overall user experience and increasing merchant transactions.\n\nWhat did they do?\n-----------------\n\nReducing ANR and improving app startup times for an app like OkCredit meant happy customers and moreover an increase in merchant transactions on the app.\n\nThe most important clue in debugging an ANR is finding out what the main thread was doing when the ANR happened. Working with feedback from Google, OkCredit created a structured approach for identifying these ANRs.\n\n- Monitored performance using Android Vitals and used custom reporting on Firebase Crashlytics to learn about ANRs\n- Optimized initialization of third party libraries from App start, by moving these to a background thread\n- Used tools like Systrace and Profiler to identify ANRs in broadcast receivers and Services. Macrobenchmark on CI also helped benchmark cold startups.\n- Using method profiler, objects were identified to be loaded lazily.\n- Using perfetto, high inflation layouts were identified.\n- ANR in shared preferences were solved by changing all apply() to commit() in a background thread.\n\nThe above tasks were validated to confirm their impact by comparing metrics or using tools such as systrace, CPU profiler etc.\n\nThe Results\n-----------\n\nBeyond improving metrics and the user experience, the OkCredit development team gained insights that helped them improve their development process going forward. \n\n- On low-end devices -\n - Reduced ANR by 60%\n - Improved Day 1 customer retention of low-end devices by about 22%\n - The average transaction for each merchant increased by 30%\n- Improved app rating from 4.3 to 4.6 on the Play Store\n- Cold startup time improved by \\~70%\n- Saw 60 % improvement in user click to full draw of first frame on any screen\n\nThis exercise has brought the team together to create best practices and encouraged them to focus on improving the user experience. The team has started using tools like Perfetto and CPU profiler during development itself in order to improve their understanding of the system and make decisions faster.\n\u003e \"Focusing on reducing ANRs has helped us differentiate ourselves by offering a\n\u003e delightful experience. This has led to increased retention, and reduced churn.\n\u003e Additionally, due to the teams' engineering excellence, practices such as\n\u003e these have a profound influence on organization's culture. This makes us proud\n\u003e as a team, and company setting new benchmarks of app performance in the\n\u003e nascent Indian SMB digitisation industry.\"\n\u003e\n\u003e **-- Gaurav Kunwar (Cofounder \\& CPO - OkCredit)**"]]