我按照https://stackoverflow.com/a/38626398/565212中的说明将SNS与FCM连接到Android应用。 部署到模拟器时,应用程序会初始化但不会收到任何消息。 相同的应用程序在我的实际Nexus 6设备上正常工作并接收消息。 为什么会出现这种差异?
答案 0 :(得分:4)
模拟器是否安装了Google Play服务?
源: https://firebase.google.com/docs/cloud-messaging/android/client#sample-play
依赖Play Services SDK的应用应始终在访问Google Play服务功能之前检查设备是否支持兼容的Google Play服务。建议在两个地方执行此操作:在main活动的onCreate()方法和onResume()方法中。检查onCreate()可确保在没有成功检查的情况下无法使用该应用程序。检查onResume()可确保如果用户通过其他方式(例如通过后退按钮)返回正在运行的应用程序,则仍会执行检查。
如果设备没有兼容的Google Play服务版本,您的应用可以调用GoogleApiAvailability.makeGooglePlayServicesAvailable(),以允许用户从Play商店下载Google Play服务。
答案 1 :(得分:1)
因为模拟器没有google api's。因此,要检查通知或消息,您必须检查在该设备中安装了Google服务的真实设备。
对于像GCM这样的Google服务,请使用" Google API" (任何版本)目标,以接收来自fcm的推送通知或消息