Reputation: 35
Summary of issues and questions using: Using SDK 5.0.3, Build 140124.4c900f79fb0ada4
The following occur in the Unity Editor.
1) Issue 1 Finished loading Facebook dll, but could not find version info
Using SDK 5.0.3, Build 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) Issue 2 Often get (but not always) Resolving host timed out even though my Internet connection is ok
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)
QUESTION : For issue 2, can this error occur on mobile? How can I trap this error to handle it properly in my app?
3) Issue 3 QUESTION: can my app somehow subscribe to AppRequests so I can get them automatically in my app or do I need to poll Facebook every X seconds by going a FB.API("/me/apprequests” …) ?
4) Issue 4 - Cannot launch AppRequestAsFriendSelector in Unity Editor (but works well on mobile)
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
at 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.Dictionary
2 paramsDict, Facebook.FacebookDelegate callback, Facebook.ErrorDelegate errorCallback) [0x00000] in :0
UnityEngine.Debug:LogError(Object)
FbDebug:Error(String)
Facebook.FallbackData:JSFallback(String)
Facebook.NativeDialog:ShowDialog(Dictionary`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) Otherwise great job! Thank you so much for improving Facebook integration in Unity. So much easier to test now that we can get a token in the Editor.
Upvotes: 1
Views: 2670
Reputation: 906
Thanks for the report. Like Ben said we'll look into #1 & #2.
For #3 Best practice is to have a menu that a player can get to manage their requests. That way you don't have to poll X seconds and only update from there.
To expand on #4, a custom filter should be a json string like so:
["all", {"name":"my filter", "user_ids":[<facebook_user_id>, <another_facebook_user_id>]}]
when called with FB.AppRequest()
. We have special defined key names like all
, app_users
that can go in the list. More custom filters should be in the form of a json object with two keys: name
and user_ids
with name being the list's name that is shown and the user_ids being the list of facebook user ids to put in there.
Thanks for the feedback and I hope this helps.
Upvotes: 1