【问题标题】:Facebook Unity SDK version 5.0.3 beta feedback and questionsFacebook Unity SDK 版本 5.0.3 beta 反馈和问题
【发布时间】:2014-01-28 02:59:45
【问题描述】:

使用问题和问题的摘要:使用 SDK 5.0.3,Build 140124.4c900f79fb0ada4

Unity 编辑器中发生以下情况。

1) 问题 1 已完成加载 Facebook dll,但找不到版本信息

使用 SDK 5.0.3,构建 140124.4c900f79fb0ada4

UnityEngine.Debug:Log(Object)
FbDebug:Info(String)
FB:Init(InitDelegate, String, Boolean, Boolean, Boolean, Boolean, Boolean, HideUnityDelegate,         String) (at Assets/Facebook/Scripts/FB.cs:131)
FB:Init(InitDelegate, HideUnityDelegate, String) (at Assets/Facebook/Scripts/FB.cs:84)
FacebookManager:CallFBInit(Action`1) (at Assets/Scripts/Facebook/FacebookManager.cs:66)
MainMenuHandler:drawMainMenu() (at Assets/Scripts/Menus/MainMenuHandler.cs:125)
MainMenuHandler:OnGUI() (at Assets/Scripts/Menus/MainMenuHandler.cs:95)

loading dll: https://integrated-plugin-canvas-    rsrc.fbsbx.com/rsrc/unity/lib/sdk_5.0/CanvasFacebook.dll
UnityEngine.Debug:Log(Object)
FbDebug:Log(String)
<LoadFacebookClass>c__Iterator5:MoveNext() (at Assets/Facebook/Scripts/FB.cs:341)
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
Facebook.EditorFacebook:OnAwake() (at Assets/Facebook/Scripts/EditorFacebook.cs:35)
Facebook.AbstractFacebook:Awake()
UnityEngine.GameObject:AddComponent()
Facebook.FBComponentFactory:GetComponent(IfNotExist)
Facebook.EditorFacebookLoader:get_fb() (at Assets/Facebook/Scripts/EditorFacebookLoader.cs:13)
CompiledFacebookLoader:Start() (at Assets/Facebook/Scripts/FB.cs:417)


Finished loading Facebook dll, but could not find version info
UnityEngine.Debug:LogWarning(Object)
FbDebug:Warn(String)
FB:OnDllLoaded() (at Assets/Facebook/Scripts/FB.cs:163)
CompiledFacebookLoader:Start() (at Assets/Facebook/Scripts/FB.cs:418)

2) 问题 2 经常(但不总是)解决主机超时,即使我的 Internet 连接正常

Resolving host timed out: integrated-plugin-canvas-rsrc.fbsbx.com
UnityEngine.Debug:LogError(Object)
FbDebug:Error(String)
<LoadFacebookClass>c__Iterator5:MoveNext() (at Assets/Facebook/Scripts/FB.cs:346)

问题:对于问题 2,此错误会在移动设备上发生吗?如何捕获此错误以在我的应用中正确处理?

3) 问题 3 问题:我的应用程序能否以某种方式订阅 AppRequests,以便我可以在我的应用程序中自动获取它们,或者我是否需要通过 FB.API("/me/apprequests" ...) 每 X 秒轮询一次 Facebook ?

4) 问题 4 - 无法在 Unity 编辑器中启动 AppRequestAsFriendSelector(但在移动设备上运行良好)

FacebookManager-CallAppRequestAsFriendSelector called successfully.
UnityEngine.Debug:Log(Object)
FacebookManager:CallAppRequestAsFriendSelector(String, String, String, String, String, String)     (at Assets/Scripts/Facebook/FacebookManager.cs:186)
PopupHandler:askLifeFB() (at Assets/Scripts/Menus/PopupHandler.cs:231)
PopupHandler:drawButton(GUIContent, Action) (at Assets/Scripts/Menus/PopupHandler.cs:465)
PopupHandler:renderAskFriendsLife() (at Assets/Scripts/Menus/PopupHandler.cs:222)
PopupHandler:showPopup(Int32) (at Assets/Scripts/Menus/PopupHandler.cs:163)
UnityEngine.GUI:CallWindowDelegate(WindowFunction, Int32, GUISkin, Int32, Single, Single, GUIStyle)

System.NullReferenceException: Object reference not set to an instance of an object

在 Facebook.FriendSelectorDialog+FriendList.SetCustomFilters (System.Collections.Generic.List1 filters) [0x00000] in <filename unknown>:0 at Facebook.FriendSelectorDialog.OnInit () [0x00000] in <filename unknown>:0 at Facebook.FbSkinnedDialog.Init () [0x00000] in <filename unknown>:0 at Facebook.NativeDialog.ShowDialog[FriendSelectorDialog] (System.Collections.Generic.Dictionary2 paramsDict, Facebook.FacebookDelegate 回调, Facebook.ErrorDelegate errorCallback) [0x00000] in :0 UnityEngine.Debug:LogError(对象) FbDebug:错误(字符串) Facebook.FallbackData:JSFallback(String) Facebook.NativeDialog:ShowDialog(字典`2, FacebookDelegate, ErrorDelegate) Facebook.AsyncRequestFriendSelectorGet:ShowDialog(FBResult) Facebook.AsyncRequestDialogGet:CheckAndShowDialog(FBResult) Facebook.c__Iterator0:MoveNext()

External Call: fbUi("{\"message\":\"Help me unlock the next     episode!\",\"filters\":null,\"data\":\"Ask_Give_Life,1\",\"title\":\"App     Requests\",\"app_id\":\"1375338362720935\",\"locale\":\"en_US\",\"method\":\"apprequests\"}", "1");
UnityEngine.Application:ExternalCall(String, Object[])
Facebook.CanvasFacebook:JSFallbackUI(String, Dictionary`2, FacebookDelegate)
Facebook.FallbackData:JSFallback(String)
Facebook.NativeDialog:ShowDialog(Dictionary`2, FacebookDelegate, ErrorDelegate)
Facebook.AsyncRequestFriendSelectorGet:ShowDialog(FBResult)
Facebook.AsyncRequestDialogGet:CheckAndShowDialog(FBResult)

5) 否则做得很好!非常感谢您改进了 Unity 中的 Facebook 集成。现在测试变得容易多了,我们可以在编辑器中获得一个令牌。

【问题讨论】:

  • 感谢您的反馈。我们将研究#1 和#2。对于 #3,我们通常将应用请求视为让用户进入游戏的一种方式。因此,没有办法在游戏中订阅它们。对于 #4,您要为好友选择器设置哪些过滤器?

标签: facebook-unity-sdk


【解决方案1】:

感谢您的报告。就像 Ben 说的那样,我们将研究 #1 和 #2。

对于#3 最佳做法是有一个玩家可以访问的菜单来管理他们的请求。这样您就不必轮询 X 秒,只需从那里更新。

为了扩展#4,自定义过滤器应该是一个 json 字符串,如下所示: ["all", {"name":"my filter", "user_ids":[&lt;facebook_user_id&gt;, &lt;another_facebook_user_id&gt;]}] 当用 FB.AppRequest() 调用时。我们有特殊定义的键名,如 allapp_users 可以进入列表。更多自定义过滤器应采用带有两个键的 json 对象的形式:nameuser_ids,其中 name 是显示的列表名称,user_ids 是要放入其中的 facebook 用户 ID 列表。

感谢您的反馈,希望对您有所帮助。

【讨论】:

  • 好消息,#4 已通过设置修复,过滤器:"[\"all\"]" 谢谢!
  • PS: #6 issue - 您可以在编辑器启动的 App Requests 窗口中看到您作为参数传递的“标题”,但在移动设备上,标题始终为“App Requests” .
  • #1 仍在进行中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-30
相关资源
最近更新 更多