Является ли Facebook теперь антисоциальным, или есть надежда связать пользователей с их друзьями через API?

В моем последнем проекте было (было) требование, чтобы пользователь приглашал своих друзей в свою онлайн-службу. Я обнаружил, что по состоянию на апрель 2015 года с новым API Facebook Graph версии 2.0+ вы не можете фактически получить список друзей для пользователя, если эти друзья уже не являются подписчиками вашего приложения.

Сценарий:

Мое приложение — это веб-служба, которая позволяет пользователям совместно работать над исследовательской работой в частной онлайн-группе. Пользователь должен

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

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

Ожидание:

Пользователю все равно, является ли его друг уже участником «MyApp.com». Они рассчитывают просто найти своих друзей, как они это делают сегодня, со своего телефона, когда они подключат его к Facebook (делает доступными все контакты, независимо от того, подключили ли эти друзья свой Facebook к своему телефону, соответственно). Точно так же сравните приглашение участников с вашими документами Google, например: найдите свой контакт, установите разрешение, отправьте приглашение - так просто. Сегодня пользователи требуют такой простоты UX и не различают и не заботятся о том, имеют ли они дело с электронной почтой, контактами в Facebook, Twitter и т. д.

Проблема:

Весь смысл социальной сети в том, чтобы быть социальным. Если Graph API позволяет моему приложению получать доступ только к друзьям, которые являются УЖЕ пользователями моего приложения, это полностью сводит на нет всю цель — он отрезает моего пользователя на коленях, убивает UX, больше нет возможности на самом деле связаться их друзей. Насколько я понимаю, Facebook внес это изменение, чтобы разработчики не рассылали пользователям спам, и я понимаю это и полностью поддерживаю это. ОДНАКО, моя компания и мое приложение не пытаются приглашать друзей для своих собственных целей, это ПОЛЬЗОВАТЕЛЬ и ИХ СОБСТВЕННЫЕ друзья, к которым ОНИ имеют право доступа и общения для своих целей (или так вы думаете ). Помимо просто списка друзей, даже если бы он у меня был, я думаю, что есть дополнительные препятствия и ограничения при публикации сообщений друзьям, даже личных (не на стене) сообщений, что опять же было бы антисоциальным.

Вопрос:

Правильно ли я понимаю ограничения Facebook, и если да, то как это обойти? Я был бы согласен, если бы такой API был заблокирован, пока вы не пройдете проверку, которая докажет, что вы не рассылаете спам пользователям, но я не видел такой возможности.

Facebook якобы отдает приоритет пользователям, а не разработчикам, и эти изменения были внесены потому что, если пользователю не нравится конфиденциальность (не спамьте моим друзьям), то он больше не будет пользователем, и это, очевидно, влияет на разработчиков и Facebook. Хорошо, но разве они не понимали, что, заблокировав его, эта крайность просто убила UX для пользователя в законных сценариях? И, по моему первоначальному мнению, не просто незначительное, а первостепенное: результатом буквально является то, что 30 апреля 2015 года Facebook стал антисоциальным. Конечно, это не соответствует их миссии. Наверняка есть лучший подход.


person dapug    schedule 10.09.2015    source источник
comment
Сначала пригласите пользователя. Когда пользователь присоединяется, уведомите пользователя, пригласившего его, чтобы он присоединился, и попросите его установить разрешения.   -  person WizKid    schedule 10.09.2015
comment
Как узнать, какого пользователя пригласить? Мое приложение и, следовательно, мой зарегистрированный пользователь не имеют доступа к пользователю/друзьям.   -  person dapug    schedule 10.09.2015
comment
Ответ на этот вопрос содержится в разделе часто задаваемых вопросов по адресу developers.facebook.com/docs/apps/faq#friend_invite.   -  person WizKid    schedule 10.09.2015
comment
Я тоже думал, что это правильный путь, но несколько дней назад, копаясь в документации, я нашел: developers.facebook.com/docs/games/invitable-friends/v2.4 (API invitable_friends доступен только для игр, в которых реализовано приложение Facebook Canvas). Это не мой случай (внешний сайт).   -  person dapug    schedule 10.09.2015
comment
Но ссылка, которую я вам дал, дает вам другие варианты, если вы не игра   -  person WizKid    schedule 10.09.2015
comment
Помимо Facebook, рассматривали ли вы возможность использования средств импорта контактов, таких как CloudSponge?   -  person Rael Gugelmin Cunha    schedule 14.09.2015
comment
Нет, но CloudSponge выглядит потрясающе, спасибо. Единственная проблема в том, что они не поддерживают Facebook, и я полагаю, что именно поэтому я и написал здесь. Вы не можете подключиться к собственным контактам пользователей Facebook. Это сводит с ума. Facebook является обязательным требованием для моего сценария.   -  person dapug    schedule 14.09.2015


Ответы (2)


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

Если ваше приложение не является игрой и представлено на мобильных устройствах или в Интернете:

Вы также можете использовать диалоговое окно сообщения на iOS и Android или диалоговое окно отправки в Интернете. Эти продукты позволяют человеку отправить сообщение напрямую своим друзьям, содержащее ссылку на ваше приложение. Этот тип сообщений является отличным каналом для прямого общения с небольшим количеством людей. Диалоговое окно сообщения и диалоговое окно отправки содержат ввод текста, который позволяет человеку легко выбрать количество друзей для получения приглашения.

person Tobi    schedule 10.09.2015
comment
Что ж, это довольно близко и могло бы работать, если бы Send можно было ограничить одним другом (не выглядит возможным). Причина в том, что для достижения UX, описанного выше, уникальный URL-адрес моего приложения может быть отправлен (я думаю), чтобы, когда они входят в систему, я мог сохранить связь с этим конкретным приглашением. Но это не сработает, если уникальная ссылка будет отправлена ​​нескольким людям. Я еще не пробовал код, но документ звучит так, как будто пользователь (а не разработчик) решает, сколько получателей. - person dapug; 10.09.2015
comment
Пользователь решает... Почему бы вам не закодировать идентификатор отправляющего пользователя в URL-адресе? Это должно работать - person Tobi; 10.09.2015
comment
Спасибо. Аналогично предложенному WizKid (выше). Я могу определить пользователя, который их пригласил, но не могу определить, кто они на самом деле, когда они приходят. Это другой поток и UX, чем мои требования. Поток должен быть таким: 1) пользователь находит и приглашает друзей через диалоговое окно «Отправить», 2) друг принимает и присоединяется как пользователь моего приложения, 3) пользователь получает уведомление о том, что его друг присоединился, 4) пользователь устанавливает разрешение для этого друга в своем группа. Не так изящно, но, по общему признанию, лучше, чем полностью заблокировано. Справедливости ради, Facebook не антисоциальный, а только сведенный к утомительно-социальному. :) - person dapug; 10.09.2015
comment
У меня была возможность создать POC, чтобы попробовать это в коде. К сожалению, это не решение, которое будет работать. В моем сценарии крайне важно, чтобы я знал, кто приглашенные получатели, чтобы я мог оптимизировать поток и UX, что невозможно. Если я отправляю специальную ссылку неизвестным получателям, по соображениям безопасности я должен обращаться с ними как с совершенно незнакомыми людьми (не связанными с приглашением), потому что я точно знаю, использовалась ли эта ссылка непредусмотренными людьми. Это означает, что это не что иное, как привет, проверьте этот тип приглашения в приложении - неприемлемо. - person dapug; 12.09.2015

Вы также можете найти приложение App Invites полезным, но я полагаю, что это только для приложений iOS и Android и может не совсем соответствовать вашему варианту использования:

Приглашения в приложениях — это персональный способ, позволяющий людям пригласить своих друзей из Facebook в мобильное приложение.

person Matt Harley    schedule 21.09.2015