0

Branch.ioアプリからコンテンツを共有するために使用しています。良いインターフェースだと思いますが、ケースごとに異なるメッセージテキストを共有したい状況です。たとえば、電子メール用の特定のテキストと SMS 用の特定のテキストが必要です。次のコードを使用します (こちらのドキュメントで提供されているとおり):

private void shareWithBranchSheet() {
    ShareSheetStyle shareSheetStyle = new ShareSheetStyle(SessionDetailActivity.this, "", getShareMessage())
            .setDefaultURL(getShareUrl())
            .addPreferredSharingOption(SharingHelper.SHARE_WITH.EMAIL)
            .addPreferredSharingOption(SharingHelper.SHARE_WITH.FACEBOOK)
            .addPreferredSharingOption(SharingHelper.SHARE_WITH.MESSAGE);
    getBranchUniversalObject().showShareSheet(MyShareActivity.this, getLinkProperties(), shareSheetStyle, 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) {
        }
    });
}

private BranchUniversalObject getBranchUniversalObject() {
    BranchUniversalObject branchUniversalObject = new BranchUniversalObject();
    branchUniversalObject.setTitle(getMyTitle());
    branchUniversalObject.setContentDescription(getMyDescription());
    branchUniversalObject.setContentImageUrl(getMyImageUrl());
    branchUniversalObject.addContentMetadata("param1", getDataForParam("1"));
    return branchUniversalObject;
}

private LinkProperties getLinkProperties() {
    io.branch.referral.util.LinkProperties linkProperties = new io.branch.referral.util.LinkProperties();
    linkProperties = linkProperties.setFeature("sharing");
    linkProperties = linkProperties.setChannel("Messages");
    return linkProperties;
}

今私が抱えている問題は、ShareSheetStyle選択したオプションに使用できるテキストが 1 種類しかないことです。メールと SMS のテキストを変更したいのですが、この時点で共有コンテンツが既に設定されているため、コールバックはこれには適していません。

私の選択に従ってテキストを変更する方法を知っている人はいますか? どんな助けでも大歓迎です。

4

1 に答える 1

0

Branch SDK 共有シートの設計方法では、それは不可能です。理論的には、ソースを取得してここで変更できます。ただし、現時点では、共有シートは 1 つの文字列のみを受け入れます

于 2016-02-18T19:47:36.680 に答える