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

Приглашение в Facebook, Пригласить друзей

Я перешел на Facebook 4.0, чтобы реализовать AppInviteDialog для Android. Я следил за эта ссылка.

Появится диалоговое окно, я могу выбрать друзей, пригласить их, я получаю вызов onSuccess(), но мои друзья не получают приглашение.

Я использовал приведенный ниже URL-адрес приложения: https://fb.me/****412097*****

Нет previewImageURL, хотя я видел изображение приложения в диалоговом окне.

код:

//Inside onCreate -

        callbackManager = CallbackManager.Factory.create();

        mInvititeDialog = new AppInviteDialog(this);
        mInvititeDialog.registerCallback(callbackManager,
                new FacebookCallback<AppInviteDialog.Result>() {

                    @Override
                    public void onSuccess(Result result) {
                        NetworkController.showCustomToast(
                                InviteFriendsActivity.this,
                                "Invitation Sent Successfully!");
                        finish();
                    }

                    @Override
                    public void onCancel() {
                        Log.d("Result", "Cancelled");
                        NetworkController.showCustomToast(
                                InviteFriendsActivity.this, "Cancelled");
                        finish();
                    }

                    @Override
                    public void onError(FacebookException exception) {
                        Log.d("Result", "Error " + exception.getMessage());
                        NetworkController.showCustomToast(
                                InviteFriendsActivity.this,
                                "Error while inviting friends");
                        finish();
                    }
                });


    if (AppInviteDialog.canShow()) {
            AppInviteContent content = new AppInviteContent.Builder()
                            .setApplinkUrl(appLinkUrl).build();

            AppInviteDialog.show(InviteFriendsActivity.this, content);

    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // TODO Auto-generated method stub
        super.onActivityResult(requestCode, resultCode, data);
        callbackManager.onActivityResult(requestCode, resultCode, data);

    }

Никакой помощи ниже похожих ссылок (даже если они из ios)

Код для приглашения fb не работает

https://stackoverflow.com/info/27547826/facebook-app-invites-issue

Facebook Приглашение к участию в конкурсе не получено

4b9b3361

Ответ 1

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

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

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

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

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

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

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

Источник

Это действительно работало для меня, однако я не очень уверен, что он охватывает все сценарии и является идеальным решением. Публикация здесь для других пользователей и предложений, если таковые имеются.

Ответ 2

Я использую следующий код и отлично работаю... но после приглашения друзей (если у вас есть совместное приложение для Android, пригласить его проверить его/ее мобильное приложение..) приглашение не видно через браузеры

private CallbackManager sCallbackManager;

public void openDialogInvite(final Activity activity) {
            String AppURl = "https://fb.me/421570...5709";  //Generated from //fb developers

        String previewImageUrl = "http://someurl/13_dp.png";

        sCallbackManager = CallbackManager.Factory.create();

        if (AppInviteDialog.canShow()) {
            AppInviteContent content = new AppInviteContent.Builder()
                    .setApplinkUrl(AppURl).setPreviewImageUrl(previewImageUrl)
                    .build();

            AppInviteDialog appInviteDialog = new AppInviteDialog(activity);
            appInviteDialog.registerCallback(sCallbackManager,
                    new FacebookCallback<AppInviteDialog.Result>() {
                        @Override
                        public void onSuccess(AppInviteDialog.Result result) {
                            Log.d("Invitation", "Invitation Sent Successfully");
                            finish();
                        }

                        @Override
                        public void onCancel() {
                        }

                        @Override
                        public void onError(FacebookException e) {
                            Log.d("Invitation", "Error Occured");
                        }
                    });

            appInviteDialog.show(content);
        }

    }

Ответ 3

Это может помочь кому-то с той же проблемой  Используйте этот код

private void InviteFbFriends()
{
    String appLinkUrl, previewImageUrl;
    appLinkUrl = "app url(create it from facebook)"; //your applink url
    previewImageUrl = "image url";//your image url 
    if (AppInviteDialog.canShow()) {
        AppInviteContent content = new AppInviteContent.Builder()
                .setApplinkUrl(appLinkUrl)
                .setPreviewImageUrl(previewImageUrl)
                .build();
        AppInviteDialog.show(this, content);
    }
}

Примечание. ВЫ МОЖЕТЕ СМОТРЕТЬ ПРИГЛАШЕНИЕ ТОЛЬКО В УСТРОЙСТВАХ

Ответ 4

  • Я также интегрирую app app api в приложение iOS. Я также сталкиваюсь с такой же проблемой, после внесения изменений в настройку приложения. Я получил уведомления со всех сторон.
  • Как сказал г-н Асад в своем ответе, он не будет показывать в браузерах, что он говорит неправильно. Фактически, чтобы получить приглашение со всех сторон, мы должны сделать настройку для приложения для всех сторон следующим образом. Из учетной записи разработчика выберите свое приложение и предоставите информацию для всех платформ, чтобы получать приглашения на всех сайтах ios, Android, Facebook и в Интернете. Если мы добавим настройку только для одной платформы, например, предоставим информацию только для уведомления об андроиде, будет отображаться на устройствах Android не на других форматах.

Ответ 5

В моем случае я не смог получить приглашение и увидеть их в приложении FB, потому что приложение FB находилось в режиме разработки (не вживую).

введите описание изображения здесь