Наградить пользователя после успешного публикации в социальных сетях на Android?

Я хотел бы знать, как вознаградить пользователя в моем приложении после того, как оно было успешно опубликовано (из моего приложения с помощью кнопки) в любой социальной сети (Facebook, Twitter, Google+ < / strong> и т. д.) Есть ли что-то подобное, например, в Twitter SDK?

Другими словами, как я узнаю, что к моему приложению предоставлен доступ?

Я прочитал этот ответ, но он не помогает.


person Community    schedule 29.05.2017    source источник
comment
Я не думаю, что в fb, twitter есть что-то подобное, но вы можете справиться с этим, когда содержимое будет опубликовано на fb.   -  person Nandakishore Shetty    schedule 29.05.2017
comment
Facebook категорически запрещает вам каким-либо образом вознаграждать пользователей за то, что они делятся.   -  person CBroe    schedule 29.05.2017
comment
@CBroe Правда? Вы можете предоставить источник?   -  person    schedule 29.05.2017
comment
developers.facebook.com/policy#properuse, 4.5: Стимулируйте человека только к войдите в свое приложение, разместите акцию на странице своего приложения или зарегистрируйтесь на месте. Не поощряйте другие действия. Более подробное объяснение: developers.facebook.com/docs/apps/examples-platform-policy-4.5.   -  person CBroe    schedule 29.05.2017
comment
@CBroe Ладно, забудьте о Facebook. А как насчет других социальных сетей? Спасибо.   -  person    schedule 29.05.2017
comment
Вы можете начать свое исследование с проверки соответствующей документации API.   -  person CBroe    schedule 29.05.2017
comment
@CBroe Я сделал. Я не нашел ничего явного.   -  person    schedule 29.05.2017
comment
Вы не должны продавать или получать денежную или виртуальную компенсацию за действия в Твиттере, действия трансляций Periscope или за размещение действий в Твиттере в вашем Сервисе, таких как, помимо прочего, подписка, ретвит, лайк, сердце, комментарий и ответ. в соответствии с политикой разработчика Twitter dev.twitter.com/overview/terms/agreement-and -политика   -  person Andy Piper    schedule 21.06.2017
comment
именно то, что вы хотите сделать, хотите ли вы давать награды после установки или просто поделиться?   -  person Neo    schedule 24.06.2017
comment
@Neo Я хочу дать награду после того, как приложение было успешно опубликовано.   -  person    schedule 24.06.2017
comment
@neo из моего собственного приложения   -  person    schedule 24.06.2017


Ответы (3)


  1. В Twitter вы можете использовать Twitter Kit Native Composer, чтобы поделиться твитом, что, по сути, представляет собой действие, с которого вы начинаете.

    startActivity(intent);
    

    Позже твиттер запустит трансляцию с результатом публикации, показывающей, была она успешной или нет. Дополнительная информация здесь: https://dev.twitter.com/twitterkit/android/compose-tweets

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

    public class MainActivity extends FragmentActivity {
        CallbackManager callbackManager;
        ShareDialog shareDialog;
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            callbackManager = CallbackManager.Factory.create();
            shareDialog = new ShareDialog(this);
            shareDialog.registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() { 
                // Here you'll get sharing status 
            });
    }
    

    Дополнительная информация: https://developers.facebook.com/docs/sharing/android?locale=en_US, проверьте Share Dialog абзац.

  3. Для LinkedIn вы можете получить результат от их sdk аналогично обработке сетевого запроса.

  4. Для Google+ вы должны проверить результат начатой ​​активности, в отношении этого docs developers.google.com/+/mobile/android/share вы должны вызвать startActivityForResult, и тогда вы, скорее всего, получите результат как activity результат, Activity.RESULT_OK или Activity_RESULT_CANCELED. Подробнее здесь: https://developer.android.com/training/basics/intents/result.html

  5. Для Reddit вы можете использовать их REST api. Я обнаружил, что вы можете написать сообщение, например: https://reddit.com/dev/api/#POST_api_compose, который ответит успешно или неудачно.

  6. Fow WhatsApp, Hangouts, Telegram, Viber, Line и другое мессенджеры вы должны использовать собственный способ Android, чтобы поделиться тем, что, к сожалению, не сообщает вам результат.

person TpoM6oH    schedule 19.06.2017
comment
Хороший ответ. Вы что-нибудь знаете о других социальных сетях? (WhatsApp, Google Hangouts и т. Д.) - person ; 19.06.2017
comment
Или, может быть, универсальный способ узнать, успешно ли был предоставлен доступ к моему приложению? - person ; 19.06.2017
comment
К сожалению, большинство мессенджеров используют систему обмена Android, основанную на намерениях (developer.android.com/training/sharing /send.html), то есть WhatsApp описывает его здесь faq.whatsapp.com/android/ 28000012. И эта система не позволяет вам получать обратную связь от приложения, которым вы поделились. - person TpoM6oH; 19.06.2017
comment
Значит, Twitter и Facebook - единственные крупные социальные сети, которые это поддерживают? - person ; 19.06.2017
comment
Вы также можете получить результат от LinkedIn, они делают это с помощью сетевого запроса https://developer.linkedin.com/docs/share-on-linkedin#methods, но я не слышал о каком-либо механизме от WhatsApp, Hangouts, Telegram или Instagram. - person TpoM6oH; 19.06.2017
comment
А как насчет Google+ и Reddit? - person ; 19.06.2017
comment
У Google Plus, похоже, есть какой-то механизм в отношении этих документов developers.google.com/+ / mobile / android / share, вы должны позвонить startActivityForResult, и тогда вы, скорее всего, получите результат в виде activity result, Activity.RESULT_OK или Activity_RESULT_CANCELED. Дополнительная информация здесь: developer.android.com/training/basics/intents/result. html - person TpoM6oH; 19.06.2017
comment
Reddit не имеет готового решения для Android, хотя у них есть REST api, который можно использовать. Я обнаружил, что вы можете составить, например: reddit.com/dev/api/#POST_api_compose, который ответит успехом или неудачей - person TpoM6oH; 19.06.2017
comment
Идеальный и полный ответ. Спасибо, что разместили это. - person Riddhi; 17.09.2018
comment
что насчет Pinterest? - person Riddhi; 20.09.2018
comment
Можете ли вы дать мне ссылку на интеграцию Reddit? - person Riddhi; 21.09.2018

Для твиттера

Из Twitter Docs

После попытки опубликовать твит TweetUploadService передает намерение со значением действия com.twitter.sdk.android.tweetcomposer.UPLOAD_SUCCESS в случае успеха или com.twitter.sdk.android.tweetcomposer.UPLOAD_FAILURE в случае неудачи. В случае успеха намерение будет содержать дополнительное значение с Tweet ID созданного твита. В случае неудачи намерение будет содержать копию исходного намерения, которое можно использовать для повторной попытки загрузки.

Вы можете создать BroadcastReceiver, чтобы получать эти намерения.

Для WhatsApp

Выхода нет. Потому что WhatsApp Intent позволяет вам открывать только WhatsApp. Это не приведет к срабатыванию обратного вызова.

Для Facebook

Facebook позволяет зарегистрировать в приложении диспетчер обратных вызовов.

Образец кода

public class MainActivity extends FragmentActivity {
    CallbackManager callbackManager;
    ShareDialog shareDialog;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        callbackManager = CallbackManager.Factory.create();
        shareDialog = new ShareDialog(this);
        // this part is optional
        shareDialog.registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() { ... });
    }

Источник: Документация Facebook

Hangouts

В документации по API Google+ Hangouts я не могу найти ничего подобного.

Примечание

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

Но некоторые приложения для социальных сетей работают.

person Sagar V    schedule 19.06.2017
comment
Хороший ответ. А как насчет Google+? - person ; 19.06.2017
comment
Google+ не поддерживает обратные вызовы в диалоговом окне «Поделиться». @Программист - person Sagar V; 19.06.2017

Для WhatsApp

Как упоминалось выше, такого обратного вызова от Whatsapp нет, но вот что вы можете сделать.

Попросите пользователя поделиться изображением вместе с текстом, а затем вы можете проверить, проверив отправленную папку мультимедиа в папке Whatsapp / Media / Whatsapp Images / Sent.

Но для этого вам нужно разрешение на хранение.

person Dhruv Kaushal    schedule 20.08.2019