Firebase动态链接短url返回零ios
我面临Firebase动态链接的问题。链接是从后端生成的。而且它在安卓系统中工作得很好。但在iOS中,当我在whatsapp或iPhone上的messages应用程序上共享动态链接时。点击链接,应用程序打开。下面的函数在Appdelegate中调用。然后用接收到的URL调用firebase函数。firebase函数返回nil。但当我打开safari应用程序中的链接时,该链接被打开,相同的firebase函数返回deeplink URL。我找了很多,但没有找到解决办法。我正在使用firebase 7.11版本的播客Firebase动态链接短url返回零ios,ios,swift,firebase,deep-linking,firebase-dynamic-links,Ios,Swift,Firebase,Deep Linking,Firebase Dynamic Links,我面临Firebase动态链接的问题。链接是从后端生成的。而且它在安卓系统中工作得很好。但在iOS中,当我在whatsapp或iPhone上的messages应用程序上共享动态链接时。点击链接,应用程序打开。下面的函数在Appdelegate中调用。然后用接收到的URL调用firebase函数。firebase函数返回nil。但当我打开safari应用程序中的链接时,该链接被打开,相同的firebase函数返回deeplink URL。我找了很多,但没有找到解决办法。我正在使用firebase
func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
if let incomingUrl = userActivity.webpageURL{
print("Incoming URL is \(incomingUrl)")
let linkHandled = DynamicLinks.dynamicLinks().handleUniversalLink(incomingUrl) { (dynamicLink, error) in
// guard error == nil else{
// print("Found an error! \(error!.localizedDescription)")
// return
// }
print("error \(error)")
print("dynamicLink \(dynamicLink)") // It returns nil when app open from whatsapp or any 3rd party app.
}
if linkHandled{
return true
}else{
return false
}
}
return false
}
在这两种情况下,我还收到了以下错误
Error Domain=com.firebase.dynamicLinks Code=403 "(null)" UserInfo={code=403, message=Requests to this API firebasedynamiclinks.googleapis.com method google.firebase.dynamiclinks.v1.DynamicLinksService.GetIosReopenAttribution are blocked., status=PERMISSION_DENIED, details=(
{
"@type" = "type.googleapis.com/google.rpc.ErrorInfo";
domain = "googleapis.com";
metadata = {
consumer = "projects/37866531840";
service = "firebasedynamiclinks.googleapis.com";
};
reason = "API_KEY_SERVICE_BLOCKED";
}
)}
您是否使用FireBaseDynamicClinksCustomDomains参数将自定义域添加到info.plist文件中,如下图所示
我没有使用任何自定义域。我已经让firebase提供了xyz.page.link/该类型的domain.Resolved。我已经为此创建了新的firebase项目。现在它开始工作了。