使用 Branch SDK 生成推荐短链接 android

Generate referral short links using Branch SDK android

我想在我的应用程序中使用分支 SDK 实施推荐系统。我想用我的静态自定义端点 (https://app.link/ABC123) 为每个用户生成一个简短的 link,它可以被其他用户共享。我可以通过在 LinkProperties 上设置别名来做到这一点。但是将别名与 BUO.showShareSheet 一起使用会出错。

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

每个 URL 的规范标识符应该是唯一的吗?

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

如果 BUOLinkProperties 的所有参数都相同,是否每次都会生成相同的 URL?

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

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

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) {
            }
        });

But please note, if you try to generate a link with the same alias and different link parameters, you will receive an alias conflict error and the showShareSheet method would, in turn, give you an error.

2。每个 URL 的规范标识符应该是唯一的吗?

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

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

您不能为单个 link 设置多个频道。频道标签用于表示您的 link 到达用户的路线。因此,只能有一个频道。

4.如果 BUO 和 LinkProperties 的所有参数都相同,是否每次都会生成相同的 URL?

如果所有 BranchUniversalObject 属性和 link 属性完全相同,则 generateShortUrlshowShareSheet 将 return 相同 link。