Проблема с приложением Facebook
Я приглашаю друзей через Facebook App, но у меня есть некоторые проблемы с этим.
не показывать только push-уведомления, показывать уведомления внутри уведомления Facebook.
после успешной отправки функция onSuccess не работает.
Подскажите пожалуйста, как можно решить эту проблему.
Вот код:
FacebookSdk.sdkInitialize(AppInvite.this);
CallbackManager callbackManager = CallbackManager.Factory.create();
FacebookCallback<AppInviteDialog.Result> facebookCallback = new FacebookCallback<AppInviteDialog.Result>() {
@Override
public void onSuccess(AppInviteDialog.Result result) {
Intent InviteFB = new Intent(getApplicationContext(), HomeActivity.class);
// InviteFB.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(InviteFB);
finish();
Log.i("TAG", "MainACtivity, InviteCallback - SUCCESS!" + result.getData());
}
@Override
public void onCancel() {
Log.i("TAG", "MainACtivity, InviteCallback - CANCEL!");
}
@Override
public void onError(FacebookException e) {
Log.e("TAG", "MainACtivity, InviteCallback - ERROR! " + e.getMessage());
}
};
AppInviteDialog appInviteDialog = new AppInviteDialog(AppInvite.this);
if (appInviteDialog.canShow()) {
AppInviteContent.Builder content = new AppInviteContent.Builder();
content.setApplinkUrl("https://fb.me/1705244.......");
content.setPreviewImageUrl("");
AppInviteContent appInviteContent = content.build();
appInviteDialog.registerCallback(callbackManager, facebookCallback);
appInviteDialog.show(AppInvite.this, appInviteContent);
}
}
1 ответ
Решение
Приглашение обрабатывается Facebook. Настройки уведомлений приложения Facebook получателя будут определять, какие уведомления они будут получать.
Я нашел это для
FacebookCallback
чтобы получить свои обратные вызовы,CallbackManager
должен быть добавлен кonActivityResult
обработать результат:@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); callbackManager.onActivityResult(requestCode, resultCode, data); }