如何使用swf支付
How to use swf vpaid?
VPAID可能是js或swf。
如果我有js,那么一切都很简单,我只要做:
var script = document.createElement('script');
script.onload = onLoad;
script.src = "https://somedomain.net/vpaid.js";
document.getElementsByTagName('head')[0].appendChild(script);
当JS文件被加载时onLoad被调用。
function onLoad() {
var adUnit = getVPAIDAd();
}
现在我有一个adUnit它有一些API:
adUnit.initAd
adUnit.handshakeVersion
...
和另一个方法来控制广告。
但是如果我有swf,那么我不知道该怎么做。
有URL:
https://somedomain.net/vpaid.swf
我可以使用swfobject创建对象:
swfobject.embedSWF(
"https://somedomain.net/vpaid.swf",
"myContent", "640", "480", "9.0.0"
);
但是我不知道怎样才能得到AdUnit。我想从这个swf中获取AdUnit我想让这个AdUnit具有相同的API:
adUnit.initAd
adUnit.handshakeVersion
...
但是我不知道怎么做
你需要实现你自己的AS3/Flash播放器。
播放器将通过flash.external.ExternalInterface
接收VPAID资源url,或者您将整个解析过的VAST交给flash播放器(我更喜欢)。
AS3示例:
/**
* Setup listeners
*/
private function setup():void {
ExternalInterface.addCallback("player_load", load);
ExternalInterface.addCallback("player_exec", execute);
}
/**
* Hand over VAST
*/
private function load(data:*):void {
try {
var result:* = _internalPlayer.load(new VAST(data.vast));
callExternal(data.callback, result);
} catch(e.*) {
callExternal(data.callback, e);
}
}
/**
* Implement something to control the player from JS via ExternalInterface
*/
private function execute(data:*):* {
try {
var result:* = new Command(data.command).execute();
callExternal(data.callback, result);
} catch(e.*) {
callExternal(data.callback, e);
}
}
private function callExternal(target:String, args:*):void {
if(ExternalInterface.available)
ExternalInterface.call(target, args);
else
trace('ExternalInterface unavailable');
}
JS示例:
embedded_swf['player_load']({
'vast': vast, // parsed VAST
'callback': 'window.player.events.backchannel' // some available method to send success/error messages to
});
[...]
embedded_swf['player_exec']({
'command': {
'command': 'play',
'target': 'ad.id.1' // some identifier flash-player can work with
},
'callback': 'window.player.events.backchannel'
});
当然,这只是一个例子,你可以怎么做,只是一小部分要做的事情。但我希望它能有所帮助。
祝你今天愉快。
相关文章:
- 在OneStepCheckout中为Magento调用重新加载支付方法
- Soundmanager 2,无论我尝试什么,我都无法设置SWF路径
- 如何从重定向的支付处理器网站提取交易详细信息并保存到我的rails 4数据库
- 播放/显示“;swf”;在“;rel=“"&”;
- 是否可以将外部javascript引用从SWF注入到主机页中
- 用于 Squareup.com 的自定义Woocommerce支付网关
- 如何防止 swf 重定向父 html
- Magento:支付门户转发 - 如何调试
- Facebook 支付 API - 没有代码的错误
- 模拟隐藏表单提交&使用JavaScript重定向以实现安全支付
- Firefox”;坏的NPObject”;仅当使用Function.apply()时,swf出现错误
- 移动设备中的条纹支付弹出窗口
- 条纹与轨道4:这个客户没有附加的支付来源
- 点击可选复选框时如何计算价格(使用贝宝支付表单)
- SWF通过VAST标签的广告没有在JW播放器中播放
- 如何连续播放多个swf文件
- 如何在jquery的SWF对象插件中使用元素类名
- 默认情况下,使用贝宝自适应支付显示支付详细信息
- 我的网站加载出现问题.这是一个嵌入到index.html中的.SWF文件
- 如何使用swf支付