如何使用适用于Android的Firebase动态链接接收全局链接

问题描述 投票:0回答:1

假设第一个用户向第二个用户发送邀请。用户发送一些全局链接,第二个用户接收它。在我的情况下,用户在Android设备中收到了dynamic link而不是global link

我想分享现在的uri https://aewp.com/share

private void shareVocabulary() {
    Intent intent = new AppInviteInvitation.IntentBuilder("Text")
            .setMessage("Message")
            .setDeepLink(createDynamicLink().getUri())
            .setCustomImage(Uri.parse("https://lh3.googleusercontent.com/info.jpg"))
            .setCallToActionText(getString(R.string.install))
            .build();
    startActivityForResult(intent, SHARE_RESULT_CODE);
}

public DynamicLink createDynamicLink(){

        String domain = getString(R.string.domain) + ".app.goo.gl";

        return FirebaseDynamicLinks.getInstance().createDynamicLink().
                setLink(Uri.parse("https://aewp.com/share")).
                setDynamicLinkDomain(domain).
                setAndroidParameters(new DynamicLink.AndroidParameters.Builder(getPackageName()).
                        setFallbackUrl(Uri.parse("https://play.google.com/store/apps/details?id=" + getPackageName())).
                        build()
                ).
                buildDynamicLink();
    }

DeepLinkActivity.class

在下面的代码中每次都返回动态链接,而不是全局链接

 FirebaseDynamicLinks.getInstance().getDynamicLink(getIntent())
                .addOnSuccessListener(this, new OnSuccessListener<PendingDynamicLinkData>() {
                    @Override
                    public void onSuccess(PendingDynamicLinkData data) {
                        if (data == null) {
                            Logger.logInfo(getClass(), "getInvitation: no data");
                            return;
                        }

                        // Get the deep link
                        Uri link = data.getLink();
                    }
                })
                .addOnFailureListener(this, new OnFailureListener() {
                    @Override
                    public void onFailure(@NonNull Exception e) {
                        Logger.logError(getClass(), "getDynamicLink:onFailure", e);
                    }
                });

据我所知,我应该收到这个链接“qazxsw poi”而不是短或大的动态链接

我该如何解决这个问题?

android firebase deep-linking firebase-dynamic-links
1个回答
0
投票

Intent类型之间有一点点区别对于https://aewp.com/share我们不使用深层链接,而不是它我们应该传递动态链接。

Firebase AppInviteInvitation

使用 Intent intent = new AppInviteInvitation.IntentBuilder("Send") .setMessage("Message") .setDeepLink(R.string.global_link).build()) .setCustomImage(Uri.parse("https://lh3.googleusercontent.com/9.jpg")) .setCallToActionText("Install)) .build(); startActivityForResult(intent, SHARE_RESULT_CODE); 发送数据时,我们需要为不同的平台使用动态链接

Intent.ACTION_SEND
© www.soinside.com 2019 - 2024. All rights reserved.