Подтвердить что ты не робот

Почему мой запрос 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

Это расстраивает, потому что все кажется ОК, и нет способа (что я знаю) отлаживать эту проблему.

Я надеюсь, что кто-то может мне помочь или указать мне в правильном направлении.

Спасибо!

4b9b3361

Ответ 1

Хорошо, получается, что все отлично работает. Моя ошибка заключалась в том, что вы не установили приложение, и не должны иметь разрешенное приложение для создания push-уведомления.

После создания нового тестового пользователя, используя устройство, на котором приложение не было установлено в настоящий момент, и приложение NEVER было авторизованным с пользователем.

Итак, ключ здесь состоит в том, что никакое push-уведомление не будет создано, если приложение установлено на целевом устройстве, , даже если пользователь ранее не санкционировал приложение. Кроме того, по-видимому, , если пользователь разрешил приложение ранее, даже если он был удален в какой-то момент, он также не будет генерировать уведомление.

Итак, если вы хотите протестировать это, создайте совершенно нового пользователя теста и войдите в приложение Facebook на платформе, на которой вы тестируете, и убедитесь, что приложение не установлено на устройстве.

Я думаю, что он все равно должен генерировать уведомление, несмотря на то, что приложение установлено, потому что несколько пользователей могут использовать одно и то же устройство, но это похоже на то, как сейчас.

Я оставлю это здесь, если у кого-то будет такая же проблема в будущем.

Жить долго и процветать!