페이스 북을 사용하여 로그인하는 크로스 플랫폼 (Android 및 I.O.S) 모바일 앱이 포함 된 프로젝트를 계획 중입니다. 나는 facebook API에 대한 경험이 없으며 초보자를위한 모든 자료를 찾을 수 없다. 크로스 플랫폼 기능을 위해 공기를 사용하여 각 플랫폼에 대해 여러 가지 솔루션을 사용하지 않으려합니다. 나는 많은 도움을 찾았지만 많이 찾지 못했습니다. 여러분 중 누구라도 이런 종류의 일로 시작해서 완전히 사용 된 자원으로 안내 할 수 있습니까?모바일 용 air abobe as3 api
1
A
답변
4
AS3 Facebook API 만 있으면됩니다. (http://code.google.com/p/facebook-actionscript-api/) 아마도 JSON 메서드와 같은 몇 가지 사항을 변경해야하지만 그렇지 않으면 문제가없는 것 같습니다. 거기에서 몇 가지 예제를 다운로드 할 수 있으며, 다양한 유형의 환경에 대한 사용법을 볼 수 있습니다.
또한, 좀 더 구체적인 질문이 있으면 물어 톰 Krcha http://www.adobe.com/devnet/games/articles/getting-started-with-facebooksdk-actionscript3.html에서이 문서를 참조하십시오. 이것은 너무 일반적입니다.
편집
: 여기 내가 작은 프로젝트를 위해 몇 시간 전에 쓴 클래스입니다package com.company.social {
import com.facebook.graph.FacebookMobile;
import com.company.AppConst;
import com.company.IDestroyable;
import com.company.Main;
import com.company.displayassets.WebViewCloseStripe;
import com.company.events.FacebookControllerEvent;
import com.company.events.TwitterControllerEvent;
import flash.display.BitmapData;
import flash.display.PNGEncoderOptions;
import flash.display.Sprite;
import flash.display.Stage;
import flash.events.EventDispatcher;
import flash.events.MouseEvent;
import flash.geom.Rectangle;
import flash.media.StageWebView;
import flash.utils.ByteArray;
import flash.utils.clearTimeout;
import flash.utils.setTimeout;
public class FacebookController extends EventDispatcher implements IDestroyable {
private static const APP_ID:String = "1234512345"; // Your App ID.
private static const SITE_URL:String = "some_url";
//Extended permission to access other parts of the user's profile that may be private, or if your application needs to publish content to Facebook on a user's behalf.
private var _extendedPermissions:Array = ["publish_stream","user_website","user_status","user_about_me"];
private var _stage:Stage;
private var _webView:StageWebView;
private var _topStripe:WebViewCloseStripe;
private var _activity:String;
private var _timeoutID:uint;
public static const ACTIVITY_LOGIN:String = "login";
public static const ACTIVITY_POST:String = "post";
public function FacebookController(stage:Stage) {
_stage = stage;
init();
}
private function init():void {
_activity = ACTIVITY_LOGIN;
startTimeout();
FacebookMobile.init(APP_ID, onHandleInit, null);
}
private function onHandleInit(response:Object, fail:Object):void {
if (response) {
stopTimeout();
dispatchEvent(new FacebookControllerEvent(FacebookControllerEvent.LOGIN_COMPLETE));
//FacebookMobile.api("/me", handleUserInfo);
}
else {
/*trace("no response, login -->");
for(var prop in fail["error"]) {
trace(prop+": "+fail["error"][prop]);
}*/
loginUser();
}
}
private function startTimeout():void {
trace("timeout start");
clearTimeout(_timeoutID);
_timeoutID = setTimeout(timeout, AppConst.TIMEOUT_TIME);
}
private function timeout():void {
trace("timed out");
clearTimeout(_timeoutID);
dispatchEvent(new FacebookControllerEvent(FacebookControllerEvent.TIMEOUT));
}
private function stopTimeout():void {
trace("timeout stop");
clearTimeout(_timeoutID);
}
private function loginUser():void {
stopTimeout();
_topStripe = new WebViewCloseStripe();
_topStripe.getCloseButton().addEventListener(MouseEvent.CLICK, closeClickHandler);
_stage.addChild(_topStripe);
_webView = new StageWebView();
_webView.viewPort = new Rectangle(0, _topStripe.height, _stage.fullScreenWidth, _stage.fullScreenHeight - _topStripe.height);
FacebookMobile.login(handleLogin, _stage, _extendedPermissions, _webView);
}
private function handleLogin(response:Object, fail:Object):void {
if(_topStripe) {
_topStripe.getCloseButton().removeEventListener(MouseEvent.CLICK, closeClickHandler);
_topStripe.destroy();
_stage.removeChild(_topStripe);
_topStripe = null;
}
if(_webView) {
_webView = null;
}
if(response) {
dispatchEvent(new FacebookControllerEvent(FacebookControllerEvent.LOGIN_COMPLETE));
//FacebookMobile.api('/me', handleUserInfo);
}
else {
dispatchEvent(new FacebookControllerEvent(FacebookControllerEvent.LOGIN_ERROR));
}
}
private function closeClickHandler(e:MouseEvent):void {
dispatchEvent(new FacebookControllerEvent(FacebookControllerEvent.CLOSE));
}
private function handleUserInfo(response:Object, fail:Object):void {
if (response) {
for(var prop in response) {
trace(prop+": "+response[prop]);
}
}
}
private function handleUploadImage(result:Object, fail:Object):void {
stopTimeout();
if(result) {
dispatchEvent(new FacebookControllerEvent(FacebookControllerEvent.POST_COMPLETE));
}
else {
dispatchEvent(new FacebookControllerEvent(FacebookControllerEvent.POST_ERROR));
}
}
public function postWithImage(message:String, imageData:BitmapData):void {
_activity = ACTIVITY_POST;
var byteArray:ByteArray = imageData.encode(new Rectangle(0, 0, imageData.width, imageData.height), new PNGEncoderOptions());
var params: Object = new Object;
params.image = byteArray;
params.fileName = "image.png";
params.message = message;
startTimeout();
FacebookMobile.api("/me/photos", handleUploadImage, params, "POST");
}
public function reset():void {
FacebookMobile.logout(handleReset, SITE_URL);
}
public function handleReset(response:Object):void {
dispatchEvent(new FacebookControllerEvent(FacebookControllerEvent.RESET));
}
public function destroy():void {
if(_webView) {
_webView.dispose();
_webView = null;
}
if(_topStripe) {
_topStripe.getCloseButton().removeEventListener(MouseEvent.CLICK, closeClickHandler);
_topStripe.destroy();
_stage.removeChild(_topStripe);
_topStripe = null;
}
_stage = null;
}
}
}
0
또한이 같은 네이티브 확장 사용할 수 있습니다
이http://www.milkmangames.com/blog/tools/#iosgv
무료 버전이 있습니다를 다른 게시자도 사용할 수 있습니다.
관련 문제
- 1. 모바일 용 AIR (AS3)
- 2. AS3/AIR 용 MediaScannerConnection?
- 3. Android 용 AIR 3.2 AS3
- 4. Abobe Air/Flex 4.6 원격 파일 뷰어
- 5. AIR 용 데이터베이스 추상화 계층? (AS3)
- 6. Android 앱 (AS3) 용 Chromecast & Air
- 7. AIR 모바일 (IPA)
- 8. 플래시 용 Google지도 API AS3
- 9. 모바일 용 Air 3 - StageText 예?
- 10. 모바일 플랫폼의 Adobe AIR
- 11. 플렉스 에어 모바일 용 Google+ API
- 12. Android 용 AS3 Air - SWF를 자체 Main()으로로드하십시오.
- 13. AS3 AIR URLLoader POST
- 14. AS3 AIR 응용 프로그램
- 15. isFirstRun AS3 Air applicationUpdaterUI
- 16. as3과 같은 flex air 모바일 프로젝트 용 jpg 파일을로드해야합니까?
- 17. AS3 (AIR) 모바일 앱 : 사용자를 다시 브라우저 탭으로 이동
- 18. AS3 용 확장 파일 만들기 android Air App Flash CS6
- 19. as3 아랍어 콘텐츠 용 항공 모바일 입력 텍스트
- 20. AIR 모바일 : 외부 클래스가로드되지 않습니다.
- 21. AIR 용 AIR on iphone
- 22. AS3 Shoutcast 스트리밍이 AIR 3.2에서 작동하지 않습니다.
- 23. AS3 AIR - "목록/카운트"딕셔너리 내용
- 24. ios 용 AIR AIR 모바일 앱에서 페이스 북 프로필 사진을 표시하는 방법
- 25. 암호 보호를 지원하는 Zip 파일 용 AS3/Air 라이브러리
- 26. [AS3] [Android 용 Air] 스트리밍 마이크 입력을 받으시겠습니까?
- 27. AS3 AIR iOS 용 - StageVideo가 올바르게 작동하지 않습니다.
- 28. URLRequest에서 POST 데이터를 보내는 Android 용 AS3 AIR 3.5
- 29. iOS 용 AS3 Air 더블 클릭 프로그램을 작성하는 방법
- 30. 깃털 Starling AS3 AIR 테마
고마워, 내가 위에서 언급해야하지만 주위에 장난 꾸러기지만, 페이스 북 - actionscript - API지만 어디서부터 시작 해야할지 모르겠다. 그 몇 가지 예를 들여다 보아라. – Lonergan6275