【发布时间】: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,您要为好友选择器设置哪些过滤器?