Google Analytics SDK for iOS version 1.2
先前介紹過兩篇關於 Google Analytics for iOS 介紹,分別為 Google Analytics SDK for iOS 和 Google Analytics SDK for iOS Getting Started。那時後官網 Google Analytics for Mobile 推出的是 Version 1.1 ,可以用來記錄追蹤 Page view、custom variables 和 event tracking。但是經過這陣子使用下來,發現在使用上障礙非常的大,問題來自兩大部分:
- 當程式在呼叫送出 Custom variables 之後,會出現 EXC_BAD_ACCESS message sent to dealloc instance 的 error,相對的 iPhone app 就直接 crash 掉。
- 當程式按下到背景,過一陣子再回來原來的 iPhone app,他也直接 crash 掉。
上網查了些問題發現到 custom variable 問題 google analytics sdk for iOS bug with setCustomVariableAtIndex。各個開發者在使用 track event 和 track page view 都沒有問題,但是在呼叫 custom variable at index 就直接 EXC_BAD_ACCESS。
因次整個 iPhone app 在導入 Google Analytics for iOS 是暫告失敗。
直到最近再次發現到 Google Analytics for Mobile 推出 1.2 版了,這版新增了支援 Ecommerce hits、debug flag、dray run flag 和 SQLite3 使用上錯誤描述更清楚。而改善方面修正了 custom variables crash 和使用 custom variables 的 memory leaks。
於是最大的問題獲得改善了,將 1.2 版重新導回了 iPhone app 專案裡頭,反覆測試與修正,最後讓整個系統不但支援這些數據收集,也讓系統的不 crash 穩定性提升了。
在使用這邊最重要要注意的是 AppDelegate 的生命週期與 Google Analytics 的 GANTracker 搭配要正確。當系統完成 Launch 時候,搭配 GANTracker 初始化
當系統到背景準備要停止活動時候,要將 GANTracker 停止。
當系統恢復正常運作,要將 GANTracker 註冊
當系統決定釋放結束,也要將 GANTracker 關閉
另外如果在 GANTrackerDelegate 搭配 Alert message 來秀出傳遞了多少成功訊息記錄作為 DEBUG 觀察,是個不錯的方式。
以上在整個 App 生命週期的各個活動點搭配 GANTracker 該做的正確搭配,才能正常的使用與搜集傳遞數據。後來在收集與統計和系統本身的運作穩定度才能算是上軌道,還需要再觀察一陣子。如果您在整合 GANTracker 也和我碰到一樣的遭遇,歡迎不吝跟我指教與交流。
Comments
Post a Comment