动态创建的 Firebase 动态链接不适用于 Android
Posted
技术标签:
【中文标题】动态创建的 Firebase 动态链接不适用于 Android【英文标题】:Firebase Dynamic Links created dynamically don't work Android 【发布时间】:2017-01-16 22:24:38 【问题描述】:我最近从 Firebase 控制台手动创建了一个动态链接。从 android 设备上的 Firebase 控制台单击短/长链接时,链接可以正常工作。
我面临两个问题。当我通过 REST API here 创建动态链接时:
-
短链接未保存在控制台中。
无论我如何在清单中配置我的 URL 方案,Android 应用都无法打开链接。
我通过 REST 创建动态链接的步骤:
POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=MY_API_KEY
Content-Type: application/json
"longDynamicLink": "https://r8prz.app.goo.gl/?link=http://www.socialTanya.co.il/group/groupId&apn=com.ssa.socialtanya&ibi=com.ssa.socialtanya"
回复:
"shortLink": "https://r8prz.app.goo.gl/J4qcykV9ol7X3Rh33",
"previewLink": "https://r8prz.app.goo.gl/?link=http://www.socialTanya.co.il/group/itzhar&apn=com.ssa.socialtanya&ibi=com.ssa.socialtanya&d=1"
单击https://r8prz.app.goo.gl/J4qcykV9ol7X3Rh33
时,我看到加载对话框几秒钟,然后浏览器打开并显示“找不到页面”错误。
manifest.xml:
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data
android:host="www.socialTanya.co.il"
android:pathPrefix="/group/"
android:scheme="http"/>
<data
android:host="www.socialTanya.co.il"
android:pathPrefix="/group/"
android:scheme="https"/>
</intent-filter>
来自控制台的工作链接:
https://r8prz.app.goo.gl/qL6j
https://r8prz.app.goo.gl/?link=http://www.socialTanya.co.il/group&apn=com.ssa.socialtanya&sd=%D7%94%D7%A6%D7%98%D7%A8%D7%A3+%D7%9C%D7%9C%D7%99%D7%9E%D7%95%D7%93+%D7%AA%D7%A0%D7%99%D7%90+%D7%9E%D7%A9%D7%95%D7%AA%D7%A3
【问题讨论】:
【参考方案1】:好的,过了一会儿,我找到了问题,完全是JAVA问题:
当我从 android 发送动态链接时,我用 String.format()
链接一些文本:
String shareLink = String.format("%s - %s\n%s","to join group","GROUP_NAME","https://r8prz.app.goo.gl/J4qcykV9ol7X3Rh33");
我的链接断开了,因为上面的破折号:
当我从手机点击链接时,我注意到基本网址更改为:
https://r8prz.app-alt.goo.gl
应用替代 我的猜测是当动态链接 id 不存在时,基本 url 变为 app-alt。
所以我的解决方案是用自定义字符串“Handmade”链接共享链接:
String shareLink = "to join group" + "GROUP_NAME" + "https://r8prz.app.goo.gl/J4qcykV9ol7X3Rh33";
【讨论】:
我也面临同样的问题,但没有得到如何更改深层链接实际网址? 尝试准确描述哪个网址 似乎你是从控制台而不是从 REST 构建这个 URL。在桌面和 Android 设备上为我工作 是的,是从控制台创建的,不使用 rest,所以我们必须只使用 rest 创建吗?我们不能使用控制台创建吗?即使已安装,它也没有打开应用程序。我在深层链接中添加了自定义参数。没有参数工作正常以上是关于动态创建的 Firebase 动态链接不适用于 Android的主要内容,如果未能解决你的问题,请参考以下文章
iOS 应用程序:Firebase 动态链接不适用于最新的 Pod 文件
Flutter Firebase 动态链接不适用于新的 ios 应用安装