如何将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服务。您需要做的最难的事情是考虑应用程序成功的含义并定义如何衡量它。实际测量现在很容易。


猜你喜欢

转载自blog.51cto.com/14009535/2313565