Firebase动态链接始终返回已取消

时间:2016-06-04 17:53:01

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

我正在为我的应用使用动态链接。

我已逐步按照教程进行操作,并且我可以通过点击Facebook上发布的链接打开该应用。

但是当我调用getInvitation时,我总是将CANCELED作为AppInviteInvitationResult的状态。

    AppInvite.AppInviteApi.getInvitation(mGoogleApiClient, this, false).setResultCallback(
            new ResultCallback<AppInviteInvitationResult>() {
                @Override
                public void onResult(@NonNull AppInviteInvitationResult result) {
                    if (result.getStatus().isSuccess()) {
                        // Extract deep link from Intent
                        Intent intent = result.getInvitationIntent();
                        String deepLink = AppInviteReferral.getDeepLink(intent);

                        // [END_EXCLUDE]
                    } else {
                        Log.d("StartActivity", "getInvitation: no deep link found.");
                    }
                }
            });

进入调试,我可以看到result.getStatus()返回CANCELED,但点击舔正确打开应用程序。

我哪里错了?

编辑:我使用的链接是: https://wft4z.app.goo.gl/?link=https://aqld.it/testlink/112972&al=aqld://test/about?params%3D17363&apn=com.project.mydeeplink

清单上的过滤器:                                                                                                       

3 个答案:

答案 0 :(得分:0)

未收到意图时,状态将被取消。我想知道同样的事情,结果发现我在firebase网页中创建的链接是错误的。我写了一些关于如何调试url问题的想法作为另一个问题的答案。如果您遇到与我相同的问题,他们应该会有所帮助:

https://stackoverflow.com/a/37615175/4025606

答案 1 :(得分:0)

不直接回答您的问题,但您可以通过使用此页面为ios和Android创建firebase动态链接来消除格式错误的网址:http://fdl-links.appspot.com/

答案 2 :(得分:0)

只需仔细检查您是否在firebase控制台中添加了SHA-1,并且添加的SHA-1与生成的APK的SHA1匹配。我看到同样的问题 - result.getStatus()在此之前返回CANCELED,但在firebase控制台上添加SHA-1后,它开始正常工作。 :)