【问题标题】:How to share image using Branch-io by email in android如何在 Android 中通过电子邮件使用 Branch-io 共享图像
【发布时间】:2018-01-06 07:10:37
【问题描述】:

我正在使用 Branch-io 来共享文本、图像(来自 URL)和链接等内容。 我已经完成了所有工作,并且可以完美地使用 FacebookWhatsapp。我的意思是我也可以在 Gmail 上分享文本和链接,但无法附加图片。

此问题仅发生在 Gmail 中。

这是我的代码:

BranchUniversalObject branchUniversalObject = new BranchUniversalObject()
                        .setCanonicalIdentifier("item/12345")
                        .setTitle(title)
                        .setContentDescription(message)
                        .setContentImageUrl(image)
                      //.setContentImageUrl(Uri.parse("file://"+downloadedImagePath).toString())
                        .setContentIndexingMode(BranchUniversalObject.CONTENT_INDEX_MODE.PUBLIC);

                LinkProperties linkProperties = new LinkProperties()
                        .addControlParameter("$always_deeplink", "true")
                        .setFeature("sharing")
                        .setStage("1");
                String body = "Text Message";
                ShareSheetStyle shareSheetStyle = new ShareSheetStyle(mContext, mContext.getResources().getString(R.string.app_name), body)
                        .setAsFullWidthStyle(true)
                        .setSharingTitle("Share With");

                branchUniversalObject.showShareSheet((Activity) mContext,
                        linkProperties,
                        shareSheetStyle,
                        new Branch.BranchLinkShareListener() {
                            @Override
                            public void onShareLinkDialogLaunched() {
                                LogUtils.v("Share Link", "Launched");
                            }

                            @Override
                            public void onShareLinkDialogDismissed() {
                                LogUtils.v("Share Link", "Dismissed");
                            }

                            @Override
                            public void onLinkShareResponse(String sharedLink, String sharedChannel, BranchError error) {
                                LogUtils.v("Share Link", sharedLink);
                            }

                            @Override
                            public void onChannelSelected(String channelName) {
                                LogUtils.v("Share Link", channelName);

                            }
                        });
            }
        }, false);

再次告诉您,此代码在 Facebook、whatsapp 上完美运行,但不适用于 Gmail(仅问题不附加图片)

如果有人知道,请让我知道我做错了什么以及什么是完美的方法。

提前致谢。

【问题讨论】:

    标签: android sharing file-sharing branch.io


    【解决方案1】:

    我刚刚在我们的 test application 上进行了测试,与 Gmail 共享时一切正常。这是我的测试链接:https://appsolutely.test-app.link/Mw2qFHRMxJ

    每当您通过showShareSheet() 共享链接时,所有分支通用对象 (BUO) 信息都会附加到该链接。如果您继续共享相同数据的链接,但跨不同渠道,则每个渠道的链接之间的唯一区别将是"~channel": "Gmail"

    查看您的代码,我没有看到您在附加图像 URL 时可能遇到的任何问题,因为您确实为 BUO 对象调用了.setContentImageUrl(image),因此问题可能出在您正在测试的方式上。通过 Gmail 分享链接后,我建议将其粘贴到浏览器的 URL 栏中并附加以下查询参数:?debug=true

    例如:https://appsolutely.test-app.link/Mw2qFHRMxJ?debug=true

    然后您可以在打开的页面上查看链接包含的所有数据。如果你看到数据中包含"$og_image_url"和正确的URL地址,这意味着图片实际上是附加的,如下例所示,我的测试链接https://appsolutely.test-app.link/Mw2qFHRMxJ

    【讨论】:

    • 感谢您的回复。我已经在启用调试的情况下测试了我的 sharedLink,并且可以在那里看到"$og_image_url":。但仍然没有附加在 Gmail 上的图像。但我使用以下代码完成了此操作:shareLinkIntent_.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://"+imagePath)); // I first download the image then attached here 此代码可以在 ShareLinkManager 中找到。现在问题解决了:)
    • 我也有同样的问题。该图像显示在 Facebook Messenger 和 WhatsApp 中,但不在 Gmail 中。我按照建议对其进行了调试,并且 image_url 已填充且正确。 Branch 有没有人解决过这个问题或提出了处理它的建议?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-04
    • 2012-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多