动态创建的Firebase动态链接不适用于Android

时间:2017-01-16 22:24:39

标签: android firebase deep-linking firebase-dynamic-links

我最近手动从Firebase控制台创建了一个动态链接。从Firebase控制台点击短\长链接,从Android设备点击链接就可以了。

我面临两个问题。当我通过REST API here创建动态链接时:

  1. 短链接未保存在控制台中。
  2. Android应用无法打开链接,无论我如何在清单中配置我的网址方案。
  3. 我通过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>
    

    来自控制台的工作链接:

    1. https://r8prz.app.goo.gl/qL6j
    2. 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 个答案:

答案 0 :(得分:2)

好的,过了一会儿,我发现了问题,这完全是JAVA问题:

当我从android发送动态链接时,我用String.format()链接了一些文本:

String shareLink = String.format("%s - %s\n%s","to join group","GROUP_NAME","https://r8prz.app.goo.gl/J4qcykV9ol7X3Rh33");

我的链接断了,因为上面的短划线字符:

enter image description here

enter image description here

当我从移动设备点击链接时,我注意到基本网址已更改为:

https://r8prz.app-alt.goo.gl

应用 - 交替 enter image description here 我的geuss是当动态链接ID不存在时,基本网址变为 app-alt

所以我的解决方案是用自定义字符串'Handmade'链接共享链接:

String shareLink = "to join group" + "GROUP_NAME" + "https://r8prz.app.goo.gl/J4qcykV9ol7X3Rh33";