我正在使用我的Android应用程序,使用Firebase云消息发送推送通知。我正在设置我的服务器,参考指南https://firebase.google.com/docs/server/setup#prerequisites。
我的项目级build.gradle就像:
dependencies {
classpath 'com.android.tools.build:gradle:2.1.0'
classpath 'com.google.gms:google-services:3.0.0'
}
App level build.grade:
dependencies {
compile 'com.firebase:firebase-client-android:2.5.2'
compile 'com.firebase:geofire:1.1.0'
compile 'com.google.android.gms:play-services-gcm:9.0.0'
compile 'com.google.android.gms:play-services:9.0.0'
compile 'com.google.firebase:firebase-messaging:9.0.0'
compile 'com.google.firebase:firebase-server-sdk:[3.0.0,)'
compile 'com.google.firebase:firebase-core:9.0.0'
}
我也在控制台上创建了服务帐户凭据,但我在初始化SDK时引用https://firebase.google.com/docs/server/setup#add_the_sdk
FirebaseOptions options = new FirebaseOptions.Builder()
.setServiceAccount
(new FileInputStream("path/to/serviceAccountCredentials.json"))
.setDatabaseUrl("https://databaseName.firebaseio.com/")
.build();
我收到编译错误:(116,21)错误:找不到符号方法setServiceAccount(FileInputStream)
我检查了很多地方,但我无法找到我做错了什么。任何帮助都将受到高度赞赏。
答案 0 :(得分:2)
在您的服务器项目中,您只需要使用依赖项:
com.google.firebase:firebase-server-sdk:[3.0.0,)
并删除:
compile 'com.firebase:firebase-client-android:2.5.2'
compile 'com.google.android.gms:play-services-gcm:9.0.0'
compile 'com.google.android.gms:play-services:9.0.0'
compile 'com.google.firebase:firebase-messaging:9.0.0'
compile 'com.google.firebase:firebase-core:9.0.0'
第一个是服务器sdk,而其他是客户端sdk,如果你试图一起使用它们会有冲突。
答案 1 :(得分:1)
您包含的Firebase数据库SDK版本与其他Firebase功能版本不同:
compile 'com.firebase:firebase-client-android:2.5.2'
如果您将其更改为:
compile 'com.google.firebase:firebase-database:9.0.0'
它会更好。
有关详细信息,请参阅我复制上述行的Firebase documentation for Android developers。