使用Branch.io在不同设备上生成相同的链接

时间:2017-10-11 13:57:01

标签: android hyperlink deep-linking branch.io deeplink

有没有办法在Branch.io的不同设备上生成相同的链接? 我的意思是说: 在我发布的应用程序中。我想和朋友分享这个。我点击分享一个设备并获得一个链接 然后我想从另一台设备分享同一篇文章。我得到第二个链接。他们不同。但我需要他们是一样的。

1 个答案:

答案 0 :(得分:0)

如果使用完全相同的参数在两个设备上生成链接,则应生成相同的链接。如果您添加到链接的其中一个参数特定于用户/设备等,则您为Branch链接提供的值将不同,因此将生成新链接。

此外,如果您在应用程序中使用setIdentity(),则每个创建的链接都将使用用户标识进行标记,因此每次都会创建一个不同的链接。

例如:

final BranchUniversalObject branchUniversalObject = new BranchUniversalObject()
                .setCanonicalIdentifier("1234")
                .setTitle("Test for link")
                .setContentIndexingMode(BranchUniversalObject.CONTENT_INDEX_MODE.PUBLIC)
                .setContentDescription("Your friend has invited you to check out my app!")
                .setContentImageUrl("https://upload.wikimedia.org/wikipedia/commons/thumb/5/5a/Branch_Metrics_logo_color.png/1200px-Branch_Metrics_logo_color.png")
                .addContentMetadata("var1", "abc")
                .addContentMetadata("var2", "def");

LinkProperties linkProperties = new LinkProperties()
                .setChannel("App")
                .setFeature("Sharing")
                .addControlParameter("$android_deepview", "branch_default");


branchUniversalObject.generateShortUrl(this, linkProperties, new Branch.BranchLinkCreateListener() {
            @Override
            public void onLinkCreate(String url, BranchError error) {
                if (error == null) {
                    Log.v("url",url);
                }
                else {
                    Log.v("url",url);
                }
            }
    });

以上内容将始终在任何Android设备上生成相同的链接。但是我在Android应用中使用Branch.getInstance().setIdentity(user_id)它会生成一个新链接,即使所有链接参数都相同。