Flash-JS-VK-Api-Bridge- Iframe에 내장 된 플래시 애플리케이션을위한 중개. 이 중개자를 사용하면 API 사회의 방법에 접촉 할 수 있습니다. AS3의 Vkontakte 네트워크.
이 중개자를 사용하는 응용 프로그램의 예 ==> https://vk.com/app6213458
이 중개자를 통한 작업의 장점 :
간단한 설명 : 중개의 원리는 JS 플래시의 호출에 따라 구축되며 그 반대의 기능도 마찬가지입니다. 이것은 외부 인터페이스 클래스의 방법으로 인해 달성됩니다. 결과적으로 JS는 소셜 네트워크에서 제공하는 JavaScript SDK 와 상호 작용합니다. HTML에서 객체-플래시 페이지는 SWFOBJECT에 의해 통합됩니다.
필요한 클래스를 프로젝트에 연결하십시오.
//as code
import ExternalFlash.APIConnection ;
import ExternalFlash.events.CustomEvent ;소셜 네트워크의 스타일로 버튼을 만들어야하는 경우이 클래스를 연결하는 것을 잊지 마십시오.
//as code
import ExternalFlash.ui.VKButton ApicOnction 클래스의 사본을 작성하고 중개자가 작동 할 준비가되었는지 확인하십시오. 중개자가 아직 준비되지 않은 경우 customevent.on_ei_init_end 이벤트를 구독하십시오. 그가 일할 준비가 된 후에 만 중개자와 함께 일을 시작하십시오. 그렇지 않으면 올바르게 작동하지 않을 수 있습니다.
초기화 확인을 통해 인스턴스 생성의 예 :
//as code
//Создаем экземпляр класса APIConnection
_VK = new APIConnection() ;
//Перед тем, как делать запросы, добавлять слушатели и т.д. Необходимо обязательно убедится, что посредник уже инициализировался.
//Иначе, посредник будет работать некорректно. Информация о инициализации может быть трех типов:
if ( _VK . eiConnectStatus == "WORKING" ){
//Посредник инциализировался, все работает. Только теперь можем работать с API
//Тут можно вызывать функцию, которая начнет работать с методами API
} else if ( _VK . eiConnectStatus == "NOT_WORK" ){
//Посредник не работает по какой либо причине.Это окончательный статус, он не изменится. Причина непоказывается, но если вы захотите сделать ее вывод, Вы можете посмотреть в классе ExtIntClass список причин, и выводить их оттуда
} else if ( _VK . eiConnectStatus == "CONNECTION" ){
//Посредник еще не загрузился. В этом случае надо поставить слушатель на экз. класса и слушать событие CustomEvent.ON_EI_INIT_END
//Событие приходит вместе с параметром connectState. Может быть WORKING - значить посредник инициализировался. NOT_WORK - посредник не будет работать.
_VK.addEventListener(CustomEvent.ON_EI_INIT_END, function (event:CustomEvent){
if (event . params . connectState == "WORKING" ){
//Посредник инциализировался, все работает. Только теперь можем работать с API
//Тут можно вызывать функцию, которая начнет работать с методами API
} else {
//Посредник не работает
}
_VK . removeEventListener (CustomEvent . ON_EI_INIT_END , arguments . callee ) ;
})
}연결 상태 _vk.eiconnecttatus는 세 가지 유형 일 수 있습니다.
이벤트의 매개 변수 customevent.on_ei_init_end :
이 이벤트는 초기화에서 한 번만 발생할 수 있습니다. 따라서이 경우를 제외하고는 말을들을 필요가 없습니다.
응용 프로그램이 시작될 때 얻은 데이터는 FlashVars를 통해 플래시로 전송됩니다. Flash SDK를 사용할 때와 같이 얻을 수도 있습니다.
//as code
var _flashVars : Object = stage . loaderInfo . parameters as Object ;이 매개 변수는 응용 프로그램을 시작한 직후에 사용할 수 있습니다. 그것들을 사용하려면, 중개의 초기를 기다릴 필요는 없습니다.
제공된 사회에 사용 된 방법의 모든 이름. Flash SDK 네트워크는이 중개자에 사용 된 것과 동일합니다. 따라서 Flash SDK로 이동할 때이 중개의 시편으로 작업하는 것은 동일하게 발생합니다.
전환시 고려해야 할 사항 :
//js code
} , '5.68' ) ; //string 9이것은 아마도 응용 프로그램의 올바른 작동이 아닌 문제를 해결할 것이며, API 메소드의 이름/인수를 변경할 필요가 없습니다.
코드에는 많은 의견이 있습니다. 이것은 누군가 가이 중재자가 어떻게 작동하는지, 초기화가 어떻게 발생하는지를 이해하고 싶어하는 경우입니다.
어쨌든 내부에서 어떻게 작동하는지 이해하려면 중개자의 장치를 연구하지 않고 소스를 다운로드하여 프로젝트에 사용할 수 없습니다.