1. 程式人生 > >如何將Firebase Analytics新增到NativeScript移動應用程式中

如何將Firebase Analytics新增到NativeScript移動應用程式中

當您想要儘快釋出移動應用時,我們都知道這一點。你工作了幾個月,經過測試,它看起來不錯,而你的重要人物甚至喜歡它。您和已釋出的應用之間需要做的最後一件事是更多的工作。然而,為您的應用新增分析是一項值得投資的工作。只需半小時的工作,您就會知道使用者需要什麼,如何滿足他們的需求,以及在哪裡投入寶貴的開發時間。

先決條件

在開始之前,您需要使用自己的Google帳戶建立新的Firebase應用程式。只需點選幾下即可實現。Firebase提供免費套餐,涵蓋了所有Google Analytics服務,因此您無需取出信用卡。導航至https://firebase.google.com,使用您的Google憑據進行身份驗證,然後按照“新增專案”嚮導進行操作。

通常,除非您具有與“分析”以外的服務相關的特定要求,否則您無需更改“步驟3”中的任何預設選項。

在新建立的專案中,您必須導航到專案設定並新增iOS和Android應用程式。對於iOS中的Bundle ID或Android中的Package名稱,請使用NativeScript應用程式中applicationId設定屬性package.json因此,您應該擁有GoogleServices-Info.plistgoogle-services.json檔案。這些檔案包含Firebase SDK用於將使用者互動與Google Analytics專案正確關聯的配置屬性。您可以安全地跳過有關如何新增Firebase SDK以及如何嚮應用新增初始化程式碼的說明,因為此設定將由外掛處理。

以下是該過程對iOS的看法(Android非常相似):

建立

首先,您需要安裝nativescript-plugin-firebase外掛。按照Eddy Vebruggen(這個很棒的外掛的作者)提供安裝步驟進行操作。你需要把GoogleServices-Info.plist該檔案App_Resources/iOS夾以及google-services.jsonApp_Resources/Android的資料夾。firebase.nativescript.json一旦完成外掛的安裝,一個附加檔案將新增到專案的根目錄中。在安裝過程中,您必須回答幾個有關您計劃使用的Firebase外掛部分的問題。

輸出是一個firebase.nativescript.json檔案,看起來應該類似於:

{
“using_ios”:是的,
“using_android”:是的,
“firestore”:假的,
“realtimedb”:虛假,
“remote_config”:false,
“訊息”:虛假,
“崩潰”:真的,
“crash_reporting”:false,
“儲存”:錯誤,
“facebook_auth”:false,
“google_auth”:false,
“admob”:假的,
“邀請”:假,
“dynamic_links”:false,
“ml_kit”:false
}
注意: 您絕不應將GoogleServices-Info.plist和google-services.json檔案提交到公共儲存庫。它們包含您的祕密,如果沒有得到適當保護,其他人將能夠利用您帳戶中的資料。理想情況下,應該通過CI基礎結構為生產構建插入構建時間。

下一步是在應用程式中初始化外掛。最合適的地方是Angular應用程式根元件 ,如啟動接線說明中所述它很簡單:

app.component.ts

匯入 *  的 火力 從 “nativescript-外掛,火力點” ;

...

ngOnInit():void {

firebase。init({
          })。然後(
            instance  => {
              控制檯。log(“firebase.init done”);
            },
            error  => {
              控制檯。log(`firebase.init error:$ { error } `);
            }
          );
};

如果您使用的是{N}核心框架,則可以使用該應用程式的啟動事件並附加到該框架:

app.js

申請。上(應用。launchEvent,(ARGS)=> {
    firebase。init({
          })。然後(
            instance  => {
              控制檯。log(“firebase.init done”);
            },
            error  => {
              控制檯。log(`firebase.init error:$ { error } `);
            }
          );
    };
});

完成安裝後,執行tns run命令。當您的應用程式在您的裝置上啟動時,您應該會在Google Analytics資訊中心的“最近30分鐘內的使用者”磁貼中看到一些動作。車輪開始旋轉的另一個跡象是,一旦第一個資料被註冊,iOS和Android專案旁邊的紅點就會消失:

完成所有這些後,您已經領先於遊戲,並且比Android和iOS開發人員控制檯中的曝光更具洞察力。火力地堡將開始跟蹤一些事件為你的盒子,如:  first_open,  screen_view,和  session_start (名單與自動跟蹤的事件,可以發現在文件中)。它還會報告有關您的使用者的一些人口統計資訊 - 他們所在的國家/地區,性別,年齡,興趣,他們使用的裝置以及他們未使用的裝置。此外,您的使用者將自動報告為新使用者或返回使用者。這將使您更好地瞭解您的受眾及其興趣,並調整您的應用程式,使其更具吸引力。您可以使用該setUserProperty 方法輕鬆地為使用者新增其他資訊,  並進一步將使用者群劃分為多個細分。

跟蹤頁面檢視

雖然Firebase會screen_view自動跟蹤名為“ ”的事件,但由於NativeScript的體系結構,它們不會非常有用。所有使用者的約定都將在Android的一個Activity或iOS的ViewController中報告。因此,為了更好地理解我們的應用程式的使用方式,我們需要實現一個自定義事件,並新增一些屬性。

出於本文的目的,我將此類活動稱為“頁面瀏覽量”。這個術語可能很模糊,根據您的應用程式,具體細節可能意味著不同的東西。此外,我們不僅要跟蹤頁面被檢視,還要跟蹤哪個頁面,以便我們可以分析哪些頁面最有用。

所有這些都可以使用nativescript-plugin-firebase外掛公開的API輕鬆實現。分析物件提供了  logEvent 完全符合我們需要的方法。這是一個示例程式碼段:

匯入 *  的 火力 從 “nativescript-外掛,火力點” ;

...

firebase。分析。logEvent({
    key:“page_view”,
    引數:[
           {
                key:“page_id”,
                價值:“家”
           }
           //如果需要,可在此處新增其他引數
    ]
});

這將記錄一個名為“ page_view” 的事件,其引數“ page_id”的值為“ Home”。一種方法是在每個Component初始化時新增手動呼叫。這將是一項非常繁瑣且容易出錯的任務,我們可以做得比這更好。讓我們利用Angular路由器公開的事件並在那裡記錄事件,如下所示:

app.component.ts

這個。路由器。事件
    。pipe(filter((event:any)=>  事件 instanceof  NavigationEnd))
    。subscribe((event:NavigationEnd)=> {
        firebase。分析。logEvent({
            key:“page_view”,
            引數:[{
                key:“page_id”,
                價值:事件。urlAfterRedirects
            }]
        });
    });
注意: 如果您使用的是{N}核心框架,則可以使用該  navigatedTo 事件並實現類似的邏輯。

這將使用URL作為  page_id 值。在大多數情況下,它可以很好地表示訪問哪些URL以及訪問頻率。當然,如果您的URL架構不合適,您可以滿足您的需求。

一個缺陷是您需要在開始使用之前在Firebase控制檯中註冊引數。要執行此操作,請在Firebase控制檯中開啟專案,開啟“事件”螢幕,單擊“ page_view”事件並顯示“新增事件引數”按鈕。從那裡,新增您要跟蹤的引數 - 在我們的例子中,這是' page_id。'

此時,您將瞭解應用程式的哪些部分最有用。通過此新增,您將獲得使用者的完整地圖以及他們與您的移動應用互動的方式。以下是它在Firebase控制檯中的外觀:

跟蹤轉化

根據應用程式的用途,您可能需要跟蹤轉換的不同內容。預設情況下,有ecommerce_purchase和in_app_purchase等事件。您可以將任何現有事件標記為轉換,具體取決於使用者的流程和業務邏輯。要執行此操作,只需導航到“轉換”螢幕並按照“新建轉換事件”嚮導進行操作。

此外,您還可以建立渠道來跟蹤轉化的進展情況,並確定使用者旅程中需要改進的區域。這也是從漏斗螢幕很容易實現的。

作為一個非常簡單的例子,我準備了一個示例應用程式在主頁上,有兩個按鈕:“新增到購物車”和“購買”。“購買”按鈕將使用Firebase考慮轉化的其中一個內建金鑰記錄新事件,稱為“ecommerce_purchase”。另一個按鈕“新增到購物車”正在記錄一個名為“add_to_cart”的新事件,我可以將其標記為來自Firebase控制檯的轉換。通過這種方式,我可以輕鬆構建一個漏斗來跟蹤我的轉化,例如“first_open” - >“add_to_cart” - >“ecommerce_purchase”。這將讓我深入瞭解我應該在哪裡改善使用者體驗和轉化。以下是漏斗在採取這些步驟後可以看到的方式:

顯然,現在我的虛擬漏斗中有一些東西需要解決!

故障排除

從Firebase控制檯中無法立即看到從您的應用程式記錄的事件。資料最多可能需要24小時才能獲得。根據我的經驗,至少需要幾個小時。這可能會使除錯變得困難,因為您必須等待很長時間才能測試更改。

幸運的是,Firebase控制檯中有一個名為“DebugView”的檢視。您需要為您的應用程式或裝置啟用它,然後,一旦報告,您的裝置上的事件就會立即顯示。對於Android,這就像執行一樣簡單:

adb shell setprop debug.firebase.analytics.app <packageName,like:org.nativescript.nativescriptanalyticssample>

對於iOS,您必須在XCode中開啟專案並新增-FIRDebugEnabled 要在啟動時傳遞的  引數。有關如何實現此目標的更多資訊,請參閱Firebase文件

摘要

總而言之,新增Google Analytics非常簡單,讓您更聰明,可以節省您的時間和金錢,而且絕對沒有理由不開始這樣做。Firebase免費提供優質功能,但您還可以瀏覽其他優秀的Google Analytics服務。您需要做的最難的事情是考慮應用程式成功的含義並定義如何衡量它。實際測量現在很容易。