Fasebook邀请可以指定fb id进行一个或者多个邀请,也可以默认随便几个好友进行邀请。
在之前的实现邀请功能时,一般先进行获取可邀请的好友列表(除了已经在使用APP好友),再进行指定邀请,如果游戏邀请成功后进行奖励。
但从2018年4月4日开发,fb禁止获取可邀请好友列表(invitable_friends)
User Invitable Friends
This edge was deprecated on April 4th, 2018, and can no longer be accessed.
所以邀请流程需求变动,先了解如何进行邀请:
引用库:implementation 'com.facebook.android:facebook-android-sdk:4.32.0'
官方拉起邀请界面代码,来源点击这里:
GameRequestDialog requestDialog;
CallbackManager callbackManager;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FacebookSdk.sdkInitialize(this.getApplicationContext());
callbackManager = CallbackManager.Factory.create();
requestDialog = new GameRequestDialog(this);
requestDialog.registerCallback(callbackManager,
new FacebookCallback<GameRequestDialog.Result>() {
public void onSuccess(GameRequestDialog.Result result) {
String id = result.getId();
}
public void onCancel() {}
public void onError(FacebookException error) {}
}
);
}
private void onClickRequestButton() {
GameRequestContent content = new GameRequestContent.Builder()
.setMessage("Come play this level with me")
.build();
requestDialog.show(content);
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
}
其中GameRequestContent类可以设置以下属性: