재생 초대 내가 성공적으로 페이스 북을 통해 로그인, 내 모든 페이스 북 친구를 표시하고 내 응용 프로그램에서 페이스 북 통합 에 나는 새로운 오전
을하지만, 내가 원하는하는 방법 안드로이드
표시
후 버튼을 초대하여 목록에있는 모든 내 페이스 북 친구
많이 찾았지만 Facebook 문서를 이해할 수 없습니다. 아무런 관련 사례가 없습니다.
매우 감사드립니다.
재생 초대 내가 성공적으로 페이스 북을 통해 로그인, 내 모든 페이스 북 친구를 표시하고 내 응용 프로그램에서 페이스 북 통합 에 나는 새로운 오전
을하지만, 내가 원하는하는 방법 안드로이드
표시
후 버튼을 초대하여 목록에있는 모든 내 페이스 북 친구
많이 찾았지만 Facebook 문서를 이해할 수 없습니다. 아무런 관련 사례가 없습니다.
매우 감사드립니다.
친구에게 팔로우하는 디스플레이 북을위한 중요한 부분을 넣어 두었습니다. 게임을 설치하지 않은 디스플레이 FB 친구 목록에 대한 주요 부분 (다음 더 많은 정보와 당신이 참조하지만해야하는 quesry,
https://developers.facebook.com/
https://developers.facebook.com/docs/games/unity/unity-tutorial
https://github.com/fbsamples/web-friend-smash-v1 및
https://github.com/fbsamples/android-friend-smash-v2
을 위해) 목록에 Facebook 친구를 표시하려면 당신의 버튼의 onclick에 기능을 다음 10전화 :
Session session = Session.getActiveSession();
if (session == null || !session.isOpened()) {
return;
}
List<String> permissions = session.getPermissions();
if (!permissions.contains("user_friends")) {
askForFriendsForPlayPermission(session);
} else {
loadFriendsFromFacebook(new FriendsLoadedCallback() {
@Override
public void afterFriendsLoaded() {
// startGame();
close_button_value = 11;
img_close_button.setVisibility(View.VISIBLE);
}
});
}
askForFriendsForPlayPermission (...) : 당신은, 그래 그때는 FB 친구 목록의 목록을 표시 누르면이 기능은 다음과 같습니다, 친구에게 허락을하는 데 도움이 :
private void askForFriendsForPlayPermission(final Session session) {
// user has already said no once this session.
if (application.hasDeniedFriendPermission()) {
} else {
new AlertDialog.Builder(HomeActivity.this)
.setPositiveButton(R.string.dialog_yes, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
// User hit OK. Request Facebook friends
// permission.
requestFriendsPermission(AUTH_FRIENDS_PLAY_ACTIVITY_CODE);
}
}).setNegativeButton(R.string.dialog_no, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// User hit cancel. Keep track of deny so
// that we
// only ask once per session
// and then just play the game.
application.setHasDeniedFriendPermission(true);
}
}).setTitle(R.string.with_friends_dialog_title).setMessage(R.string.with_friends_dialog_message)
.show();
}
}
를 적어 user_friends 권한 - 전화 :
private void requestFriendsPermission(int requestCode) {
// --//--Log.d("Permiision", "Requesting friends permissions.");
Session.NewPermissionsRequest newFriendsPermissionsRequest = new Session.NewPermissionsRequest(this,
"user_friends").setRequestCode(requestCode);
Session.getActiveSession().requestNewReadPermissions(newFriendsPermissionsRequest);
}
로드 페이스 북의 친구 :
private void loadFriendsFromFacebook(final FriendsLoadedCallback callback) {
final Session session = Session.getActiveSession();
RequestBatch requestBatch = new RequestBatch();
Request invitableFriendsRequest = Request.newGraphPathRequest(session, "/me/invitable_friends",
new Request.Callback() {
@Override
public void onCompleted(Response response) {
FacebookRequestError error = response.getError();
if (error != null) {
Log.e(CricoApplication.TAG, error.toString());
// handleError(error, true);
} else if (session == Session.getActiveSession()) {
if (response != null) {
// Get the result
GraphObject graphObject = response.getGraphObject();
JSONArray dataArray = (JSONArray) graphObject.getProperty("data");
List<JSONObject> invitableFriends = new ArrayList<JSONObject>();
if (dataArray.length() > 0) {
// Ensure the user has at least one friend
// ...
// fb_friends = new ArrayList<String>();
list_fb_friends = new ArrayList<HashMap<String, String>>();
for (int i = 0; i < dataArray.length(); i++) {
invitableFriends.add(dataArray.optJSONObject(i));
try {
JSONObject json = dataArray.getJSONObject(i);
String str_id = json.getString(TAG_ID);
String str_first_name = json.getString(TAG_FIRST_NAME);
JSONObject picture_obj = json.getJSONObject(TAG_PICTURE);
JSONObject data_obj = picture_obj.getJSONObject(TAG_DATA);
// String str_is_silhouette =
// data_obj.getString(TAG_IS_SILHOUETTE);
String str_url = data_obj.getString(TAG_URL);
// put fb id and friends name in map and add to list view
map_fb_friends = new HashMap<String, String>();
map_fb_friends.put("str_id", str_id);
map_fb_friends.put("str_first_name", str_first_name);
map_fb_friends.put("str_url", str_url);
list_fb_friends.add(map_fb_friends);
fb_friends.add(str_id);
} catch (Exception e) {
e.printStackTrace();
}
}
LazyAdapter_fb_friends adapter = new LazyAdapter_fb_friends(HomeActivity.this,
list_fb_friends);
Your_list_view.setAdapter(adapter);
}
application.setInvitableFriends(invitableFriends);
}
}
}
});
Bundle invitableParams = new Bundle();
invitableParams.putString("fields", "id,first_name,picture");
invitableFriendsRequest.setParameters(invitableParams);
requestBatch.add(invitableFriendsRequest);
// Get the user's list of friends.
// This only returns friends who have installed the game.
Request friendsRequest = Request.newMyFriendsRequest(session, new Request.GraphUserListCallback() {
@Override
public void onCompleted(List<GraphUser> users, Response response) {
FacebookRequestError error = response.getError();
if (error != null) {
Log.e(CricoApplication.TAG, error.toString());
// handleError(error, true);
} else if (session == Session.getActiveSession()) {
// Set the friends attribute
application.setFriends(users);
callback.afterFriendsLoaded();
}
}
});
특정 친구를 초대하기 위해 facebook-id를 사용할 수 있습니다.
희망 this가 도움이됩니다. 당신이 모든 친구를 표시하려면
당신은
다음 그래프 API의 친구를 호출하여 얻을 귀하의 응용 프로그램을 그들이 할 수 사용
마지막으로 초대장을 보내는 경우 여기에 documentation이 있습니다.