我想确保设备具有适用于 Firebase 云消息传递的 Google Play 服务 APK。
我应该在 FCM 的 .addApi()
和 .addScope()
方法中添加哪个 API?
例如,如果我想使用位置服务,我在 MainActivity 中添加这段代码:
GoogleApiClient mGoogleApiClient = new GoogleApiClient.Builder(this)
.enableAutoManage(this /* FragmentActivity */,
this /* OnConnectionFailedListener */)
.addApi(LocationServices.API)
.build();
同样为了检查 Google Drive,我使用:
GoogleApiClient mGoogleApiClient = new GoogleApiClient.Builder(this)
.enableAutoManage(this /* FragmentActivity */,
this /* OnConnectionFailedListener */)
.addApi(Drive.API)
.addScope(Drive.SCOPE_FILE)
.build();
但我不知道 FCM 的 API 和范围值。
最佳答案
只需使用 GoogleApiAvailability.isGooglePlayServicesAvailable() .如果此方法返回 SUCCESS,则表示设备支持您在 build.gradle
中指定的 Google Services API 版本,并且该设备具有 Firebase API;您正在针对此版本构建代码,这意味着此版本支持您在代码中使用的 Firebase API。系统不需要提供对 Firebase API 的访问权限,这就是 addApi()
的目的。
您不需要 GoogleApiClient
即可访问 Firebase API/FCM。
关于java - 适用于 FCM 的 GoogleApiClient.Builder().addApi(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39076065/