Skip to content

格式

typescript
SDKs.Invoke(name, args)

所属类: SDKs

描述

调用第三方sdk。

参数

参数名类型描述
nameString第三方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);//失败原因
    }
});