2017-04-11 58 views
6

我正面临在库模块中集成Firebase云消息传递的奇怪问题。我正在开发一个库项目,在该项目中,我需要处理来自库本身的FCM服务器的通知。我不知道是否有可能。android:图书馆模块中的fcm

我的步骤如下:

  • 我创建的项目上火力地堡控制台。
  • 在项目中,我创建了与我的库包相同的应用程序。
  • 我下载并将google-services.json放在库模块中。
  • 我已经在库模块的gradle中应用了依赖。
  • 现在,我已经在app模块中初始化了我的库模块。我还从FirebaseInstanceIdService获取生成的设备令牌的日志。

问题:当我尝试从火力地堡控制台发送推送,我没有收到任何通知。

有没有人遇到这样的问题,可以帮助我呢?

+0

不,目前我正在模拟器上测试。但我已经尝试过使用Moto G3设备,但仍然没有成功。 –

+0

您正在发送数据消息还是通知消息?对于数据消息,您将不得不显示来自应用程序本身的通知。请参阅此链接https://firebase.google.com/docs/cloud-messaging/concept-options – fightingCoder

+0

@fightingCoder是的,我知道这一点。我在MessagingService中放置了日志行,但没有找到任何日志。 –

回答

7

因此,在经过反复试验的方法运行了很多后,我成功地获得了通知。

事情要注意的是:

  • 你不能只是集成火力地堡云声明库模块中。
  • 将使用此库模块的客户端应用程序模块将在其目录中有google-services.json文件,而不在库模块目录中。
  • 客户端应用程序的Gradle模块将具有低于在其行,而不是在图书馆的Gradle模块:

应用插件: 'com.google.gms.google服务'

所以,一旦我做了这两个改变,我就可以得到通知。

+0

我有同样的问题我的图书馆模块有firebase登录,并在我的应用程序模块我想访问它,但包名称是改变,所以它给我错误,我想maintian图书馆模块包名 –

+0

@MuhammadYounas你有没有找到任何解决方案这个问题? 谢谢 – wadali

+0

您可以通过在依赖关系中添加核心库来添加FCM到库模块中:'dependencies {compile'c​​om.google.firebase:firebase-core:11.2.0'}'无需应用gms服务gradle插件 – Diolor

0

FCM客户需要运行Android 2.3或更高版本的设备也 有谷歌播放安装商店应用,或者仿真器上运行 的Android 2.3与谷歌的API。

如果您使用模拟器请检查Google API是否已安装或未安装。

0

使用Android Studio集成FCM非常简单, 您只需要, 工具 - >>右侧面板上的Firebase - >> - >>选择云消息传递。 设置 - > Firebase云消息传递。

然后你必须遵循点号1,2,3。 而且您还必须将您的应用注册到Firebase控制台,因为您已经处于状态。