7

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

我已逐步按照教程进行操作,并且可以通过单击 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,但点击 lick 正确打开应用程序。

我哪里错了?

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

清单上的过滤器:

4

3 回答 3

0

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

于 2016-06-07T17:35:07.377 回答
0

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

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

于 2016-06-06T07:41:10.083 回答
0

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

于 2016-06-13T18:46:52.370 回答