在我基于 Firestore 的应用程序中,我使用以下查询来检索一些数据:
FirebaseFirestore.getInstance().collection("events").document( eventId ).collection("instances").get().addOnCompleteListener( .... )
Run Code Online (Sandbox Code Playgroud)
这给出了一个权限被拒绝的堆栈跟踪:FirebaseFirestoreException: PERMISSION_DENIED: Missing or insufficient permissions.
我的规则的相关部分如下:
match /events/{eventId} {
allow create: if isCurrentUser( request.resource.data.owner );
allow read: if isOwner(eventId) || isAnAdmin( eventId );
allow update: if isOwner( eventId ) || isAtLeastEventAdmin( eventId );
allow delete: if isOwner( eventId );
match /instances/{instanceId} {
allow read: if isOwner(eventId) || isAnAdmin( eventId );
allow write: if isOwner( eventId ) || isAtLeastInstanceAdmin( eventId );
}
}
Run Code Online (Sandbox Code Playgroud)
在控制台模拟器中,对某个实例的查询工作正常,但是一旦我对“实例”集合启动查询,我就会遇到这个问题(这是我无法在模拟器中模拟的)。请注意,isOwner( eventId )在这种情况下返回 true。
如何为实例启用查询?在我看来,“读取”权限应该足以允许查询吗?
在创建启用了proguard的APK时,使用Firebase-UI库(com.firebaseui:firebase-ui:0.3.0)中的FirebaseRecyclerAdapter时会引发以下异常:
java.lang.RuntimeException: java.lang.NoSuchMethodException: <init> [class android.view.View]
at com.firebase.ui.FirebaseRecyclerAdapter.onCreateViewHolder(FirebaseRecyclerAdapter.java:168)
Run Code Online (Sandbox Code Playgroud)
调试版本(没有proguard)工作正常.谁有Firebase-UI的工作程序配置?
我当前的proguard配置看起来像这样(只有Firebase相关部分):
-optimizationpasses 5
-keepattributes SourceFile,LineNumberTable,Exceptions, Signature, InnerClasses,*Annotation*
-keepnames class ** { *; }
-keep class com.firebase.** { *; }
-keepnames class com.fasterxml.jackson.** { *; }
-keepnames class javax.servlet.** { *; }
-keepnames class org.ietf.jgss.** { *; }
Run Code Online (Sandbox Code Playgroud) android firebase firebase-realtime-database android-proguard firebaseui
我已在清单文件中添加了 EnableSafeBrowsing。这基于此处提供的信息: https: //android-developers.googleblog.com/2017/06/whats-new-in-webview-security.html
当我在我的应用程序上运行 Lint 分析时,我在此 Manifest 语句中收到以下警告:(Element meta-data is not allowed here此检查突出显示 Android 资源文件和 AndroidManifest.xml 中不允许的 XML 标记)
<meta-data
android:name="android.webkit.WebView.EnableSafeBrowsing"
android:value="true" />
Run Code Online (Sandbox Code Playgroud)
此时我正在压制这个警告(<!--suppress AndroidElementNotAllowed --> )。有没有关于 Lint 是否或何时不再将其视为警告的消息?
在清单中的位置:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.xxxxx.xxxxxx">
<!--suppress AndroidElementNotAllowed -->
<meta-data
android:name="android.webkit.WebView.EnableSafeBrowsing"
android:value="true" />
Run Code Online (Sandbox Code Playgroud) 我正在尝试更新到Firebase产品的15.x API版本.以某种方式firebase-invites:15.0.2无法找到:
Could not find com.google.firebase:firebase-invites:15.0.2.
Searched in the following locations:
file:/D:/SDK/extras/m2repository/com/google/firebase/firebase-invites/15.0.2/firebase-invites-15.0.2.pom
file:/D:/SDK/extras/m2repository/com/google/firebase/firebase-invites/15.0.2/firebase-invites-15.0.2.jar
file:/D:/SDK/extras/google/m2repository/com/google/firebase/firebase-invites/15.0.2/firebase-invites-15.0.2.pom
file:/D:/SDK/extras/google/m2repository/com/google/firebase/firebase-invites/15.0.2/firebase-invites-15.0.2.jar
file:/D:/SDK/extras/android/m2repository/com/google/firebase/firebase-invites/15.0.2/firebase-invites-15.0.2.pom
file:/D:/SDK/extras/android/m2repository/com/google/firebase/firebase-invites/15.0.2/firebase-invites-15.0.2.jar
https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-invites/15.0.2/firebase-invites-15.0.2.pom
https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-invites/15.0.2/firebase-invites-15.0.2.jar
https://jcenter.bintray.com/com/google/firebase/firebase-invites/15.0.2/firebase-invites-15.0.2.pom
https://jcenter.bintray.com/com/google/firebase/firebase-invites/15.0.2/firebase-invites-15.0.2.jar
https://jitpack.io/com/google/firebase/firebase-invites/15.0.2/firebase-invites-15.0.2.pom
https://jitpack.io/com/google/firebase/firebase-invites/15.0.2/firebase-invites-15.0.2.jar
https://maven.fabric.io/public/com/google/firebase/firebase-invites/15.0.2/firebase-invites-15.0.2.pom
https://maven.fabric.io/public/com/google/firebase/firebase-invites/15.0.2/firebase-invites-15.0.2.jar
Required by:
project :app
Run Code Online (Sandbox Code Playgroud)
我在root build.gradle中有Google maven存储库: