首先 搭建环境的工作我不多说, 网上可以搜到一大堆;
然后 需要用到的请求还得读一读官方文档
这个是微信登录授权后拉取到的用户信息
unity代码部分经过简单的封装
unity 调androidSDK 首先需要 _GetCurrentAndroidJavaObject() 得到AndroidJavaObj jo;
jo.Call<T>(apiName, args) 中 T代表返回类型, apiName 是SDK中的函数名, args则是对应函数的
unity c#部分代码:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using System.Collections.Generic;
using System;
public class test : MonoBehaviour {
private Text txt;
string headimgurl;
// Use this for initialization
void Start () {
GameObject btnObj = GameObject.Find("Canvas/Button"); //获取按钮脚本组件
Button btn = (Button)btnObj.GetComponent<Button>();
GameObject btnObj1 = GameObject.Find("Canvas/Button1"); //获取按钮脚本组件
Button btn1 = (Button)btnObj1.GetComponent<Button>();
GameObject btnObj2 = GameObject.Find("Canvas/Button2"); //获取按钮脚本组件
Button btn2 = (Button)btnObj2.GetComponent<Button>();
GameObject btnObj3 = GameObject.Find("Canvas/Button3"); //获取按钮脚本组件
Button btn3 = (Button)btnObj3.GetComponent<Button>();
GameObject btnObj4 = GameObject.Find("Canvas/Button4"); //获取按钮脚本组件
Button btn4 = (Button)btnObj4.GetComponent<Button>();
GameObject btnObj5 = GameObject.Find("Canvas/Button5"); //获取按钮脚本组件
Button btn5 = (Button)btnObj5.GetComponent<Button>();
GameObject btnObj6 = GameObject.Find("Canvas/Button6"); //获取按钮脚本组件
Button btn6 = (Button)btnObj6.GetComponent<Button>();
GameObject textObj = GameObject.Find("Canvas/Text"); //获取按钮脚本组件
txt = (Text)textObj.GetComponent<Text>();
//添加点击侦听
btn.onClick.AddListener(onClick);
btn1.onClick.AddListener(onClick1);
btn2.onClick.AddListener(onClick2);
btn3.onClick.AddListener(onClick3);
btn4.onClick.AddListener(onClick4);
btn5.onClick.AddListener(onClick5);
btn6.onClick.AddListener(onClick6);
}
// Update is called once per frame
void Update () {
}
AndroidJavaObject _GetCurrentAndroidJavaObject() //要有这个AndroidJavaObject才能Call
{
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
return jc.GetStatic<AndroidJavaObject>("currentActivity");
}
protected void _CallSdkApi(string apiName, params object[] args) //没有返回值的Call
{
AndroidJavaObject jo = _GetCurrentAndroidJavaObject();
jo.Call(apiName, args);
}
protected T _C