Как поделиться пользовательским контентом в Facebook?

Обычно я использую динамическую ссылку Firebase, чтобы позволить пользователям делиться контентом из моего приложения через SMS или электронную почту. Поэтому я создаю для них ссылку, как показано ниже.

https://appcode.app.goo.gl/?link=http://www.example.com/?post_id=112&apn=com.example.com

Обычно после того, как пользователь щелкнул эту ссылку, он приведет к SinglePostActivity.java моего приложения и покажет Post с Id=112. В моем контенте также есть текст и изображение.

Но когда я интегрирую кнопку «Поделиться» в Facebook с той же ссылкой, она не перенаправляет на мои приложения, как обычно, а просто неработающую ссылку, и Facebook также заблокировал ссылку.

Вот как я интегрируюсь с Facebook Share

facebookShare = (Button)findViewById(R.id.facebookShare); 

facebookShare.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (ShareDialog.canShow(ShareLinkContent.class)) {
                    ShareLinkContent content = new ShareLinkContent.Builder()
                            .setContentUrl(Uri.parse(generateDeepLink(postId)))//this will generate the link above
                            .build();

                    shareDialog.show(content);
                }
            }
        });

Итак, мой вопрос: как позволить пользователю делиться контентом и вести пользователя к моему SinglePostActivity.java, когда он нажимает на ссылку? И у меня сейчас нет версии веб-сайта для моего приложения.


person ken    schedule 22.04.2017    source источник
comment
Предлагаем вам начать с применения надлежащего URL-кодирования к вашим параметрам URL.   -  person CBroe    schedule 24.04.2017


Ответы (1)


Да, у меня тоже только андроид. По сути, вы просто добавляете пользовательскую (протокольную) схему в свой манифест, которая обрабатывается при нажатии на ссылку этой веб-страницы. Что-то вроде myapp://app.mycompany.com/123. Я полагаю, что собственное приложение Facebook будет перенаправлено в ваше приложение.

Подробнее о ссылках на приложения

Проблема, с которой я столкнулся, заключается в том, что данные не могут (легко) быть динамическими. Он должен существовать заранее — или вам нужно динамически создавать тег заголовка, указывающий на данные? Я не уверен, может ли тег head быть динамическим... Это то, с чем я сейчас борюсь.

person Mike    schedule 04.06.2017