Unity3d AppRequest 邀请限制 select

Unity3d AppRequest invite limit on select

我对 FB.AppRequest 有疑问。我只需要用户 select Facebook UI 中显示的列表中的一个朋友,但我无法找到一种方法来查看 Facebook Unity3d SDK。

感谢您的帮助。

public void ShareWithUsers()
{
    FB.AppRequest(

        "Come and join me, i bet u cant beat my score",
        null,
        new List<object>() {"app_users"},
        null,
        null,
        null,
        null,
        ShareWithUsersCallback

    );
}

void ShareWithUsersCallback(IAppRequestResult result)
{   
    if (result.Cancelled)
    {
        Debug.Log("Challenge Cancel");
        GameObject.Find("CallBacks").GetComponent<Text>().text = "Challenge Cancel";
    }
    else if (!String.IsNullOrEmpty(result.Error))
    {
        Debug.Log("Challenge on error");
        GameObject.Find("CallBacks").GetComponent<Text>().text = "Challenge on error";
    }
    else if (!String.IsNullOrEmpty(result.RawResult))
    {
        Debug.Log("Success on challenge");

    }
}

如果您查看 FB.AppRequest 的文档,它解释说第四个参数是 "to"。

public static void AppRequest(
    string message, 
    OGActionType actionType,
    string objectId,
    IEnumerable<string> to,
    string data = "",
    string title = "",    
    FacebookDelegate<IAppRequestResult> callback = null
)

其中 to 是要向其发送请求的 Facebook ID 列表,如果您保留它 null 就像现在一样,发件人将看到一个对话框,允许 him/her 选择收件人。

所以在你的情况下你可以离开它 null 让用户选择,或者如果它已经选择了(你已经知道他想挑战哪个朋友)那么你需要创建一个列表并且添加他的 Facebook ID。

FB.AppRequest(

        "Come and join me, i bet u cant beat my score",
        null,
        new List<object>() {"app_users"},
        new List<string>() {"[id of your friend]"},
        null,
        null,
        null,
        ShareWithUsersCallback

    );

不管怎样,这一行 new List<object>() {"app_users"} 意味着可以将请求发送给已经玩过游戏的人。但是,如果您删除它,它可能会发送给他的任何朋友。

我看到 some older code 设置了一个 maxRecipients,如果设置为一个,您可以确保用户通过 UI 只选择一个朋友:

FB.AppRequest(
        string message,
        IEnumerable<string> to = null,
        IEnumerable<object> filters = null,
        IEnumerable<string> excludeIds = null,
        int? maxRecipients = null,
        string data = "",
        string title = "",
        FacebookDelegate<IAppRequestResult> callback = null);

但这不再出现在文档中。