MR.*_*. K 6 android facebook facebook-graph-api
脸书警报:
示例应用 (ID ***************) 似乎违反了我们的平台政策,在 Facebook 上创造了负面体验。如果您不进行更改以使您的应用符合规定,我们将被迫对您的应用进行限制。
我的电子邮件收件箱:
在努力为每个人创造出色的平台体验的过程中,我们要求开发人员确保他们构建的应用程序符合我们的平台政策。您的应用示例应用 (AppId: ***************) 不符合以下规定:
平台政策 8.1:验证您是否正确集成了登录。您的应用程序不应在测试过程中崩溃或挂起。
在登录期间,您的 Android 应用程序崩溃或过度挂起,为尝试使用您的应用程序的人们带来了糟糕的体验。为确保此流程顺利运行,请检查您是否已正确集成 Facebook 登录。我们建议您在所有集成上测试登录。如果您还没有这样做,请:
依赖:
implementation 'com.facebook.android:facebook-login:[5,6)'
Run Code Online (Sandbox Code Playgroud)
AndroidManifest.xml:
<activity android:name="com.facebook.FacebookActivity"
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:label="@string/app_name" />
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id" />
Run Code Online (Sandbox Code Playgroud)
onCreate():
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.act_login);
callbackManager = CallbackManager.Factory.create();
fb_login_button = findViewById(R.id.fb_login_button);
fb_login_button.setReadPermissions(Arrays.asList(EMAIL));
init();
}
Run Code Online (Sandbox Code Playgroud)
按钮点击:
LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("public_profile", "email"));
facebookCallBack();
Run Code Online (Sandbox Code Playgroud)
facebookCallBack() 方法:
private void facebookCallBack() {
fb_login_button.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
//AccessToken accessToken = loginResult.getAccessToken();
getUserDetails(loginResult);
}
@Override
public void onCancel() {
Log.print("FB= " + "onCancel");
}
@Override
public void onError(FacebookException exception) {
Log.print("FB= " + "onError" + exception.toString());
}
});
}
Run Code Online (Sandbox Code Playgroud)
getUserDetails(loginResult) 方法:
protected void getUserDetails(LoginResult loginResult) {
GraphRequest data_request = GraphRequest.newMeRequest(
loginResult.getAccessToken(),
new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(
JSONObject json_object,
GraphResponse responseg) {
try {
//get my response here
} catch (Exception e) {
e.printStackTrace();
}
}
});
Bundle permission_param = new Bundle();
permission_param.putString("fields", "id, name, email, first_name, last_name");
data_request.setParameters(permission_param);
data_request.executeAsync();
}
Run Code Online (Sandbox Code Playgroud)
我试图在 2 到 3 个月前解决这个问题。但我的应用程序仍然受到 facebook 的限制。
任何人都有解决方案,请立即帮助我。
归档时间: |
|
查看次数: |
3430 次 |
最近记录: |