1
votes

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.Dictionary2 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.

1
Thanks for the feedback. We will look into #1 and #2. For #3, we generally think of app requests as a way to get users into your game. As such, there isn't a way to subscribe to them in the game. For #4, what filters are you trying to set for the friend selector?benp

1 Answers

1
votes

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.