【unity接入SDK案例】从0到1 如何接入百度地图SDK到unity中【二】


👨‍💻个人主页 :@元宇宙-秩沅

👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!

👨‍💻 本文由 秩沅 原创

👨‍💻 收录于专栏 :Unity基础实战

⭐🅰️⭐



文章目录


⭐前言⭐


🎶(1) 百度地图Android SDK下载


下载入口


🎶(2) 下载Android Studio


下载入口

android studio版本是:2021.2.1.16,

  • 打开后 点击SDK Manager 我们需要更改一下SDK的安装路径

  • 选择自己新建的文件夹,更改路径

  • SDK位置已更新

  • 完成


🎶(3) Android Studio工程配置


  • Step 1 :创建一个Empty 项目:
  • 第一次创建项目会比较慢,等待加载完成即可

等待第一次加载完毕,而后部署签证

为什么要进行生成签名捆绑包

在Android开发中,部署签名和密钥库是用于对应用进行数字签名和加密的一种机制。

部署签名是通过使用开发者的私钥对应用进行签名的过程。签名后的应用可以用于发布到Google Play商店或其他渠道进行分发。签名后的应用可以确保应用的完整性和来源的真实性,防止被篡改或恶意修改。

密钥库是存储和管理密钥的文件。在Android开发中,通常使用Java密钥库(JKS)格式的文件来存储密钥。密钥库可以包含多个密钥对,每个密钥对都有一个相关的私钥和公钥。在部署签名过程中,开发者需要使用密钥库中的私钥对应用进行签名。

部署签名和密钥库在Android开发中扮演着重要的角色,不仅可以确保应用的完整性和来源的真实性,还可以保护应用的安全性。


  • 选择build - Generate Signed Bundle or APK(生成签名捆绑包或APK)
  • 此时我选择新建一个key Store
  • 选择 release版本,后点击finish

🎶(4)获取AK和SHA1


什么是AK?

在百度地图中,AK 是 Access Key 的缩写,也被称为 API Key。每个使用百度地图 API 的开发者都需要申请一个 AK,用于身份验证和授权。AK 是一个字符串,类似于一个密码,用于标识和限制对百度地图 API 的访问权限。开发者在使用百度地图 API 时,需要将自己的 AK 嵌入到 API 请求中,以正确地调用和使用地图功能。每个 AK 都有一定的访问频率和配额限制,以保障服务的稳定性和可用性。

  • 百度地图官网进行认证
  • 点击我的应用,进行新应用的创建,类型为android SDK ,名字自命名,而后填写需要的SHA1
什么是SHA1呢?

SHA 1 _哈希算法。SHA1是一种加密算法,全称是Secure Hash Algorithm 1。在Android开发中,SHA1通常用于生成密钥、认证和数据完整性检查等方面。SHA1算法会将输入的数据(例如字符串、文件等)转换为一个固定长度的哈希值,通常是160位的二进制值。这个哈希值是唯一的,相同的输入将始终生成相同的哈希值,而不同的输入生成的哈希值几乎是完全不同的。SHA1在很多场景中被广泛使用,如数字签名、密码存储、消息认证等。在Android中,SHA1也常用于在应用程序中生成唯一标识符和签名验证等方面。

那么怎么获取SHA1呢

  • 首先调式版本的SHA1,获取步骤如下:
    打开cmd -> cd.android --->keytool -list -v -keystore debug.keystore
  • 其中发布版SHA1的密钥文件是你自己创建keystore时生成的JKS文件,如何获取?见下一步
  • 在自己创建得keystore 路径中 打开DOS界面输入指令 keytool -list -v -keystore + 文件名及后缀
JKS文件和Keystore文件的区别:

JKS格式的文件和Keystore格式的文件都是用于存储密钥和证书的文件格式,但两者之间有一些区别:

  1. 文件扩展名:JKS格式的文件扩展名为.jks,而Keystore格式的文件扩展名可以是.jks、.jceks、.p12、.pfx等。
  2. 文件结构:JKS格式的文件是Java Key Store格式,是以Java KeyStore API为基础的专用格式,它可以存储多个密钥和证书,并使用别名进行引用。Keystore格式的文件可以是不同的类型,如PKCS#12、JKS等,但它们都可以包含一个或多个密钥和证书。
  3. 密钥类型:JKS格式的文件可以存储不同类型的密钥,包括私钥、公钥、对称密钥等。Keystore格式的文件也可以存储不同类型的密钥,但具体支持的密钥类型取决于文件的格式和使用的API。
  4. 兼容性:JKS格式的文件是Java特定的格式,主要用于Java应用程序和工具。Keystore格式的文件可以在不同的平台和语言中使用,因为它们可以基于公共的密钥存储标准如PKCS#12。
    总的来说,JKS格式的文件是Java特定的密钥存储格式,适用于Java环境中的应用程序和工具。而Keystore格式的文件是一种通用的密钥存储格式,可以在不同的平台和语言中使用。
  • 创建一个Unity工程,环境为安卓环境

  • 而后PackageName 要与Unity工程的PackageName保持一致

  • 提交后即可显示新建应用


🎶(5)百度SDK导入unity


  • 创建一个简易的Button按钮
  • 编写其按钮在安卓模式下的交互脚本
csharp 复制代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//-------------------------------------
//---------------------------------------------------------------------------------------------------------------
//___________项目:       ______________
//___________功能:  按钮响应百度地图的接入
//___________创建者:_______秩沅_____
//_____________________________________
//-------------------------------------
public class Onclick : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        
    }

    /// <summary>
    /// 点击按钮时调用
    /// </summary>
    public void OnButtonClick()
    {

#if UNITY_EDITOR//平台判断语句
        Debug.Log("进入编辑器模式!");
#endif

#if UNITY_ANDROID
        Debug.Log("进入安卓模式");
        var pl = new AndroidJavaClass("com.DefaultCompany.BaiduMap.UnityPlayer");
        var activity = pl.GetStatic<AndroidJavaObject>("currentActicity");
        var args = new string[2] { "param1", "param2" };
        activity.Call("Unity2AndroidFunc",args[0],args[1]);          
#endif  
    }
}

  • 在Asset文件夹下新建一个Plugins/Android文件夹,把下载的百度SDK"中的这几个文件夹拖到到这个文件夹下面

🎶(6)Unity安卓平台打包


  • step1: 首先在 Building setting ------Player setting 中设置公司名,游戏名
  • step2: 查看包名
  • step3: 打开Keystore Manager密钥库管理器新建签名

  • step4:填写发布相关(Publishing Setting)的信息

  • step5 :纹理压缩(Texture Compression)选择 ETC2

  • step6: 勾选Export Project (导出用于Android Studio 的 Gradle文件)而后点击导出 Export
  • 导出后如下所示

后续见下一章节

⭐🅰️⭐



⭐【Unityc#专题篇】之c#进阶篇】

⭐【Unityc#专题篇】之c#核心篇】

⭐【Unityc#专题篇】之c#基础篇】

⭐【Unity-c#专题篇】之c#入门篇】

⭐ 【Unityc#专题篇】---进阶章题单实践练习

⭐【Unityc#专题篇】---基础章题单实践练习

⭐ 【Unityc#专题篇】---核心章题单实践练习


你们的点赞👍 收藏⭐ 留言📝 关注✅是我持续创作,输出优质内容的最大动力!、



相关推荐
驰骋工作流3 小时前
流程时效考核的表结构:从待办时限到 WF_CH 考核结果驰骋BPM驰骋低代码低代码工作流引擎
android·低代码·rxjava
传奇开心果编程5 小时前
【Flutter踩坑排雷】第7课:巨型 build 函数坑|全部 UI 写在同一个 build,维护难、隐性异常
android·flutter·ios·移动开发·跨平台·dart·声明式ui
方白羽8 小时前
Android 双开环境底层剖析与风控检测落地
android·安全·app
weixin_563371479 小时前
Android Studio 2024 版 Device Explorer 打开方法
android·ide·android studio
AIsoft_868912 小时前
职场音频文件怎么整理?录音APP有哪些用法
android·音视频
booboosui12 小时前
第一批个人 Agent 用户正在卸载,问题不在模型,在它住在哪儿
android
洞见前行12 小时前
点击图标到内容出现,你的 App 在这几秒里做了什么:Android 冷启动全链路优化实战
android·性能优化·android studio
凯基迪科技12 小时前
芯片UID绑定修改 加密与逆向修改思路分析
android
Oiiouui12 小时前
Godot-GridGame架构DI容器全局联动设计
架构·游戏引擎·godot
Liben13 小时前
Weex开发踩坑记录
android·前端·ios