firebase

[iOS開發]Firebase02 – 使用 Firebase Crash Reporting

自從 Parse 沒了,我就很苦惱到底 push notification 要用哪一家發。還好 Google 在 I/O 大會端出新的 Firebase,解決了我的問題。所以目前我用 Firebase 暫時只會用 Analytics、Crash Reporting、和 Messaging 這幾個功能。

Analytics 主要是因為要跟 Messaging(push notification)的功能做配合。目前聽到網友說似乎可以配 Analytics 的分析報表,做更準確的信息推送。

目前用起來的感覺,跟 Crashlytics 比起來,Crash 收到的速度比較慢(慢很多),我是早上測試,到晚上才收到 Crash 的紀錄。

以下是參考 Google 所提供的安裝文件,所做的安裝紀錄
https://firebase.google.com/docs/crash/ios#set_up_crash_reporting

需要加入的程式

1.如果Firebase的功能你全部都想使用,那就在 pod file 加入

pod 'Firebase'

如果你只想用 Crash reporting

pod 'Firebase/Crash'

2. 在 AppDelegate.h 中加入

@import Firebase;

3. 在 AppDelegate.m 中加入

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    [FIRApp configure];
}

設定自動上傳 Symbol file

為了讓你可以看的懂 Crash report,知道 crash 出在哪一行之類的。所以你必須上傳你的 .sym file,但是每次新版本、或者新改完程式都要重新上傳,是一件頭大的事。所以你可以進行下列步驟,設定自動上傳。

1.進到 Firebase 後台,點選你的專案,進到專案後,在你的專案名稱旁邊可以看到一個齒輪。點選齒輪後,可以看到「權限選項」01

2.點選權限選項後,可以進入 IAM與管理員的管理畫面。02

3.點選左側的「服務帳戶」選項 -> 接著點選「建立服務帳戶」03

4. 設定服務帳戶名稱為 Symbol Upload service account,勾選提供一組新的私密金鑰,記得類型要選 JSON,點選建立後就會下載一個 JSON file,裡面有你的private key。將這個檔案加入你的 xcode 專案中。

5

5. 到 Build Phases 中,點選「New Run Script Phase」加入一個新的 script

04

6. 在 run script 加入以下內容,其中 Path/To/ServiceAccount.json 與 1:my:app:id 這個要替換成自己的。
Path/To/ServiceAccount.json 就是你剛剛下載下來的 json private key file
1:my:app:id 這個可以在 GoogleService-Info.plist 檔案中找到

# Replace this path with the path to the key you just downloaded
JSON_FILE=Path/To/ServiceAccount.json

# Replace this with the GOOGLE_APP_ID from your GoogleService-Info.plist file
GOOGLE_APP_ID=1:my:app:id

defaults write com.google.SymbolUpload version -integer 1   # creates file if it does not exist
JSON=$(cat "${JSON_FILE}")
/usr/bin/plutil -replace "app_${GOOGLE_APP_ID//:/_}" -json "${JSON}" "$HOME/Library/Preferences/com.google.SymbolUpload.plist"
"${PODS_ROOT}"/FirebaseCrash/upload-sym

完工

相關文章
[iOS開發]Firebase01 – 基礎設定與 Firebase Analytics 的使用
[iOS開發]Firebase02 – 使用 Firebase Crash Reporting
[iOS開發]Firebase03 – 使用 Firebase Cloud Messaging for Push notification
[iOS開發]Firebase04 – Remote Config 之使用

 

標籤: , , , , ,

很愛畫虎爛的我,開始了用文章唬爛社會大眾的志業!