Почему мой запрос Facebook AppInviteDialog не получен от целевого друга?
Вкратце: все, кажется, работает на стороне клиента, но ничего не получено для целевого друга Facebook.
Это подробные шаги с кодом и скриншотами:
AppInviteContent content = new AppInviteConent.Builder()
.setApplinkUrl("App link url created via the Facebook AppLink creator tool")
.setPreviewImageUrl("http://www.redacted.com/previewImage.png")
.build();
appInviteDialog.show(this, content);
В результате отображается диалоговое окно с предварительным просмотром ссылки на установку приложения и возможность ввода сообщения вверху:
![screenshot]()
Затем нажмите "Далее", выберите одного или нескольких друзей и нажмите кнопку "Вверх" справа "Отправить":
![screenshot]()
В результате получается успешная передача:
![screenshot]()
Я также добавил обратный вызов, чтобы убедиться, что это действительно успешная передача:
appInviteDialog.registerCallback(facebookCallbackManager, new FacebookCallback<AppInviteDialog.Result>() {
@Override
public void onSuccess(AppInviteDialog.Result result) {
Log.d(TAG,"onSuccess result = "+ result.getData().toString());
}
@Override
public void onCancel() {}
@Override
public void onError(FacebookException e) {
Log.d(TAG,"onError message = "+ e.getMessage());
}
});
Отпечатает "onSuccess result = Bundle [{didComplete = 1}]"
Ожидаемый результат: Friend получает уведомление.
Фактический результат: Друг ничего не получает.
Дополнительная информация, которая может быть полезна:
- Приложение доступно только для Android.
- Уведомление не получено ни на одной платформе, включая приложение для Android android.
- URL-адрес ссылки на приложение подтвержден, нажав на него в приложении Android android. (Он создает всплывающее окно, связанное с Google Play Store).
- Единый вход включен и пользователь вошел в систему, хотя это не обязательно в соответствии с документацией AppInviteDialog на Facebook.
- Пробовал это с целевым пользователем, который еще не разрешил приложение, а также с пользователем, у которого уже установлено приложение. Те же результаты.
- Версия SDK для Facebook, которую я использую, - 4.0.0
Это расстраивает, потому что все кажется ОК, и нет способа (что я знаю) отлаживать эту проблему.
Я надеюсь, что кто-то может мне помочь или указать мне в правильном направлении.
Спасибо!
Ответы
Ответ 1
Хорошо, получается, что все отлично работает. Моя ошибка заключалась в том, что вы не установили приложение, и не должны иметь разрешенное приложение для создания push-уведомления.
После создания нового тестового пользователя, используя устройство, на котором приложение не было установлено в настоящий момент, и приложение NEVER было авторизованным с пользователем.
Итак, ключ здесь состоит в том, что никакое push-уведомление не будет создано, если приложение установлено на целевом устройстве, , даже если пользователь ранее не санкционировал приложение. Кроме того, по-видимому, , если пользователь разрешил приложение ранее, даже если он был удален в какой-то момент, он также не будет генерировать уведомление.
Итак, если вы хотите протестировать это, создайте совершенно нового пользователя теста и войдите в приложение Facebook на платформе, на которой вы тестируете, и убедитесь, что приложение не установлено на устройстве.
Я думаю, что он все равно должен генерировать уведомление, несмотря на то, что приложение установлено, потому что несколько пользователей могут использовать одно и то же устройство, но это похоже на то, как сейчас.
Я оставлю это здесь, если у кого-то будет такая же проблема в будущем.
Жить долго и процветать!