Я разрабатываю приложение для Android, которое должно позволить пользователю делиться записью на Facebook. Для статистики я хотел бы знать, успешно ли пользователь опубликовал сообщение или решил отменить.Android Facebook SDK проверить, если доля успешна
Вопрос: Есть ли способ проверить, было ли сообщение успешно распространено с помощью ShareDialog из Facebook SDK 4.5, без разрешения publish_action
?
ShareDialog открывает диалоговое окно совместного использования Facebook и, если доля была успешной, вызывается метод onSuccess
в функции обратного вызова (или onCancel
, если пользователь отменяет диалог общего доступа). Проблема заключается в том, что у пользователя нет приложения Facebook, установленного на его устройстве. Затем ShareDialog возвращается к браузеру по умолчанию для совместного использования, но функция обратного вызова onSuccess
всегда выполняется в этом случае, даже если пользователь нажал кнопку отмены!
Мой текущий код выглядит следующим образом:
FacebookCallback<Sharer.Result> shareCallback = new FacebookCallback<Sharer.Result>() {
@Override
public void onCancel() {
Log.d(LOG_TAG, "fb SHARE canceled");
}
@Override
public void onError(FacebookException error) {
Log.d(LOG_TAG, "fb SHARE error");
}
@Override
public void onSuccess(Sharer.Result result) {
String postId = result.getPostId();
if (postId != null)
{
// record successful FB share
Log.d(LOG_TAG, "fb SHARE success");
}
}
}
FacebookSdk.sdkInitialize(getApplicationContext());
callbackManager = CallbackManager.Factory.create();
shareDialog = new ShareDialog(this);
shareDialog.registerCallback(callbackManager, shareCallback);
Этот код работает отлично, но это требует publish_actions
разрешение на проверку postId
. Есть ли другой способ проверить, был ли обмен успешным, не требуя дополнительных (publish_actions
) разрешений от Facebook (потому что это слишком больно)?
я считаю, that's не представляется возможным, потому что это было бы легко злоупотреблять для стимулирования - которое не допускаются. – luschn
сообщите нам, если вы нашли что-то новое – Nilabja
@Nilabja К сожалению, нет. Кажется, что диалог общего доступа браузера, всегда возвращающийся к 'onSuccess', не является ошибкой, а функцией. Мне нужно написать свой код, чтобы использовать 'publish_actions' (я все еще не уверен, как запускать' publish_actions'). – cakan