0
回答
【转】用Bmob实现Unity与Android通信达到游戏支付功能
科大讯飞通用文字识别100000次/天免费使用。立即申请   

转自:Android Studio调用Bmob SDK实现支付

作者:即步

原链接:http://blog.csdn.net/qq_33747722/article/details/53408000

---------------------------------------------------------------------------------------

在这里介绍使用Android Studio调用Bmob SDK,接而实现Unity与Android通信达到游戏支付功能

 

下载Bmob 支付SDK,在这里我使用的是BmobPay_v3.0.3版本,可以到点击打开链接下载最新版本

 

一.将下载好的Bmob解压,找到BmobPay_v3.0.3_160621.jar文件,将其拖动到libs文件目录下,点击右键选择add in library

二.选择如下图的.xml文件添加一行:

 

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

 

 

三.在如下图文件下写入代码

代码如下:

using UnityEngine;  
using System.Collections;  
using UnityEngine.UI;  
  
public class UnityCallAndroid : MonoBehaviour   
{  
     
    public Text show;  
  
    // Use this for initialization  
    void Start ()   
    {  
  
    }  
  
    // Update is called once per frame  
    void Update ()  
    {  
          
    }  
 
    #region 支付宝支付  
    public void OnClickedZhiFuBao()  
    {  
  
        AndroidJavaClass AJC = new AndroidJavaClass ("com.unity3d.player.UnityPlayer");  
          
        AndroidJavaObject AJO = AJC.GetStatic<AndroidJavaObject> ("currentActivity");  
          
        AJO.Call ("payByZhiFuBao");  
    }  
    #endregion  
 
    #region Android工程调用unity方法  
    public void BmobPayByZhiFuBao(string resultStr)  
    {  
        show.text = resultStr;  
    }  
    #endregion  
 
 
 
    #region 微信支付  
    public void OnClickedWeiXin()  
    {  
          
        AndroidJavaClass AJC = new AndroidJavaClass ("com.unity3d.player.UnityPlayer");  
          
        AndroidJavaObject AJO = AJC.GetStatic<AndroidJavaObject> ("currentActivity");  
          
        AJO.Call ("payByWeiXin");  
    }  
    #endregion  
     
    #region Android工程调用unity方法  
    public void BmobPayByWeiXin(string resultStr)  
    {  
        show.text = resultStr;  
    }  
    #endregion  
}  

 

四.android调用bmob sdk已经简单完成,接下来开启unity工程,按上一篇文章运行、classed.jar文件替换、如下图三个文件拷贝到unity中Android目录下点击打开链接

 

 

五.创建C#脚本组件调用Android工程

代码如下:

 

using UnityEngine;  
using System.Collections;  
using UnityEngine.UI;  
  
public class UnityCallAndroid : MonoBehaviour   
{  
     
    public Text show;  
  
    // Use this for initialization  
    void Start ()   
    {  
  
    }  
  
    // Update is called once per frame  
    void Update ()  
    {  
          
    }  
 
    #region 支付宝支付  
    public void OnClickedZhiFuBao()  
    {  
  
        AndroidJavaClass AJC = new AndroidJavaClass ("com.unity3d.player.UnityPlayer");  
          
        AndroidJavaObject AJO = AJC.GetStatic<AndroidJavaObject> ("currentActivity");  
          
        AJO.Call ("payByZhiFuBao");  
    }  
    #endregion  
 
    #region Android工程调用unity方法  
    public void BmobPayByZhiFuBao(string resultStr)  
    {  
        show.text = resultStr;  
    }  
    #endregion  
 
 
 
    #region 微信支付  
    public void OnClickedWeiXin()  
    {  
          
        AndroidJavaClass AJC = new AndroidJavaClass ("com.unity3d.player.UnityPlayer");  
          
        AndroidJavaObject AJO = AJC.GetStatic<AndroidJavaObject> ("currentActivity");  
          
        AJO.Call ("payByWeiXin");  
    }  
    #endregion  
     
    #region Android工程调用unity方法  
    public void BmobPayByWeiXin(string resultStr)  
    {  
        show.text = resultStr;  
    }  
    #endregion  
}  

 

<无标签>
举报
2013020735
发帖于1年前 0回/410阅
顶部