[英]Firebase - Dynamic Link not working with Android 12
我正在使用 Android 和 Firebase 向用户的 email 地址发送身份验证链接。 Android 9、10 和 11(包括发布版和调试版)一切正常。 但是,当在运行 Android 12 的设备上点击身份验证链接时,浏览器(我尝试了几个浏览器)重定向到错误页面“无效的动态链接,请求的 URL 必须是可解析且完整的动态链接等......”,而相同的链接适用于其他设备。 我错过了什么?
这是代码:
ActionCodeSettings actionCodeSettings =
ActionCodeSettings.newBuilder()
.setUrl("https://appName.page.link")
.setHandleCodeInApp(true)
.setIOSBundleId("com.appName.ios")
.setAndroidPackageName(
"com.appName.android",
false,
getResources().getString(R.string.min_version_android))
.build();
FirebaseAuth auth = FirebaseAuth.getInstance();
auth.sendSignInLinkToEmail(emailAddress, actionCodeSettings).addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void unused) {
Intent intent = new Intent(SignIn.this, CheckSignInInbox.class);
startActivity(intent);
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
String msg = getTimestamp() + "Error in sendSignInLinkToEmail: " + e.getMessage();
logErrorAndFirebaseCrash(SignIn.this, msg);
}
});
我找到了问题的原因。 在清单中,为了使其也可以与 Android 12 一起使用,我必须在我的意图过滤器中android:autoVerify="true"
,如下所示:
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<data
android:host="domainname.page.link"
android:scheme="https" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.