我想跟踪从“玩家_1”发送到其他玩家的邀请以对其进行计数,从而为“玩家_1”提供一些奖励。就像在PVZ2中一样。
好的,Facebook有Unity3d的SDK。这是调用应用程序请求对话框的API,允许邀请播放器:
public static void AppRequest(
string message,
string[] to = null,
string filters = "",
string[] excludeIds = null,
int? maxRecipients = null,
string data = "",
string title = "",
FacebookDelegate callback = null)
Facebook的文档说了有关redirect_url的一些内容,可用于跟踪接受缩进的用户:
https://developers.facebook.com/docs/reference/dialogs/requests/
但是Unity插件没有这个参数。
另外医生说,遵循:
请求仅适用于Facebook.com或iOS上的游戏,
Android应用。接受游戏的请求将指导此人
到发送请求的应用的“画布页面” URL。对于本地人
行动应用程式,接受要求会将使用者导向该应用程式
在其设备上(如果已安装)或安装在适当的位置(Apple App
商店或Google Play)以其他方式下载该应用。
游戏只能在移动设备上运行。因此,我们不需要制作Facebook Canvas应用程序。我是否应该在我们的网站上实施此Canvas URL脚本?
在哪里插入代码(服务器端脚本)来跟踪Facebook应用程序请求的正确位置?
更新:
感谢Bhavesh Vadalia的回答:https://stackoverflow.com/a/21597185/425707
我决定不处理Canvas App中的好友请求。
这是Facebook SDK 5.0.3的解决方案:
// Quesry string: "/fql?q=SELECT uid, name, is_app_user, pic_square FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) AND is_app_user = 1";
string q = "/fql?q=SELECT+uid,+name,+is_app_user,+pic_square+FROM+user+WHERE+uid+IN+(SELECT+uid2+FROM+friend+WHERE+uid1+=+me())+AND+is_app_user+=+1";
FB.API(q, Facebook.HttpMethod.GET, friendsResult =>
{
if (friendsResult.Error != null)
{
FbDebug.Error(friendsResult.Error);
}
else
{
FbDebug.Log(friendsResult.Text);
}
});
最佳答案
这是在我的应用程序中使用facebook graph api工具实现跟踪代码的工具。希望它也对您有所帮助。
我正在使用Facebook 3.6 SDK
private void requestMyAppFacebookFriends(Session session) {
Request friendsRequest = createRequest(session);
friendsRequest.setCallback(new Request.Callback() {
@Override
public void onCompleted(Response response) {
List<GraphUser> friends = getResults(response);
Log.e("RESULT : ", "@"+friends.size());
for(int i =0;i<friends.size(); i++){
GraphUser user = friends.get(i);
boolean installed = false;
if(user.getProperty("installed") != null){
installed = (Boolean) user.getProperty("installed");
}
if(installed){
Log.e("USER NAME", "@"+friends.get(i).getId());
}
}
// TODO: your code here
}
});
friendsRequest.executeAsync();
}
private Request createRequest(Session session) {
Request request = Request.newGraphPathRequest(session, "me/friends", null);
Set<String> fields = new HashSet<String>();
String[] requiredFields = new String[] { "id", "name", "picture","installed" };
fields.addAll(Arrays.asList(requiredFields));
Bundle parameters = request.getParameters();
parameters.putString("fields", TextUtils.join(",", fields));
request.setParameters(parameters);
return request;
}
关于android - 如何跟踪从Unity应用发送的Facebook appRequest?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21476795/