React-Native - com.google.android.gms.common.api.ApiException:400:无法缩短短动态链接
Posted
技术标签:
【中文标题】React-Native - com.google.android.gms.common.api.ApiException:400:无法缩短短动态链接【英文标题】:React-Native - com.google.android.gms.common.api.ApiException: 400: Cannot shorten a short Dynamic Link 【发布时间】:2020-04-01 11:05:08 【问题描述】:我正在开发我的 react native 动态链接功能。
我已尝试使用以下代码创建链接:
const generatedDynamicLink = await firebase.dynamicLinks().buildLink(
link: `https://test.page.link/groupinvite/name=test`,
domainUriPrefix: `https://test.page.link/groupinvite`,
android:
packageName: 'com.test',
,
ios:
bundleId: 'com.test',
appStoreId: '1546898245',
,
);
上述方法效果很好。
但是,它给了我一个长链接,比如, https://test.page.link//guestinvite?apn=com.test&ibi=com.test&isi=1498742044&link=https%3A%2F%2Ftest.page.link/%2Fguestinvite%2Fname%3Dtest
所以为了缩短链接,我将 firebase.dynamicLinks().buildLink(....) 替换为“firebase.dynamicLinks().shortLink(.....,"SHORT")” 但它给我一个错误,例如,
错误:[dynamicLinks/build-failed] com.google.android.gms.common.api.ApiException:400:无法缩短短动态链接:
那么任何人都可以建议我一个解决方法来创建一个短链接,如“com.test/guestinvite/abdgsyd”吗?
另外,如何轻松获取初始链接。
目前我正在使用以下链接,但我无法从链接中获取查询参数“名称”。
componentDidMount()
dynamicLinks().getInitialLink().then((initialLink)=>
console.log('initialLink : ', initialLink.url);
);
我正在使用以下依赖项:
"@react-native-firebase/app": "^6.3.4",
"@react-native-firebase/dynamic-links": "^6.3.4",
谢谢。
【问题讨论】:
【参考方案1】:按照this 教程,他们使用:
import dynamicLinks from '@react-native-firebase/dynamic-links';
const link = await dynamicLinks().buildLink(
link: 'https://invertase.io',
domainUriPrefix: 'https://xyz.page.link',
analytics:
campaign: 'banner',
);
在你的情况下,它会是:
import dynamicLinks from '@react-native-firebase/dynamic-links';
const generatedDynamicLink = await dynamicLinks().buildLink(
link: `https://test.page.link/groupinvite/name=test`,
domainUriPrefix: `https://test.page.link/groupinvite`,
android:
packageName: 'com.test',
,
ios:
bundleId: 'com.test',
appStoreId: '1546898245',
);
我不知道这是否可行,但我希望如此。
【讨论】:
以上是关于React-Native - com.google.android.gms.common.api.ApiException:400:无法缩短短动态链接的主要内容,如果未能解决你的问题,请参考以下文章
google-services 插件无法检测到 com.google.android.gms 或 com.google.firebase 的任何版本 - 奇怪的行为
react-native init 指定 react 版本和 react-native 版本
React-native:看起来你全局安装了 react-native
将骆驼与 Google PubSub 组件一起使用会为 com.google.api.client.repackaged.com.google.common.base.Strings 提供 NoCla
在另一个 React-Native 库中使用 React-Native 库
google iosched示例项目:com.google.api.client.repackaged.com.google.common.base不存在