使用 Expo 的 Firebase Analytics:事件追蹤與分析指南


摘要

本文探討如何在 Expo 的 Bare Workflow 中有效整合 Firebase Analytics,以獲取更精準的使用者行為數據,這對於提升應用程式性能至關重要。 歸納要點:

  • 透過 `expo-build-properties` 套件,Firebase Analytics 可以與 Expo Bare Workflow 完美整合,讓開發者能有效追蹤使用者行為。
  • Firebase Analytics 提供進階事件追蹤功能,包括使用者屬性、事件參數和預定義事件,幫助開發者深入了解使用者互動和偏好。
  • 結合 Firebase Analytics 與 A/B 測試工具,可以快速迭代應用程式功能,提升效能並改善使用者體驗
運用 Firebase Analytics 的強大功能,可以深入分析使用者行為、優化應用體驗並掌握最新趨勢。


使用 Firebase Analytics 提升 Expo 應用程式效能與使用者體驗

你好!在這篇文章中,我們將討論如何在 Expo 管理的專案中使用 Firebase Analytics。Firebase Analytics 是一個強大且易於實施的工具,為開發者提供了有關使用者行為和應用程式效能的寶貴見解。這些資料對於制定有根據的產品開發決策、營銷策略以及改善使用者體驗至關重要。

如果你正在使用 Expo 的管理工作流程(Managed Workflow),並希望整合 Firebase,那麼你需要切換到裸工作流程(Bare Workflow)。管理工作流程完全由 Expo 控制,這意味著某些原生模組無法直接使用。切換到裸工作流程後,你將可以完全訪問這些原生目錄,以手動配置和整合 Firebase 的原生 SDK。

要切換到裸工作流程,我們使用 `expo prebuild` 命令。此命令可生成我們 Expo 專案所需的原生程式碼,因此是一個強大的工具。它根據多種因素生成必要的檔案,例如 app.json 檔案中的配置。有兩種方法可以實現這一點:

1. **深入解析:Expo Managed Workflow 的限制與優勢**
- **限制**: 管理工作流程旨在簡化開發過程,但也因此使得開發者無法直接接觸到原生平台功能,而 Firebase Analytics 就屬於此類功能。
- **優勢**: 儘管如此,管理工作流程仍然是快速開發和測試的最佳選擇,尤其適合新手或小型專案,它提供了簡化的部署過程和跨平台相容性。
- **折衷方案**: 使用 Expo CLI 的 `expo prebuild` 命令,可以將管理工作流程專案轉換為裸工作流程,在保留原有程式碼基礎上獲得對原生平台的完全控制。

2. **最新趨勢:利用 Firebase Analytics 進行 A/B 測試和個人化推薦**
隨著市場競爭的不斷加劇,企業越來越依賴資料來提升使用者參與度和滿意度。Firebase Analytics 提供了進行 A/B 測試的重要支援,使開發者能夠輕鬆比較不同版本應用程式表現。其豐富的分析報告還能幫助企業制定更具針對性的個人化推薦策略,以滿足各型別消費者需求。

總之,透過有效地整合 Firebase Analytics,不僅能夠提高應用程式效能,更能深刻了解使用者需求並作出相應調整,使產品持續最佳化。在當今數位時代,把握好每一次機會都是成功的一部分。

1. 使用 npx expo prebuild 命令:該命令將您的專案轉換為原生的 iOS 或 Android 專案,並建立所需的原生檔案(即 /ios 和 /android 目錄)。

npx expo prebuild --clean

2. 使用 npx expo run:ios 或 npx expo run:android 命令:如果 /ios 或 /android 目錄不存在,這些命令將自動執行 expo prebuild 命令一次,然後在指定的原生平台上執行該專案。

// Build IOS project npx expo run: ios  // Build Android project npx expo run: android

Bare Workflow 設定:設定原生專案並安裝 expo-build-properties 套件

在執行這些命令後,系統會提示您輸入您的 bundleIdentifier 和 package name。設定完成後,這些資訊將被納入您 app.json 檔案的 ios 和 android 部分。如果您對原生程式碼或配置檔(如 app.json、app.config.js、Podfile 或任何原生程式碼檔案)進行了更改,必須在每次變更後手動執行 npx expo prebuild 命令。這一步驟確保原生程式碼是最新的,並且變更能準確反映在您的原生專案配置中。透過這樣做,您可以保持原生程式碼與專案配置的同步。

現在我們已經切換到 Bare Workflow,下一步是安裝 expo-build-properties 套件。這是必要的,因為它使我們能夠配置特定的原生建構屬性。

npx expo install expo-build-properties

安裝完成後,請將以下配置新增至您的 app.json 檔案中:

{   "expo": {     "name": "Your App Name",     "icon": "./path/to/your/app-icon.png",     "version": "1.0.0",     "slug": "your-app-slug",     "ios": {       "bundleIdentifier": "com.yourcompany.yourappname",       "buildNumber": "1.0.0"     },     "android": {       "package": "com.yourcompany.yourappname",       "versionCode": 1     },     "plugins": [       [         "expo-build-properties",         {           "ios": {             "useFrameworks": "static"           }         }       ]     ],   } }

在 ′expo-build-properties′ 中的 ′useFrameworks′: ′static′ 設定確保本地框架以靜態方式連結,這對於某些整合,如 Firebase 與 Expo 的結合是必需的。要在您的 Expo 專案中安裝 Firebase,請按照以下步驟進行:安裝所需的 Firebase 模組:

# Install & setup the app module yarn add @react-native-firebase/app  # Install the analytics module yarn add @react-native-firebase/analytics

如果您還沒有 Firebase 帳戶,則需要先建立一個。在設定好帳戶後,請在 Firebase 中建立一個新專案。要在您的 Firebase 專案中建立 iOS 和 Android 應用,您需要 iOS 的包識別碼和 Android 的套件名稱。這些識別碼可以在您的 app.json 檔案中找到。

當您在 Firebase 上建立 Android 和 iOS 專案時,Firebase 會提供兩個配置檔案:對於 Android 的 google-services.json 和對於 iOS 的 GoogleService-Info.plist。這些檔案包含了與您的 Firebase 專案相關的配置設定,包括應用程式的唯一識別碼、Firebase API 金鑰及其他專案特定的設定。在您的 Expo 專案中包含這些檔案,確保 Firebase 能夠正確識別並與您的應用程式進行通訊。

下載這些檔案並將其放置在專案的根目錄中。然後,更新你的 app.json 檔案,以包含這些檔案的路徑,並確保已將 Firebase 新增到你的外掛中。

{   "expo": {     "name": "Your App Name",     "icon": "./path/to/your/app-icon.png",     "version": "1.0.0",     "slug": "your-app-slug",     "ios": {       "bundleIdentifier": "com.yourcompany.yourappname",       "buildNumber": "1.0.0",       "googleServicesFile": "./GoogleService-Info.plist"     },     "android": {       "package": "com.yourcompany.yourappname",       "versionCode": 1,       "googleServicesFile": "./google-services.json"     },     "plugins": [       "@react-native-firebase/app"       // ... add other plugins as needed     ]   } }

在您對原生程式碼進行更改或修改配置(例如更新 app.json 或新增 Firebase 配置檔案)後,這些變更需要應用到原生專案檔案(/ios 和 /android)。執行 npx expo prebuild 命令會重新生成這些原生檔案,以反映最新的配置和程式碼變更。如果不重新執行 prebuild,這些變更將無法與原生構建檔案同步,可能會在您嘗試構建或執行應用時導致問題。此步驟還會將 Firebase 配置檔案複製到您的原生專案目錄中的適當位置。

npx expo prebuild --clean

Firebase 事件追蹤:深入了解使用者行為

透過執行此命令,您可以確保 Firebase 設定檔正確整合到您的原生 iOS 和 Android 專案中,從而使 Firebase 能夠正常運作。Firebase Analytics 提供了兩個主要功能來追蹤使用者在應用程式中的行為與互動:

使用者屬性:這些是您定義的屬性,用來描述您的使用者群體,例如語言偏好或使用者資料。使用者屬性隨時間保持一致,通常對每位使用者只設定一次。

事件:這些是您希望測量的使用者與應用程式之間的互動,例如按鈕點選、頁面瀏覽或特定行動如登入或購物。事件是追蹤 Firebase 中使用者行為的主要方式。

在本節中,我們將重點關注事件,因為它們對於理解使用者如何與您的應用程式進行互動至關重要。Firebase Analytics 的事件追蹤機制已經與 Google Analytics 4 深度整合,使開發者能夠透過統一的平台分析更全面的使用者行為資料。例如,Firebase Analytics 可以與 Google BigQuery 整合,使用 SQL 語言進行更複雜的資料分析,再結合 Google Cloud Platform 的機器學習功能,對使用者行為進行預測性分析。這使得開發者能夠更精準地理解使用者行為、制定更有效的營銷策略,並預測未來使用者行為趨勢。

在事件追蹤方面,有一些最佳實踐值得遵循,以幫助提升資料質量和分析效果,例如確保每個事件都有明確且具體的名稱,以便日後輕鬆識別和查詢。同時,也建議在設定自訂引數時要清晰明瞭,以便深入解析各項指標並最佳化應用體驗。

Firebase Analytics 事件:掌握應用程式使用行為的關鍵

Firebase Analytics 中的事件讓您能夠追蹤應用程式內特定的行動或發生的事情。這些事件範圍從 Firebase 自動收集的事件到您根據應用程式獨特需求所定義的自訂事件,涵蓋廣泛。理解如何使用和配置這些事件對於充分利用 Firebase Analytics 的強大功能至關重要。

注意:由於 React Native Firebase 函式庫不支援 Expo Go 應用,因此在使用 Firebase Analytics 時,必須確保您的應用不在 Expo Go 環境中執行。因為 Expo Go 缺乏 Firebase 所需的原生功能。相反地,建議使用自訂開發客戶端或獨立構建版本。

Firebase 將事件分類為三種型別:
1. 保留事件
保留事件是 Firebase Analytics 自動記錄給您的預設事件,包括 user_engagement、app_remove 和 session_start 等等。這些事件提供了有關使用者互動和應用使用情況的基礎見解,而無需進一步配置。

展望未來,Firebase Analytics 的事件追蹤已成為資料驅動應用開發的重要基石。未來將更加著重於個性化分析與 AI 推理,以從這些事件資料中挖掘更深層次的洞察。例如,在個性化分析方面,Firebase Analytics 將深入利用使用者行為資料,針對不同使用者群體進行個性化分析;透過推斷其喜好、目標及意圖,以提供更精準的推薦與營銷活動。而在 AI 推理部分,它將整合人工智慧技術,自動識別資料中的異常行為及趨勢變化,不僅為開發者提供即時預警,更能提出最佳化建議,例如自動檢測流失風險、功能缺陷以及潛在惡意行為並提醒開發者進行必要幹預。

另外,在實作層面上,如同[專案2: React Native Firebase Analytics 實戰應用:整合自訂事件與事件引數]所提到,我們可以靈活地結合自訂事件和引數來增強資料收集效果,使得分析結果更加豐富且具啟發性。

Firebase 事件:解鎖應用程式分析與變現的關鍵


2. 預定義事件
預定義事件是一組由 Firebase 建議的事件,旨在幫助您衡量應用程式中的常見行為,如新增至購物車(add_to_cart)、加入願望清單(add_to_wishlist)或檢視專案(view_item)。這些事件是預先定義的,但屬於可選範疇;您可以根據應用程式的需要隨時記錄它們。
重要提示:使用預定義事件時,正確使用 Firebase 規定的引數至關重要。任何拼寫錯誤或不正確的引數名稱都可能導致這些事件無法正確記錄。您可以在 Firebase Analytics 文件中找到完整的預定義事件及其引數列表。

3. 自訂事件
自訂事件是根據您的應用程式特定需求所定義的,它們使您能夠捕捉對業務邏輯或使用者流程獨特的使用者操作。例如,您可能希望追蹤使用者在登入或註冊時選擇的方法(如電子郵件、Google 或 Facebook)。

透過這樣的設計,自訂和預定義事件共同構成了強大的工具,以提升應用程式變現能力。同時,在設計這些功能時,也必須兼顧隱私權政策,以確保使用者資料安全。在快速變化的技術環境中,有效利用這些分析工具,不僅能夠最佳化使用者體驗,還能促進商業增長。


以下是一個實作自訂事件以追蹤使用者登入方式的範例:

import react from 'react'; import { View, Button } from 'react-native'; import analytics from '@react-native-firebase/analytics';  function LoginScreen() {   return (            

Firebase Analytics:如何有效分析使用者行為並提升應用程式效益

在這個例子中,一個名為 login 的自訂事件被記錄,並且包含一個引數 method,以指定使用者所使用的登入方法。這有助於您識別哪些登入方式在使用者中最受歡迎。

命名的一致性:確保您的自訂事件及其引數名稱具有一致性和描述性。這有助於保持分析資料的清晰度,使結果更容易解釋。

區分平台:如果您希望將 iOS 和 Android 平台之間的資料分開,可以使用不同的事件名稱或向事件中新增特定於平台的引數。這種區分在分析不同平台上使用者行為時非常有用,有助於了解它們可能存在的差異。即使您在 Firebase 控制檯中擁有兩個不同的應用程式(iOS 和 Android),Firebase 預設會對兩個平台進行事件聚合。您還可以建立一個單獨的事件來顯示綜合結果,讓您能夠在 Firebase 控制檯中檢視各平台特定和總體事件資料。

當您將 Firebase Analytics 整合到您的應用程式中時,從開始記錄事件到在 Firebase 控制檯上顯示可能需要一小時到一天不等。為了驗證您的事件是否正確實時記錄,Firebase 提供了一個除錯檢視功能。此工具允許您監控觸發的事件,以確保正確的事件與適當的引數正在被記錄。

在當今移動應用市場競爭激烈的大環境下,開發者越來越重視使用者行為分析趨勢。例如,在預測未來趨勢方面,使用者除了想知道基本資料外,更希望掌握哪些功能可能會吸引使用者留存、哪些使用者更有可能轉化為付費客戶等。因此,Firebase Analytics 近年來積極匯入機器學習和預測性分析技術,使得開發者能夠更加精準地洞察使用者行為。透過 Firebase 的預測模型,可以根據以往行為、活動及使用時間等資料,更有效地判斷他們未來是否會持續使用該應用程式或進行購買行為;這對提升使用者留存率與增強營收至關重要。在跨平台分析方面,可以利用 User Property 對資料進行更細緻層級劃分,加深對不同型別使用者需求與偏好的理解,有助於制定更具針對性的產品策略。

要使用 Debug View,您需要將執行在模擬器或實體裝置上的開發版本連線到 Firebase 的除錯工具。請按照以下步驟為 iOS 和 Android 設定 Debug View:對於 iOS:開啟您的 iOS 模擬器,並在終端中執行以下命令。這些命令將啟用應用程式的 Firebase Analytics 除錯模式,並將日誌串流至終端:

# Enable debug mode for your app on IOS xcrun simctl launch booted  -FIRAnalyticsDebugEnabledFor

對於 Android:連線您的 Android 裝置或模擬器,並在終端中執行以下命令以啟用 Firebase Analytics 的除錯模式:

# Enable debug mode for your app on Android adb shell setprop debug.firebase.analytics.app 

一旦啟用除錯模式,您將開始在 Firebase 的除錯檢視中實時檢視您的事件和引數。這個過程有助於快速識別任何問題或確認事件是否正確實施。以下截圖顯示了您的事件和日誌在除錯檢視器中的顯示方式。


希望這篇文章能讓你清楚了解如何在 Expo 中使用 Firebase Analytics。我非常享受分享這些見解,並期待聽到你的想法或任何問題——隨時與我聯絡!在下一篇文章中,我將深入探討使用者屬性及其如何幫助你從 Firebase Analytics 獲得更多的洞察。期待不久後能和大家分享更多內容!


JD

專家

相關討論

❖ 相關專欄