为xamarin应用程序提供firebase管理员权限

时间:2017-12-07 18:16:43

标签: firebase xamarin.android admin

在firebase控制台中,我可以获取java的源代码和一些adminsdk json文件进行下载。但是我在c#xamarin工作,它没有setCredential()功能。这是我可以在firebase控制台中下载的java代码

FileInputStream serviceAccount = new FileInputStream("path/to/serviceAccountKey.json");

FirebaseOptions options = new FirebaseOptions.Builder()
.setCredential(FirebaseCredentials.fromCertificate(serviceAccount))
.setDatabaseUrl("https://abc-def.firebaseio.com")
.build();

FirebaseApp.initializeApp(options);

但是在xamarin中,没有SetCredential函数。我只能这样做:

 FirebaseOptions options = new FirebaseOptions.Builder()
     .SetApplicationId("1:3465124113567:android:81db52b2352255cd")
     .SetDatabaseUrl("https://abc-def.firebaseio.com/")
     .SetStorageBucket("gs://abc-def.appspot.com")
     .SetApiKey("???")
     .SetGcmSenderId("???")
     .Build();
 var firebaseApp = FirebaseApp.InitializeApp(context, options);

我该如何使用该文件?我在SetApiKey中做了几次尝试,从该文件设置了一些行,但不知何故,应用程序只是在InitializeApp行上崩溃,在输出窗口中没有有意义的解释。我的应用程序如何在c#中获得管理员权限 - xamarin?

this question中,我发现SetCredentials总是不存在,但我的所有xamarin.firebase.xxx组件都是10.2.1版本,所以这不应该是问题。

1 个答案:

答案 0 :(得分:1)

请参阅@Doug Stevenson的answer,您使用的是Firebase Android客户端库,而不是Firebase Admin SDK。您可以在Android客户端库中读取FirebaseOptions.Builder的javadoc:

Android : FirebaseOptions.Builder

然后从java Admin SDK查看同一个类(注意URL不同):

Admin SDK : FirebaseOptions.Builder

它们是不同的东西,在您的项目中,您使用的是Android SDK定义,而不是管理员SDK定义。

相关问题