GoogleAnalytics与FirebaseCloudMessage同时使用_最爱吃葡萄的博客-程序员ITS203

技术标签: Android开发系列  合并  google analytics  json  

What

  • GoogleAnalytics是Google旗下分析工具,可用于统计APP信息,如屏幕信息、事件、并且可以查看实时屏幕情况。
  • FirebaseCloudMessage是Firebase下云消息推送,可以直接在控制台发送消息(GCM不能在控制台发送)

Why

  • 使用GoogleAnalytics可以检测APP使用情况,针对想要的数据做出统计,并进行合理分析,有利于统计某些信息,优化App

  • 使用FirebaseCloudMessage进行消息的推送。

How

最简单的做法

  1. 先在GoogleConsole创建应用,开启GoogleAnalytics功能。
  2. 然后在FirebaseConsole中导入GoogleProject,导入对应项目。
  3. FirebaseConsole中的google-services.json文件导入到项目中即可。这个时候的Firebase中的google-services.json与GoogleConsle中的json文件为同一个文件。

若Google不想导入到Firebase下,需要进行json文件合并

有一些情况下:

  • 用两个不同账户分别建立Google项目与Firebase项目,此时会有两个json文件
  • 用同一个账户,但是不想将Google项目导入到Firebase下,会有两个json文件

1.分别建立Google项目与Firebase项目(注意使用同样的包名)

说明:GoogleConsole下的项目与APP不同,GoogleConsole下的
项目可以包含多个App,这个App对应为你开发时的App。同样Firebase下的某一个项目中也可以包含多个App

也就是说,要保证你添加的App的包名是同一个 如图:

  • Google项目下添加你的Android应用

这里写图片描述

  • Fireabse项目下添加Android应用

这里写图片描述

2.以在Firebase项目下载的google-services.json文件为基准,修改json文件services节点数据

  • 原本GA的json文件:
"services": {
        "analytics_service": {
          "status": 2,
          "analytics_property": {
            "tracking_id": "UA-XXXXXXXXXX-X"
          }
        }
  • 原本firebase下文件
"services": {
        "analytics_service": {
          "status": 1
        },
  • 以firebase下的google-services.json为基准修改后的文件为
"services": {
        "analytics_service": {
          "status": 2,
          "analytics_property": {
            "tracking_id": "UA-XXXXXXXXXX-X"
          }
        }
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/yztbydh/article/details/76575654

智能推荐

django admin 修改密码_Alvin__Yang的博客-程序员ITS203_django管理员改密码

1、Django shell: python manage.py shell 然后获取你的用户名,2、并且重设密码: from django.contrib.auth.models import User user =User.objects.get(username='admin') user.set_password('new_password') 不知道国内怎么会全都是这样的

linux调用文件,Linux文件系统调用算法_张雪案内人夜场的博客-程序员ITS203

8种机械键盘轴体对比本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?背景查看RocketMQ文档的过程中,提到了通过修改IO调度算法来提高RocketMQ的性能。网上找了一些文章,感觉IBM这个文章不错。前言前言Linux I/O 调度器是Linux内核中的一个组成部分,用户可以通过调整这个调度器来优化系统性能。本文首先介绍Linux I/O 调度器的结构,然后介绍如何根据不同的存储器来...

香港大学尹国圣教授:统计学家眼中的医学AI丨CCF-GAIR 2019_喜欢打酱油的老鸟的博客-程序员ITS203_医学数据教授

导语:AI不是一味地追求AUC,而是要表现出显著的临床价值。编者按:近日,2019第四届全球人工智能与机器人峰会(CCF-GAIR 2019)于深圳正式召开。峰会由中国计算机学会(CCF)主办,雷锋网、香港中文大学(深圳)承办,深圳市人工智能与机器人研究院协办,得到了深圳市政府的大力指导,是国内人工智能和机器人学术界、工业界及投资界三大领域的顶级交流博览盛会,旨在打造国内人工智能领域极具实...

logback4_MDC_胡小禾的博客-程序员ITS203

文章目录一 What's MDC1.1 本质1.2 例子二 Automating access to the MDC2.1 案例一2.2 切线程2.3 MDCInsertingServletFilterMDC (Mapped Diagnostic Context)一 What’s MDC在分布式系统中,多线程处理多个客户端司空见惯.有个做法是每个客户端对应一个Logger,但这种做法会产生大量Logger而且管理起来也不便.另有一种做法是将日志的上下文信息放到MDC里.MDC 是slf4j的定义,而

java 练习--java常用类 章节练习题及面试题_不更了的博客-程序员ITS203

判断输出结果public void testString(){ String str1 = "尚硅谷"; String str2 = "尚硅谷"; String str3 = new String("尚硅谷"); System.out.println(str1 == str2);//true System.out.println(str1 == str3);//false System.out.println(str1.equals(str3));//true str1 = "尚硅谷at

sklearnpreprocessing中scale和standardscaler的区别是什么_Muasci的博客-程序员ITS203

前言: 想要给一组特征集进行标准化处理的时候,发现以下两者都可以。import sklearn.preprocessingpreprocessing.scale(X) # X是特征集合from sklearn.processing import StandardScalerStandardScaler().fit_transform(X)看了某篇文章知道:两者都是标准化特征处理的方法...

随便推点

始终让Scrollview始终显示底部_xyTianZhao的博客-程序员ITS203

让ScrollView跳到指定行有一个方发是scollTo(int,int),但是你会发现谈根本就没有起作用,这是因为你在ScrollView加载完成之前就调用了这个方法,而这个方法是在ScrollView将内容加载完成之后调用才可有效的,所以可以通过下面的方法来解决。 sl = (ScrollView) findViewById(R.id.chat_sl); sl.post(new R

getDeclaredConstructors()和getConstructors()返回数组的顺序问题_chongjiao2151的博客-程序员ITS203

getDeclaredConstructors()和getConstructors() 返回的数组中元素不会被分类或者按特定顺序排列。 解决办法: 1、参数个数不同,增加参数数量判断,然后进行赋值 2、(只适用于有参构造函数)如果构造方法中有参数数量相同,则可以指定参数类型获取指定构造...

oracle集群一台宕机,一次Oracle rac宕机分析_高中生资讯的博客-程序员ITS203

某客户rac数据库2号节点实例自动宕节点,以下为分析报告一、现象回顾:2号节点发生故障时,alert日志显示如下:Thread 2 advanced to log sequence 77740 (LGWR switch)Current log# 24 seq# 77740 mem# 0: /dev/rcrm4_rd2_91_2GCurrent log# 24 seq# 77740 mem# 1: ...

JAVA|定义一个“点”(Point)类用来表示三维空间中的点(有三个坐标)_匿名用户小易的博客-程序员ITS203_定义一个点类用来表示三维空间中的点

定义一个“点”(Point)类用来表示三维空间中的点(有三个坐标)要求如下:(1)可以生成具有特定坐标的点对象。(2)提供可以设置三个坐标的方法。(3)提供可以计算该“点”距原点距离平方的方法。(4)编写主类程序验证。Point.java????package work.seventeen;public class Point { private double x,y,z; ...

BootLoader与MCU启动过程_在路上@Amos的博客-程序员ITS203_8051 bootloader

ARM之Cortex M3的启动过程目前,多数MCU厂商都提供一个启动文件。当然,编程者也可以自己编写启动文件,具体编写要求ARM的网站上都有相关文档进行说明。下面分析一下STM32启动文件startup_stm32f407xx.sSTM32(一)之启动文件简介本文以STM32F103为例,介绍STM32的启动文件。 一般而言,系统上电后第一个执行的是由汇编所编写的启动文件,其主要工作为一下五部分: (1)、初始化堆栈指针SP=_initial_sp...

推荐文章

热门文章

相关标签