Android 与 unity3d 基于微信授权、支付、分享,QQ分享,支付宝支付的交互

244 阅读2分钟

前文:

  1. unity3d项目需要调用到android原生的方法,而unity3d不提供这些类型的api,所以就需要android原生代码的支持了,类似,手机震动之类的动效,或者类似第三方sdk的支付等。

  2. 推荐android开发人员使用eclipse而不是使用androidStudio来进行jar的打包开发,因为eclipse打包jar更加方便,而相对AndroidStudio稍加繁琐一点,当然,命令行打包jar的大牛请忽略这点。

思路:

unity3d需要android的支持,所以我们android需要封装好方法,处理好一些sdk的调用罗辑(初始化,注册清单文件,权限配给等等),然后用类似写接口的形式,暴露出一些接口供unity3d调用。而android需要打包成jar,提供给unity3d 以下资源文件:libsresAndroidManifest.xml 。这些东西会在unity3d的android目录下被开发者手动创建一个类似android项目结构的文件夹:该目录下有:libsres ,AndroidManifest.xml 值得注意的是,这三份是从android的项目拷贝过去的。此外还有一个bin目录,该目录下存放着android原生代码打包的jar包(如何打包,该打包什么?我们下面会讲到,这个绝对是一个坑)

项目环境搭建:

新建eclipse的android项目工程: 注意点

  • 包名请与unity3d项目包名保持一致
  • 如无特殊要求,项目要求minSdkVersion 为4.0.3或以上,避免导入V7包
  • 让unity3d开发人员提供classes.jar
  • 项目主页面,也就是写方法供unity3D调用的类,必须继承UnityPlayerActivity类,生命周期oncreate()只实现 super.onCreate(savedInstanceState);,请注意不要实现setcontentView()
  • 清单文件需要做如下配置:
   <supports-screens
        android:anyDensity="true"
        android:largeScreens="true"
        android:normalScreens="true"
        android:smallScreens="true"
        android:xlargeScreens="true" />
   <uses-feature android:glEsVersion="0x00020000" />
    <uses-feature
        android:name="android.hardware.touchscreen"
        android:required="false" />
    <uses-feature
        android:name="android.hardware.touchscreen.multitouch"
        android:required="false" />
    <uses-feature
        android:name="android.hardware.touchscreen.multitouch.distinct"
        android:required="false" />

该方法类需要加入节点

   <activity
            android:name="com.xxxxx.xxx.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
                、			
            </intent-filter>

            <meta-data
                android:name="unityplayer.UnityActivity"
                android:value="true" />
        </activity>

具体实现

因为还在开发阶段,这个代码不贴,以后更新。

初始化sdk

吊起微信授权

吊起微信支付

吊起微信分享

吊起qq授权

吊起qq分享

如何打包

  1. 确保项目代码无误后,右键项目,选择export
  2. 出现如图,点击“JAR file”
    项目打包
  3. 不要选择任何文件!不要选择任何文件!不要选择任何文件!单独选中src目录!是的,我们只需要src目录,其他东西完全不要!
    打包注意事项
  4. 右键finish打包,然后找到eclipse项目工程目录,选中以下三个文件打包并发送给unity3D开发人员
    需要提供给unity3D的资源