Решение channelUrl отлично работает, за исключением одного конкретного случая. Если на вашей странице есть скрипт, который укорачивает document.domain, то файл, который вы создаете для channelUrl, должен также укорачивать document.domain, чтобы соответствовать.
Например, если моей хост-страницей является «foo.bar.com», и у меня JavaScript, укоротить document.domain до «bar.com» (что допустимо, не рекомендуется, но разрешено), тогда указанный файл в channelUrl должен сделать то же самое.
Я знаю, что Facebook заявляет, что файл для channelUrl должен содержать только одну строку, и это должен быть тег сценария, который они указывают, но на самом деле это не так. Пока тег скрипта находится в начале страницы вашего создания, все хорошо. Кроме того, сокращение document.domain должно произойти до вызова кода Facebook на странице host и channelUrl.
Я надеюсь, что это поможет другим, это было болезненно для понимания на нашем сайте. О, и мы должны сократить наш document.domain из-за нашего рекламного сервера, так что это то, что мы не можем контролировать.