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);
但这不再出现在文档中。
我对 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);
但这不再出现在文档中。