2017-10-15 218 views
0

我需要帮助来获取我从Firebase Dynamic Link仪表板创建的网址。我搜索了2天,但找不到任何东西。这是我想提到的一张照片。 从动态链接接收Firebase重定向的网址

我从仪表板创建了深层链接,然后我写了类似下面的内容。我想获取我在图中圈出的网址。

FirebaseDynamicLinks.getInstance() 
       .getDynamicLink(getIntent()) 
       .addOnSuccessListener(this, new OnSuccessListener<PendingDynamicLinkData>() { 
        @Override 
        public void onSuccess(PendingDynamicLinkData pendingDynamicLinkData) { 
         // Get deep link from result (may be null if no link is found) 
         Uri deepLink = null; 
         if (pendingDynamicLinkData != null) { 
          deepLink = pendingDynamicLinkData.getLink(); 
          Log.e("SplashActivity", "deepLink " + deepLink); 
          // Log.e("SplashActivity", pendingDynamicLinkData.zzbyk().getString("Url")); 
         } 
        } 
       }) 

       .addOnCompleteListener(this, new OnCompleteListener<PendingDynamicLinkData>() { 
        @Override 
        public void onComplete(@NonNull Task<PendingDynamicLinkData> task) { 
         if (task.getResult() != null) 
          Log.e("SplashActivity", " task "); 
        } 
       }) 

       .addOnFailureListener(this, new OnFailureListener() { 
        @Override 
        public void onFailure(@NonNull Exception e) { 
         Log.e("Splash", "getDynamicLink:onFailure", e); 
        } 
       }); 

通过上面的代码,我可以捕捉深层链接。 有什么建议吗?

+0

请检查调试页面顶部的消息对你的链接https://ysep8.app.goo.gl/HuKx?d=1 确保您根据Firebase动态链接文档配置了您的iOS和Android应用。如果您需要帮助,请随时打开Firebase支持服务单或评论。 –

+0

感谢您的回复。我在IOS和Android的firebase动态链接仪表板中进行了配置。它的工作原理,但我需要得到的短链接。在我们的IOS应用程序中,我们可以通过IOS中的网页URL获取它。它返回短链接。但我不知道为什么无法获取Firebase Dynamic Link控制台中已定义的短链接。这只是我们必须在android中以编程方式创建所有动态链接的唯一方法。你发给我的链接我看了一下。在我的调试页面中似乎And和IOS之间的架构不同,我认为这很正常。 @OleksiyIvanov –

回答

1

包含iOS的链接的调试页面示例应用信息https://test3p.app.goo.gl/?link=http://www.google.com&isi=585027354&ibi=com.google.AppInvitesSample.dev&d=1 当您使用iOS参数配置链接时,应该会看到类似的内容。如果您添加Android参数,您也会看到Android分支也展开。

创建Firebase动态链接时,请确保填充了“为iOS定义链接行为”和“为Android定义链接行为”部分。对于你的链接https://ysep8.app.goo.gl/HuKx它看起来你没有填写这些部分。部分的“定义链接的行为适用于iOS”

例子: Example of section "Define link behavior for iOS"

+0

再次感谢您的回复。我已经在控制台中完成了这项工作,并且我准备好了我的短链接。我问的是当任何人点击链接时,如果它存在,它将打开应用程序。如果它不存在,那么将重定向到商店。我的问题是,当它通过链接打开应用程序,然后我想通过FirebaseDynamicLinks.getInstance()。getDynamicLink(getIntent())来捕捉短链接。但是当应用程序出现并调用我上面写的方法时,我可以只抓取后备网址不是简短的网址。我很高兴与你交谈,这有助于我纠正我的链接。 –

+0

嗯,为什么你需要在你的应用程序中的短链接?通常,应用程序对deepLink感兴趣。 FDL短链接只是将deepLink传送到您的应用程序的一种方式。这个答案有帮助吗? https://stackoverflow.com/questions/45703215/how-to-generate-a-dynamic-link-for-a-specific-post-in-android-firebase/45704583#45704583 –

+0

我需要短链接,因为知道哪个深层链接点击了。我知道我们可以在Firebase Analytics中查看它,但我也向我的服务发送了请求。似乎我无法收到它,所以我发现它有一个Rest api,但我也有一些问题。如果你看看这个问题,你介意吗?我今天在stackoverflow上写下了这个问题。这里是链接:https://stackoverflow.com/questions/46810942/how-to-get-the-correct-acces-token-for-firebase-dynamic-link-analytics-rest-api感谢您的关注。 –