格式
typescript
SDKs.Invoke(name, args)所属类: SDKs
描述
调用第三方sdk。
参数
| 参数名 | 类型 | 描述 |
|---|---|---|
| name | String | 第三方sdk名称 |
| args | ...String[] | 参数 |
返回值
| 类型 | 描述 |
|---|---|
Promise<SDKResult> | 所调sdk的返回值信息 |
代码示例
接入广告示例:
添加一个文本控件text,文本内容填写为“观看次数:”,在为其添加一个text类型的子控件,命名为num,初始值设置为0。 添加一个文本控件error,文本初始内容设为“播放失败或者没看完广告”。 添加一个按钮button,文本内容设为“播放广告”。 如下图: 
typescript
class ADTest
extends Component {
static times = 0;
OnStart(): void {
let gui_com = this.gameObject.GetComponent<UIComponent>(UIComponent);
let canves = gui_com.canvas;
let num = gui_com.canvas.FindChild<Text>(Text, "text/num");
let error = gui_com.canvas.FindChild<Text>(Text, "error");
error.Hide();
let button = gui_com.canvas.FindChild<Button>(Button, "button")
//按钮点击事件
button.AddEvent(ControlEvent.EventClick, ()=>{
let ad_ready = false;
//调用第三方sdk,查询广告流是否准备完毕
SDKs.Invoke("BLOCKMAN::AD::ISREADY").then((val)=>{
ad_ready = val.success;
});
if(!ad_ready)
{
error.text = "广告没准备好";
error.Show();
return;
}
error.text = "播放失败或没看完广告";
//调用第三方sdk,呼出广告页
SDKs.Invoke("BLOCKMAN::AD::RAISE").then((val)=>{
if(val.success)
{
Debug.Error("val.success == true");
error.Hide();
ADTest.times = ADTest.times+1;
num.text = ADTest.times.toString();
}
else
{
Debug.Error("val.success == false");
error.Show();
}
});
})
}
OnUpdate(): void {
}
}获取用户信息示例:
typescript
let result1 = SDKs.Invoke("BLOCKMAN::PLATFORM::USERDETAIL","2842740846");
result1.then((result)=>{
Debug.Log("result ", result.message);
let test = JSON.parse(result.message);
Debug.Log("code ", test.data.userId);
let a = 1;
})获取用户头像示例:
typescript
let result = SDKs.Invoke("BLOCKMAN::PLATFORM::GETHEADPIC", "http://static.sandboxol.com/sandbox/icon/props/VIP/huizhang_V1.png");
result.then((result)=>{
Debug.Log("result ", result.message);
let pre = Resources.Load(Prefab,"42CA648F1F9D42FE5585CD07E21C6DD6") as Prefab;
let go = pre.Instance();
let render = go.GetComponent<MeshRenderer>(MeshRenderer);
let shader = Shader.Find("engine/default");//加载shader
let material = render.material;
let testTexture = Resources.Load(Texture2D,"848BF893954E41EAE2B04AC8B04FDD60") as Texture2D;
material.SetTexture("_MainTex",result.message);
})
Test.init = true;获取当前用户的金魔方数量示例:
typescript
SDKs.Invoke("BLOCKMAN::PLATFORM::VALUEOFGCUBE",
conversation.clientID.toString()).then((v) => {
let success = v.success;
if(success){//结果
let gcubeCnt = Convert.ToNumber(v.message);//金魔方数量
}else{
Debug.Log(v.message);//失败原因
}
});