Android 上的 FacebookSDK - 与消息正文共享照片内容

Posted

技术标签:

【中文标题】Android 上的 FacebookSDK - 与消息正文共享照片内容【英文标题】:FacebookSDK on Android - SharePhotoContent with Message body 【发布时间】:2015-06-06 17:02:58 【问题描述】:

我的游戏中有一个按钮,我可以在其中进行完成级别的屏幕截图,然后我将该图片附加到来自最新 SDK 的 Facebook SharePhotoContent 对话框。

一切正常,但我如何插入自定义消息正文,以便替换正文中的标准“对这张照片说点什么”文本?

代码如下:

File tmpFile = new File(path_to_saved_facebook);
media_scanner = new SingleMediaScanner(this, tmpFile);
Bitmap bitmap = BitmapFactory.decodeFile(path_to_saved_facebook, options);
SharePhoto photo = new SharePhoto.Builder()
        .setUserGenerated(true)
        .setBitmap(bitmap)
        .setCaption("Latest score")
        .build();
SharePhotoContent content = new SharePhotoContent.Builder()
        .addPhoto(photo)
        .build();
shareDialog.show(content);

【问题讨论】:

【参考方案1】:

你不能。 Facebook 不允许您预先填写状态消息。

【讨论】:

我正在阅读:developers.facebook.com/policy/#control。 为什么要声明 "不要在帖子的标题、cmets、消息或用户消息参数中预填非人创建的内容,即使该人可以编辑或删除分享之前的内容。” 如果您无法预填充 如果您有 publish_actions 权限,那么您可以直接上传照片(不使用共享对话框)。在这种情况下,您可以在发布时指定“消息”,这就是上述段落适用的地方。对于共享对话框,没有预填充选项。 如果允许程序员在 publish_actions 权限的帮助下填充 ShareDialog 会很好。至少使用 ShareDialog,用户有机会在发布之前修改文本。 发布操作的正确方法是显示一个对话框,用户可以在其中输入他们想要设置的消息。违反此政策的应用可能会被禁止使用该平台。对于我们的对话,我们会尽可能地执行政策,在这种情况下,我们不允许应用设置消息。【参考方案2】:

用图像预填充文本不再适用于最新的 SDK 4.0 或更高版本 请勿在帖子的标题、cmets、消息或用户消息参数中预先填充非个人创建的内容,即使此人可以在共享前编辑或删除内容。

https://developers.facebook.com/docs/apps/review/prefill

【讨论】:

以上是关于Android 上的 FacebookSDK - 与消息正文共享照片内容的主要内容,如果未能解决你的问题,请参考以下文章

Android Facebook SDK 3.23.0 - AndroidTV 上的 FB 登录

Facebook 上的多个 Hashtag 共享 Android

Android Facebook SDK 4.0 ShareDialog 不显示长文本

Android上的Unity Facebook SDK登录错误

以编程方式清除 Android 上的 Facebook SDK 4.0 会话

找不到 FacebookSDK/FacebookSDK.h