Что может приложение Canvas, чего не может внешний сайт, использующий SDK Facebook?

Я несколько раз читал документацию Facebook по приложениям Canvas, но затрудняюсь сказать, какие функции доступны только для приложений Canvas, а какие функции также доступны для веб-сайтов, отличных от Facebook, которые используют JavaScript SDK.

Например, в документации Canvas упоминаются закладки, поиск и публикация в новостной ленте через диалоговое окно ленты и Graph API. Но вы можете получить все это на веб-сайте, отличном от Facebook, не являясь приложением Canvas, используя API входа в Facebook и API диалогового канала.

Итак, какие именно являются особенности Canvas? Что может приложение Canvas, чего не может обычный веб-сайт?


person Dan Fabulich    schedule 06.06.2013    source источник
comment
Минусы без комментариев?   -  person Dan Fabulich    schedule 06.06.2013
comment
спрашивайте совета в чатах, посты предназначены исключительно для конструктивных вопросов и ответов.   -  person Xarcell    schedule 06.06.2013
comment
Спасибо за разъяснения. Я перефразировал свой вопрос, чтобы быть более конструктивным.   -  person Dan Fabulich    schedule 06.06.2013
comment
Я действительно нашел этот пост действительно полезным. Некоторые люди просто голосуют против, чтобы чувствовать себя важными или что-то в этом роде. Спасибо за публикацию.   -  person w3bMak3r    schedule 15.02.2014


Ответы (2)


Очевидная разница в том, что приложение Canvas находится на странице Facebook, а внешнее приложение — на вашем собственном сайте.

Более удивительная разница связана с политикой платформы Facebook, поскольку они применяются к приложениям, которые определены как "игры".

В частности, есть правило, которое применяется только к играм на внешних веб-сайтах Facebook согласно пункту 9.2.a:

В настольных веб-играх за пределами Facebook.com можно использовать только вход через Facebook (Аутентификация, за исключением подключений пользователей, таких как список друзей), социальные плагины и публикацию (например, диалоговое окно ленты новостей, потоковую публикацию или Open Graph). При аутентификации эти игры не могут запрашивать дополнительные разрешения, кроме возраста, адреса электронной почты и наших разрешений на публикацию.

Если вы являетесь внешним сайтом, использующим SDK Facebook, вы можете делать все вышеперечисленное и многое другое, но если ваш внешний сайт является игрой, вы будете нарушать условия Facebook, если попытаетесь запросить дополнительные разрешения, прочтите сообщения игроков. списки друзей или используйте дополнительные API Facebook.

Если ваше приложение является игрой, и вам нужен полный доступ к API Facebook, вы должны преобразовать свой внешний сайт в приложение Canvas, а затем вы должны следовать другим правилам Facebook (особенно примечательно: вы должны принимать исключительно кредиты Facebook, что дает Facebook 30% от вашего дохода в приложении).

Если вы являетесь неигровым приложением, единственным преимуществом приложения Canvas является URL-адрес facebook.com.

(Вы сами несете ответственность за сообщение Facebook о том, являетесь ли вы игрой или нет; Facebook можно солгать, настроив свою игру на использование категории неигровых приложений. Но если ваша игра станет достаточно популярной, Facebook заметит это и накажет. вас за нарушение их условий, так что не делайте этого.)

person Dan Fabulich    schedule 11.06.2013

Это не единственное преимущество. Вот сообщение прямо из FB Graph API (v2.10)

    {
      "error": {
        "message": "(#200) Only web canvas apps can send app notifications",
        "type": "OAuthException",
        "code": 200,
        "fbtrace_id": "EkUFajtj0Iq"
      }
    }
person Dov Jacobson    schedule 16.09.2017