Mac*_*uta 6 android firebase firebase-app-check
可以同时安装应用程序检查提供程序工厂吗?或者我应该只使用一个用于调试,另一个用于发布?如果是的话该怎么办?
我指的代码片段:
package pl.matematykagryzie.app
import android.os.Bundle
import android.util.Log
import io.flutter.embedding.android.FlutterActivity
import com.google.firebase.FirebaseApp
import com.google.firebase.appcheck.FirebaseAppCheck
import com.google.firebase.appcheck.debug.DebugAppCheckProviderFactory
import com.google.firebase.appcheck.safetynet.SafetyNetAppCheckProviderFactory
import com.google.firebase.functions.FirebaseFunctions
class MainActivity: FlutterActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Initialize firebae app
FirebaseApp.initializeApp(/*context=*/this)
val firebaseAppCheck = FirebaseAppCheck.getInstance()
firebaseAppCheck.installAppCheckProviderFactory(
DebugAppCheckProviderFactory.getInstance())
// Activate app check
firebaseAppCheck.installAppCheckProviderFactory(
SafetyNetAppCheckProviderFactory.getInstance())
val data = hashMapOf(
"isKotlin" to true
)
// Call a function
FirebaseFunctions
.getInstance("europe-central2")
.getHttpsCallable("validateAppCheck")
.call(data)
.addOnFailureListener {
Log.wtf("onCreate", "failure")
}
.addOnSuccessListener {
Log.wtf("onCreate", "success")
}
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,我不是 kotlin 也不是 android 开发人员。
我正在开发一个 flutter 应用程序,最近添加了 firebase 应用程序检查,这给我带来了很多麻烦,我正在努力解决它们。
我正在尝试缩小问题的范围。
小智 1
您应该只安装一个工厂,而不是同时安装两个工厂,因为您安装的最后一个工厂会覆盖之前的任何工厂。
您必须根据构建变体安装不同的工厂,有几个选项:
if(BuildConfig.DEBUG) installOne() else installAnother()src/release/java/AppCheckInitialization.kt即src/debug/java/AppCheckInitialization.kt两个源集中都可以有一个fun initializeAppCheck()可以从您的活动中调用的逻辑。根据您构建的变体,应用程序将使用相应版本的initializeAppCheck().