为 xamarin 应用程序授予 firebase 管理员权限

Give firebase admin rights to xamarin application

在 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 行崩溃,输出中没有有意义的解释 window。我的应用程序如何在 c# - xamarin 中获得管理员权限?

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

参考@Doug Stevenson 的 ,您使用的是 Firebase Android 客户端库,而不是 Firebase Admin SDK。您可以阅读 Android 客户端库中 FirebaseOptions.Builder 的 java 文档:

Android : FirebaseOptions.Builder

然后从 java Admin SDK 查看相同的 class(注意 URL 不同):

管理员 SDK: FirebaseOptions.Builder

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