我正在使用react-native-firebase创建动态链接,当我创建标准链接时一切正常,但是当我创建短链接时,它给出一个错误:“错误:400:您的项目不拥有动态链接领域”。有什么想法可以解决这个问题吗?
更新:问题仅出现在Android中,在IOS中工作正常
创建短动态链接的代码:
onClickShare= () => {
const link =
new firebase.links.DynamicLink(redirectLink , Config.FIREBASE_CONFIG.dynamicLink)
.android.setPackageName(Config.ANDROID_PACKAGE_NAME)
.ios.setBundleId(Config.IOS_BUNDLE_ID)
.ios.setAppStoreId(Config.IOS_APP_STORE_ID)
.social.setDescriptionText(description)
.social.setTitle(this.props.event.title)
firebase.links()
.createShortDynamicLink(link, 'SHORT')
.then((url) => {
Share.share({
message: _('shareLinkMessage') + " " + url,
title: _('shareLinkTitle'),
}, {
// Android only:
dialogTitle: _('shareLinkAndroid'),
})
})
如果您收到此类错误,请更新您的
google-services.json
文件!
在我的例子中(使用 Flutter),由于 DynamicLinkParameters 对象参数中的“uriPrefix”参数不正确,我收到此错误:
final DynamicLinkParameters parameters = DynamicLinkParameters(
uriPrefix: your_page_link, //<-- this should be same as in your Firebase project
link: Uri.parse(....),
androidParameters: AndroidParameters(
....
),
iosParameters: IOSParameters(
....
),
);
请确保您的 uriPrefix 值设置正确。
当您收到此错误时,这意味着您没有将动态链接域添加为 firebase 链接的格式。
您必须遵循以下格式:
在 android/app/src/main/AndroidManifest.xml 的 Activity 中添加:
<!-- Deep linking -->
<meta-data android:name='flutter _deeplinking_enabled'
android:value="true" />
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" android:host="<app_name.page.link>" />
<data android:scheme="https" />
</intent-filter>
并与动态链接代码中的甲酸酯
Try this method,
import dynamicLinks from '@react-native-firebase/dynamic-links';
async function generateLink() {
const link = await dynamicLinks().buildLink({
link: 'valid domain url',
domainUriPrefix: 'valid domain url',
analytics: {
content: 'your data',
},
});
console.log(link)
}
请更新您的链接网址
https://yourDomain?WXYZ?d=1
至
https://yourDomain/WXYZ?d=1
As per allowed URL
https://support.google.com/firebase/answer/9021429
如果您的 google-services.json 已更新,您可能尚未完成 npm install