华为渠道的Unity接入demo

本文详细介绍如何将华为渠道的SDK接入Unity项目中,包括创建Android应用、配置Gradle、导入SDK、修改Java代码以及在Unity中调用Java实现等功能。通过本教程,开发者能够快速掌握华为SDK的接入流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一步Java代码实现

  1.  总体上来说,华为渠道的接入是相对容易的,原理是他们的sdk封装比较完整,不像一些小的渠道商,连支持的jar包可能都要自己去找去下载.华为sdk的下载链接:https://developer.huawei.com/consumer/cn/doc/development/HMS-2-Library/hmssdk_huaweiid_sdkdownload.我们的目标是Unity开发的项目接入,选择下载:HMS Agent套件HMSAgent_2.6.3.306.zip 和hmssdk-gradle-2.6.3.306.zip
  2. 用eclipse创建一个空的Android Application Project工程(hwsdkAgent),包名跟Unity项目的一样,右键工程->Build Path->Add External Archives添加第1步中gradle解压出的文件夹中的hmssdk-2.6.3.306.jar和Unity的classes.jar包这个Jar包一般在:Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes\中
  3. 解压第1步中的HMSAgent,在eclipse中选中工程右键->Import->File System->Browse->选中解压出的HMSAgent文件夹

    确定.

    点击finish导入Agent的实现到工程中

  4. 添加MyApplication.java文件
  5. package 包名与Unity工程的一致;
    
    import android.app.Application;
    import android.util.Log;
    import com.huawei.android.hms.agent.HMSAgent;
    
    public class MyApplication extends Application {
    	@Override
    	public void onCreate()
    	{
    		super.onCreate();
    		Log.d("huasdk", "huaweisdk AppApplication.onCreate called");
    		
    		HMSAgent.init(this);
    	}
    }
    

     

  6. 修改MainActivity.java
    public class MainActivity extends UnityPlayerActivity

    只保留onCreate函数,其它的删除,然后实现login和pay注意定义为static的

  7. 选中工程右键Export->Jar File->导出src的jar包

    第二步是把Java实现引入Unity工程

  • 新建一个huaweiSdkUnityDemo工程,在Assets里创建Plugins/Android文件夹,把hmssdk-gradle-2.6.3.306中的assets libs res拷贝到Android里,把上面第7步导出的Jar包放入libs里,

  • AndroidManifest.xml的配置,下载华为官网示例代码,并解压,把app\src\main中的AndroidManifest.xml拷贝到Android里,修改包名,以及些文件中'${}'的字段,设为自己项目的内容,要注意主Activity以及application的修改.

  • 在Unity工程里定义按钮等

 

  • 创建运行代码Main
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class Main : MonoBehaviour {

    public Button loginBtn;
    public Button payBtn;
    public Button viewBtn;
    public Button pmsPayBtn;
    public Text lbl;

    void Awake()
    {
        Application.logMessageReceived += LogCallback;

#if UNITY_ANDROID && !UNITY_EDITOR
        m_javaClass = new AndroidJavaClass("${你的游戏包名}.MainActivity");
#endif
        lbl.text = "Awake\n";
    }

    
	void Start () {
        loginBtn.onClick.AddListener(() =>
        {
            Debug.Log("Login Clicked login1");
            m_javaClass.CallStatic("login", 1);
        });
        viewBtn.onClick.AddListener(() =>
        {
            Debug.Log("Signin Click");
            m_javaClass.CallStatic("signin", true);
        });
        payBtn.onClick.AddListener(() =>
        {
            Debug.Log("Pay Clicked");
            m_javaClass.CallStatic("pay", 1); //单位分
        });
        pmsPayBtn.onClick.AddListener(() =>
        {
            Debug.Log("pmsPay Clicked");
            m_javaClass.CallStatic("pmsPay", "31");
        });
    }


    void LogCallback(string condition, string stackTrace, LogType type)
    {
        lbl.text += condition+"\n";
    }
    private AndroidJavaClass m_javaClass;
}
  •  打包发布,在Player Setting->Other Setting中填定包名 在public setting中设置你的项目的Keystore,然后build,成功后,放入你的华为手机测试
  • 为了看log,可以安装Android Studio,在logcat中查看log

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值