Actionscript 3 我如何放置一个";“分享到Facebook”;我的原生安卓应用程序中的按钮在Flash CS5.5中使用Air为安卓系统构建?
我是新手,但我们已经在Flash CS 5.5中使用Air for Android创建了一个新的Android原生应用程序。我们有一个可用的应用程序,希望在最后一个屏幕上添加一个“分享到Facebook”按钮,将用户的结果分享到他们的Facebook墙/时间线上。我搜索了又搜索,但我能找到的要么是用Java编写的,而不是ActionScript3,要么是直接从应用程序更新状态。我们只想从我们的应用程序发送预定义的代码片段(用户结果)。有人能给我指出正确的方向吗?这有一个API,其中包括AIR desktop、AIR mobile和web应用程序的变体。Facebook和Adobe都正式支持它,尽管我不确定它是否仍然是: 有很多关于如何使用它的文档。你需要在facebook上创建一个应用程序,这样你才能正确识别自己。将facebook开发者应用程序添加到您的FB帐户,然后查看此处: “共享到墙”通话的基本内容如下所示:Actionscript 3 我如何放置一个";“分享到Facebook”;我的原生安卓应用程序中的按钮在Flash CS5.5中使用Air为安卓系统构建?,actionscript-3,android-intent,air,flash-cs5,facebook-sharer,Actionscript 3,Android Intent,Air,Flash Cs5,Facebook Sharer,我是新手,但我们已经在Flash CS 5.5中使用Air for Android创建了一个新的Android原生应用程序。我们有一个可用的应用程序,希望在最后一个屏幕上添加一个“分享到Facebook”按钮,将用户的结果分享到他们的Facebook墙/时间线上。我搜索了又搜索,但我能找到的要么是用Java编写的,而不是ActionScript3,要么是直接从应用程序更新状态。我们只想从我们的应用程序发送预定义的代码片段(用户结果)。有人能给我指出正确的方向吗?这有一个API,其中包括AIR d
import com.facebook.graph.data.FacebookAuthResponse;
import com.facebook.graph.Facebook;
function initializeFacebook()
{
Facebook.init("YOUR APP ID", onFacebookInit);
}
var interval:int = -1;
function onFacebookInit(success:Object, fail:Object):void
{
if (success)
{
post();
}
else
{
var opts:Object = { scope:"publish_stream" };
Facebook.login(null, opts);
// In theory you should get a post back when logged in.
// In practice this often fails, and it's better to poll for an access token.
interval = setInterval(pollForLoggedIn, 500);
}
}
function pollForLoggedIn():void
{
if (Facebook.getAuthResponse().accessToken)
{
clearInterval(interval);
post();
}
}
function post():void
{
var auth:FacebookAuthResponse = Facebook.getAuthResponse();
var token:String = auth.accessToken;
var user:String = auth.uid;
var values:Object =
{
access_token: token,
name: "TITLE OF YOUR POST",
picture: "OPTIONAL THUMBNAIL PATH",
link:"OPTIONAL LINK",
description: "OPTIONAL APP DESCRIPTION",
message: "BODY OF POST"
};
Facebook.api("/" + user + "/feed", handleSubmitFeed, values, URLRequestMethod.POST);
}
function handleSubmitFeed(success:Object, fail:Object):void
{
// Done.
}
有一个API可以实现这一点,其中包括AIR desktop、AIR mobile和web应用程序的变体。Facebook和Adobe都正式支持它,尽管我不确定它是否仍然是: 有很多关于如何使用它的文档。你需要在facebook上创建一个应用程序,这样你才能正确识别自己。将facebook开发者应用程序添加到您的FB帐户,然后查看此处: “共享到墙”通话的基本内容如下所示:
import com.facebook.graph.data.FacebookAuthResponse;
import com.facebook.graph.Facebook;
function initializeFacebook()
{
Facebook.init("YOUR APP ID", onFacebookInit);
}
var interval:int = -1;
function onFacebookInit(success:Object, fail:Object):void
{
if (success)
{
post();
}
else
{
var opts:Object = { scope:"publish_stream" };
Facebook.login(null, opts);
// In theory you should get a post back when logged in.
// In practice this often fails, and it's better to poll for an access token.
interval = setInterval(pollForLoggedIn, 500);
}
}
function pollForLoggedIn():void
{
if (Facebook.getAuthResponse().accessToken)
{
clearInterval(interval);
post();
}
}
function post():void
{
var auth:FacebookAuthResponse = Facebook.getAuthResponse();
var token:String = auth.accessToken;
var user:String = auth.uid;
var values:Object =
{
access_token: token,
name: "TITLE OF YOUR POST",
picture: "OPTIONAL THUMBNAIL PATH",
link:"OPTIONAL LINK",
description: "OPTIONAL APP DESCRIPTION",
message: "BODY OF POST"
};
Facebook.api("/" + user + "/feed", handleSubmitFeed, values, URLRequestMethod.POST);
}
function handleSubmitFeed(success:Object, fail:Object):void
{
// Done.
}
对我下面的答案有一个警告。我最近使用API的经验是在基于web的场景中。SDK在网络和移动设备上应该是相同的,并且应该消除任何差异,但是你可能会发现你需要对AIR mobile应用程序的示例代码进行一些调整。我最近使用API的经验是在基于web的场景中。SDK在web和移动应用程序中应该是相同的,并且应该抽象出任何差异,但是您可能会发现需要对AIR mobile应用程序的示例代码进行一些调整。