使用Branch SDK android生成引用短链接

时间:2017-10-27 06:15:09

标签: android deep-linking branch.io

我想使用分支SDK在我的应用中实现引荐系统。我想为每个用户生成一个与我的静态自定义端点(https://app.link/ABC123)的短链接,可以由其他用户共享。我可以通过在LinkProperties上设置别名来完成此操作。但是使用BUO.showShareSheet的别名会出错。

我可以使用BUO.showShareSheet的别名吗?

每个网址的规范标识符是否唯一?

是否可以使用LinkProperties设置多个频道?

如果BUO&的所有参数都相同,那么每次都会生成相同的网址吗? LinkProperties

1 个答案:

答案 0 :(得分:0)

<强> 1。我可以在BUO.showShareSheet上使用别名吗?

您绝对可以在showShareSheet方法中使用别名。这是我用来生成和共享别名链接的代码

final BranchUniversalObject branchUniversalObject = new BranchUniversalObject()
                        .setCanonicalIdentifier("/1234")
                        .setTitle("Test for alias")
                        .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("Facebook")
                        .setFeature("Sharing")
                        .setAlias("aliastest");

                ShareSheetStyle ss = new ShareSheetStyle(MainActivity.this, "Check this out!", "This stuff is awesome: ")
                .setCopyUrlStyle(ContextCompat.getDrawable(this, android.R.drawable.ic_menu_send), "Copy", "Added to clipboard")
                .setMoreOptionStyle(ContextCompat.getDrawable(this, android.R.drawable.ic_menu_search), "Show more")
                .addPreferredSharingOption(SharingHelper.SHARE_WITH.FACEBOOK)
                .addPreferredSharingOption(SharingHelper.SHARE_WITH.EMAIL)
                .addPreferredSharingOption(SharingHelper.SHARE_WITH.MESSAGE)
                .addPreferredSharingOption(SharingHelper.SHARE_WITH.HANGOUT)
                .setAsFullWidthStyle(true)
                .setSharingTitle("Share With");

        branchUniversalObject.showShareSheet(this, linkProperties,  ss,  new Branch.BranchLinkShareListener() {
            @Override
            public void onShareLinkDialogLaunched() {
            }
            @Override
            public void onShareLinkDialogDismissed() {
            }
            @Override
            public void onLinkShareResponse(String sharedLink, String sharedChannel, BranchError error) {
            }
            @Override
            public void onChannelSelected(String channelName) {
            }
        });
  

但请注意,如果您尝试使用相同的别名和不同的链接参数生成链接,则会收到别名冲突错误,而showShareSheet方法反过来会给您一个错误。

<强> 2。每个URL的Canonical标识符是否唯一?

canonicalIdentifiercanonicalUrl参数极大地改善了分支捕获的内容分析数据。 Branch建议它应该是该内容的独特之处。反过来,它帮助分支重复数据删除同一事物的许多实例。合适的选项:带有路径的网站,或带有实体标识符的数据库。

第3。是否可以使用LinkProperties设置多个通道?

您无法为单个链接设置多个频道。频道标记用于表示链接到达用户的路由。因此,只能有一个频道。

<强> 4。如果BUO&amp;的所有参数都相同,那么每次都会生成相同的URL吗? LinkProperties吗

如果所有BranchUniversalObject属性和链接属性完全相同,generateShortUrlshowShareSheet将返回相同的链接。