настраиваемая кнопка в стиле «фейсбук» во Flash (actioncript) - PullRequest
0 голосов
/ 23 марта 2012

Я хочу интегрировать пользовательскую кнопку «Мне нравится в Facebook» через программирование ACTIONSCRIPT (Flash)?

Все, что я мог получить в Интернете, - это код для создания кнопки «Мне нравится» в Facebook с использованием JavaScript.Я хочу, чтобы такая же функциональность была предоставлена ​​моей пользовательской кнопке

. Я не хочу, чтобы пользователи перенаправляли промежуточную страницу, на которой есть кнопка «Мне нравится» в Facebook.Я пробовал с промежуточной страницей, но она слишком длинная для пользователей. Им нужно снова нажать на эту кнопку, чтобы поделиться.

Пожалуйста, помогите мне интегрировать эту функцию.любая помощь будет очень признателен.

Спасибо, Сандип

Ответы [ 3 ]

1 голос
/ 13 декабря 2012

Вот обходной путь: вы можете перейти к URL-адресу общего доступа из Flash, загрузить соответствующие параметры и открыть его в новом окне. Для этого должна работать следующая функция:

import flash.net.*;

/**
 * Function that allows sharing a page in Facebook
 * @param   sharedTitle String with the title of the page that you want to share in Facebook
 * @param   sharedURL String with the full URL that you want to share in Facebook
 * @param   sharedSummary (Optional) String with a description about your shared content
 * @param   sharedImageURL (Optional) String with the full URL where the image to display next to your shared post is located
 */
function shareInFacebook(sharedTitle : String, sharedURL : String, sharedSummary : String = null, sharedImageURL : String = null) : void {
    var fullURLString = "";
    fullURLString += "http://www.facebook.com/sharer.php?s=100";
    fullURLString += "&p[title]=" + encodeURIComponent(sharedTitle);
    fullURLString += "&p[url]=" + encodeURIComponent(sharedURL);
    if (sharedImageURL != null) {       
        fullURLString += "&p[images][0]=" + encodeURIComponent(sharedImageURL);
    }
    if (sharedSummary != null) {        
        fullURLString += "&p[summary]=" + encodeURIComponent(sharedSummary);
    }

    var theRequest : URLRequest = new URLRequest(fullURLString);
    navigateToURL(theRequest, "_blank");    
}

Вызывайте эту функцию при нажатии кнопки, и вы должны получить пользовательскую кнопку Facebook внутри Flash.

Дополнительная информация о том, как создать URL-адрес для отправки в Facebook со всеми параметрами (который можно вызвать с помощью Flash:)

Facebook Share не показывает мое описание или мой эскиз

И многое другое, включая метатеги, которые вы можете вставить в HTML-код:

Как настроить sharer.php в Facebook

1 голос
/ 10 августа 2015

Я не уверен, пытаетесь ли вы использовать Flash или AdobeAir, но если вы работаете на мобильном устройстве, вот решение: https://github.com/myflashlab/facebook-ANE

var like1:LikeBtn = FB.createLikeBtn("https://www.facebook.com/myflashlab", LikeBtn.STYLE_STANDARD, LikeBtn.LINK_TYPE_PAGE, stage);
like1.name = "like" + Math.random();
like1.addEventListener(FBEvent.LIKE_BTN_CREATED, onBtnCreated);
like1.addEventListener(FBEvent.LIKE_BTN_ERROR, onBtnError);
like1.addEventListener(FBEvent.LIKE_BTN_UPDATED, onBtnUpdated);

private function onBtnCreated(e:FBEvent):void
    {
        var btn:LikeBtn = e.target as LikeBtn;
        _btn = btn;

        btn.x = Math.random() * 600;
        btn.y = Math.random() * 600;

        C.log("onBtnCreated, btn.name = " + btn.name);
        C.log("width = " + btn.width);
        C.log("height = " + btn.height);

        btn.update("http://www.myappsnippet.com/", LikeBtn.STYLE_BOX_COUNT, LikeBtn.LINK_TYPE_OPEN_GRAPH);
    }

    private function onBtnError(e:FBEvent):void
    {
        var btn:LikeBtn = e.target as LikeBtn;
        C.log("e.param = " + e.param);
    }

    private function onBtnUpdated(e:FBEvent):void
    {
        var btn:LikeBtn = e.target as LikeBtn;
        C.log("onBtnUpdated");
        C.log("width = " + btn.width);
        C.log("height = " + btn.height);

        /*btn.removeEventListener(FBEvent.LIKE_BTN_CREATED, onBtnCreated);
        btn.removeEventListener(FBEvent.LIKE_BTN_ERROR, onBtnError);
        btn.removeEventListener(FBEvent.LIKE_BTN_UPDATED, onBtnUpdated);
        btn.dispose();
        btn = null;
        C.log("btn.dispose();");*/
    }
0 голосов
/ 29 марта 2012

Я никогда не делал этого, но, похоже, все согласны с тем, что это практически невозможно.

Если вы можете, я думаю, что вам лучше всего было бы создать кнопку в HTML, используя код, предоставленный Facebook, и попытаться интегрировать это как можно лучше с вашим Flash. В следующем примере кнопка находится в элементе div, расположенном над флэш-памятью, поэтому она выглядит как встроенная:

http://www.magichtml.com/tutorial_facebook.html

Возможно, стоит взглянуть на класс ActionScript ExternalInterface, который позволяет Flash выполнять вызовы JavaScript (и наоборот). Вы можете использовать это, чтобы контролировать, когда отображается кнопка «Мне нравится» (например, когда ваш ролик Flash загружен и визуализирован) для более плавной интеграции:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/external/ExternalInterface.html

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