使用Facebook Unity SDK,如何通过iOS上的屏幕截图发布自定义故事



您如何通过附加屏幕截图通过Facebook Unity SDK发布自定义故事?

我做了什么:

遵循Smash Unity教程。创建的配置文件对象。创建的 Action Smash。创建的故事 smash 配置文件。保存。

1)它说无法生成故事。这是一个问题还是我仍然可以测试我的故事?

然后根据教程中的代码,我写道:

public void publishAction()
{
Debug.Log ("publish action.");
if (FB.IsLoggedIn)
{
Dictionary<string, string> querySmash = new Dictionary<string, string>();
string testUserID = "1378641979";
querySmash["profile"] = testUserID;
FB.API ("/me/" + FB.AppId + ":smash", Facebook.HttpMethod.POST, publishActionCallback, querySmash);
}
}
void publishActionCallback(FBResult result)
{
if (result.Error != null)
{
Debug.LogWarning("FacebookManager-publishActionCallback: error: " + result.Error );
}
else
{
Debug.Log("FacebookManager-publishActionCallback: success: " + result.Text );
}
}

2)此代码总是返回 400不良请求。不知道为什么是教程示例的副本。有什么想法吗?

下一步,我想将游戏的屏幕截图附加到这个故事中。我没有网站可以托管它。我知道如何获取屏幕截图。

var width = Screen.width;
var height = Screen.height;
var tex = new Texture2D(width, height, TextureFormat.RGB24, false);
// Read screen contents into the texture
tex.ReadPixels(new Rect(0, 0, width, height), 0, 0);
tex.Apply();
byte[] screenshot = tex.EncodeToPNG();

3)问题是我如何将其附加到我的自定义故事中?

4)在进行了一些研究如何为我的自定义故事提供自定义标题和消息的研究之后,我仍然不清楚。请让我知道如何。

5)最后,如果我的对象是一个新单词(不像 profile IS),我的API调用是什么看起来像?假设自定义故事对象是"用餐"。

是: querysmash [" feal"] ="美味的披萨!"?

感谢您的帮助!

我一次将这些问题一个问题:

#1-2。指定操作名称时,需要使用 namespace :* action*而不是 appid :action。要查看这是否是问题,请查看该400个错误的正文是否读取"无效的路径组件"。

#3。在您的操作配置中,创建一个类型为image的动作属性。然后,无论该属性的名称是什么名称,都将其用作键,您的图像字节作为WWWForm中的值,您将其作为FB.API()作为其formData参数(有关详细信息,请参见文档)。如果您创建了一个称为" ScreenPic"的属性,则您的示例可能会继续

var wwwForm = new WWWForm();
wwwForm.AddBinaryData("screenpic", screenshot, "temp.png");
FB.API("me/mynamespace:myaction", Facebook.HttpMethod.POST, Callback, wwwForm);

#4。您可以在故事配置上使用"编辑附件"按钮配置标题和消息,可能会使用模板包括作为对象标记的一部分或动作参数提供的字符串,如"创建自定义故事"文档中的更彻底描述。

#5。几乎。如果您查看如何处理内置对象的情况,您会发现提供的URL为profile的值。如果您在Facebook的[Open Graph Debugger] [4]中加载该URL,您会发现该网址上的网页已通过Open Graph Metadata进行了标记。因此,同样,在这种情况下,您需要创建一个具有适当打开图标记的网页,以定义您的新类型的对象(每个对象),并将该对象的URL作为值示例中的querySmash['meal"]。完整的算法在Facebook开发网站上的"使用对象"文档中。

最新更新