当前位置: 首页 > news >正文

做局域网网站网站项目签约

做局域网网站,网站项目签约,网页版梦幻西游杨洋兑换码是多少,短网址短链接生成器Unity 之 获取手机#xff1a;OAID、IMEI、ClientId、GUID 前言一、Oaid 介绍1.1 Oaid 说明1.2 移动安全联盟(MSA) 二、站在巨人的肩膀上2.1 本文实现参考2.2 本文实现效果2.3 本文相关插件 三、Unity 中获取Oaid3.1 查看实现源码3.2 工程配置3.3 代码实现3.4 场景搭建 四、总… Unity 之 获取手机OAID、IMEI、ClientId、GUID 前言一、Oaid 介绍1.1 Oaid 说明1.2 移动安全联盟(MSA) 二、站在巨人的肩膀上2.1 本文实现参考2.2 本文实现效果2.3 本文相关插件 三、Unity 中获取Oaid3.1 查看实现源码3.2 工程配置3.3 代码实现3.4 场景搭建 四、总结 前言 在当今的移动互联网时代OaidOpen Anonymous ID成为了广告投放和用户分析的重要工具。对于 Unity 游戏开发者来说获取安卓手机的 Oaid 可以帮助他们更好地了解用户行为、优化广告投放效果并提供个性化的游戏体验。 我了解到Oaid还是在TapADN中TapADN中提到Oaid可以提供更高收益 本文将介绍如何在 Unity 中获取安卓手机的 Oaid。 一、Oaid 介绍 1.1 Oaid 说明 Oaid 是一种匿名设备标识符用于标识移动设备。它与 IMEI 等设备标识符不同Oaid 不会泄露用户的真实身份信息同时也能满足广告投放和用户分析的需求。通过获取 Oaid开发者可以了解用户的设备信息、地理位置、兴趣爱好等从而为用户提供更加精准的广告投放和个性化的服务。 在 Android 10 版本中广告渠道商们作为非厂商系统应用将无法获取 IMEI、MAC 等设备信息。旧版本的手机系统在用户手动升级前将保持不变但是搭载 Android 10 系统的手机系统将不支持获取 IMEI。在一段时间内将处于新旧版手机系统共存的状态但是新版手机系统的用户占比将会逐渐提高会造成新版系统用户无法进行推广渠道的匹配。 1.2 移动安全联盟(MSA) (MSA)移动安全联盟针对该问题联合国内手机厂商推出补充设备标准体系方案选择 OAID 字段作为 IMEI 等的替代字段 。广告渠道商选择 OAID 作为 IMEI 的替代字段。OAID 字段是由中国信通院联合华为、小米、OPPO、VIVO 等厂商共同推出的设备识别字段具有一定的权威性。OAID 的准确性和覆盖率均满足广告场景的使用需求。 关于 OAID 更多信息可参考 MSA移动安全联盟官网: http://www.msa-alliance.cn/col.jsp?id120 我注册并下载了MAD的SDK看了开发说明文档感觉集成操作有点复杂。进而有了本文的实现方式 二、站在巨人的肩膀上 2.1 本文实现参考 查到了相关的实现方式【膜拜大佬】 参考链接 Unity Android获取OAID码Android_CN_OAID 2.2 本文实现效果 下图1是本文最终的实现效果图2图3是1.3中大佬提供的apk的测试结果参照 2.3 本文相关插件 在文章开头的资源绑定中有源码和本文使用的最新library-4.2.8.aar包下载地址使用是可打开看下是否有新的。 开头提供的资源包内容 三、Unity 中获取Oaid 3.1 查看实现源码 在 Unity 中可以通过调用插件提供的接口来获取 Oaid。具体的获取方法可以参考DeviceIdentifier.java类代码。 一般来说需要在游戏启动时获取 Oaid并将其存储在本地以便后续使用。 3.2 工程配置 在Project Setting→Player→安卓→Publishing Settings→Build 下勾选如下图所示三项此时工程会自动生成左侧框到三个文件 3.3 代码实现 在settingsTemplate.gradle添加以下内容粘贴两次位置如图所示。 maven { url https://developer.huawei.com/repo/ } maven { url https://developer.hihonor.com/repo }新建JAVA代码 package com.GetOaid;import android.app.Application; import android.app.Activity;import com.unity3d.player.UnityPlayer;import com.github.gzuliyujiang.oaid.DeviceIdentifier; import com.github.gzuliyujiang.oaid.IRegisterCallback;public class OaidWrapper {private Application application;public void register(){application UnityPlayer.currentActivity.getApplication();DeviceIdentifier.register(application, false, new IRegisterCallback() {Overridepublic void onComplete(String clientId, Exception error) {// do somethingUnityPlayer.UnitySendMessage(GetOaidSDK, GetClientIdComplete, clientId);}});}public String getOAID(){UnityPlayer.UnitySendMessage(GetOaidSDK, ShowMsg, DeviceIdentifier.getOAID(application));return DeviceIdentifier.getOAID(application);}public String getIMEI() {UnityPlayer.UnitySendMessage(GetOaidSDK, ShowMsg, DeviceIdentifier.getIMEI(application));return DeviceIdentifier.getIMEI(application);}public String getClientId() {UnityPlayer.UnitySendMessage(GetOaidSDK, ShowMsg, DeviceIdentifier.getClientId());return DeviceIdentifier.getClientId();}public String getGUID() {UnityPlayer.UnitySendMessage(GetOaidSDK, ShowMsg, DeviceIdentifier.getGUID(application));return DeviceIdentifier.getGUID(application);} }3.4 场景搭建 创建两个Text展示获取到的信息为了方便调试。在创建四个按钮用于测试主动获取OAID、IMEI、ClientId、GUID。新建GetOaidSDK的物体挂载代码 新建测试代码 需要将3.3中代码挂载到名为GetOaidSDK的物体上。jo new AndroidJavaObject(com.GetOaid.OaidWrapper); 要和上面创建的java文件中的包名和类名对应上 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Android; using UnityEngine.UI;public class GetOaidDemo : MonoBehaviour {public Text oaidText;public Text megText;public Button getOaidBtn;public Button getIMEIBtn;public Button getClientIdBtn;public Button getGUIDBtn;public Button getOAIDAAIDBtn;private static AndroidJavaObject jo;// 读取设备信息 权限private string READ_PHONE_STATE android.permission.READ_PHONE_STATE;void Start(){getOaidBtn.onClick.AddListener(OnClickGetOAID);getIMEIBtn.onClick.AddListener(OnClickGetIMEI);getClientIdBtn.onClick.AddListener(OnClickGetClientId);getGUIDBtn.onClick.AddListener(OnClickGetGUID);getOAIDAAIDBtn.onClick.AddListener(OnClickGetOAIDAAID);// 请求READ_PHONE_STATE权限RequestAndCheckPermission();}public void RequestAndCheckPermission(){Debug.Log(检查请求权限);if (!Permission.HasUserAuthorizedPermission(READ_PHONE_STATE)){Permission.RequestUserPermission(READ_PHONE_STATE);// 开始协程等待权限变化StartCoroutine(WaitForPermission(READ_PHONE_STATE));}else{// 权限已授予执行操作Debug.Log(权限已授予执行相关操作);Register();}}IEnumerator WaitForPermission(string permission){float timeWaited 0f;const float timeout 10f; // 设置超时时间防止无限等待while (!Permission.HasUserAuthorizedPermission(permission) timeWaited timeout){yield return new WaitForSeconds(0.2f); // 暂停并检查权限状态timeWaited 0.2f;}if (Permission.HasUserAuthorizedPermission(permission)){Debug.Log($Permission {permission} granted after waiting.);// 在这里处理权限被授予的逻辑ShowMsg(这里可以执行需要该权限的操作.);}else{Debug.LogWarning($Permission {permission} not granted after waiting.);// 处理权限请求超时或被拒绝的情况ShowMsg($处理权限请求超时或被拒绝的情况.);}}public void Register(){if (Application.platform RuntimePlatform.Android){jo new AndroidJavaObject(com.GetOaid.OaidWrapper);jo.Call(register);}}// 渠道clientId 自动获取oaidpublic void GetClientIdComplete(string clientId){oaidText.text clientId: clientId;OnClickGetOAID();}public void OnClickGetOAID(){oaidText.text 取Oaid;if (Application.platform RuntimePlatform.Android){jo new AndroidJavaObject(com.GetOaid.OaidWrapper);string oaidStr jo.Callstring(getOAID);oaidText.text oaidStr;Debug.Log(取Oaid: oaidStr);}}public void OnClickGetOAIDAAID(){oaidText.text getOAIDAAID;if (Application.platform RuntimePlatform.Android){jo new AndroidJavaObject(com.GetOaid.OaidWrapper);string oaidStr jo.Callstring(getOAIDAAID);oaidText.text oaidStr;Debug.Log(getOAIDAAID: oaidStr);}}public void OnClickGetIMEI(){oaidText.text getIMEI;if (Application.platform RuntimePlatform.Android){jo new AndroidJavaObject(com.GetOaid.OaidWrapper);string oaidStr jo.Callstring(getIMEI);oaidText.text oaidStr;Debug.Log(getIMEI: oaidStr);}}public void OnClickGetClientId(){oaidText.text getClientId;if (Application.platform RuntimePlatform.Android){jo new AndroidJavaObject(com.GetOaid.OaidWrapper);string oaidStr jo.Callstring(getClientId);oaidText.text oaidStr;Debug.Log(getClientId: oaidStr);}}public void OnClickGetGUID(){oaidText.text getGUID;if (Application.platform RuntimePlatform.Android){jo new AndroidJavaObject(com.GetOaid.OaidWrapper);string oaidStr jo.Callstring(getGUID);oaidText.text oaidStr;Debug.Log(getGUID: oaidStr);}}public void ShowMsg(string msg){megText.text \n msg;Debug.Log(msg: msg);} }四、总结 在获取和使用 Oaid 时需要遵守相关的法律法规和隐私政策。不得将 Oaid 用于非法用途不得泄露用户的隐私信息。 获取安卓手机的 Oaid 对于 Unity 游戏开发者来说具有重要的意义。通过获取 Oaid开发者可以更好地了解用户行为、优化广告投放效果并提供个性化的游戏体验。在获取 Oaid 时需要遵守相关规定确保获取的 Oaid 准确性并及时更新 Oaid。希望本文对 Unity 游戏开发者有所帮助。
http://www.hkea.cn/news/14385158/

相关文章:

  • 小微企业所得税优惠政策网站seo排名培训
  • 门户网站建设jz190h5网站开发的文献综述
  • 所有代刷平台推广上海网站建设乐云seo模板中心
  • 做英文网站要用什么字体南宁网站推广大全
  • 潍坊建设银行招聘网站南宁网站运营优化平台
  • 南宁做网站设计方案网站开发摊销多少年
  • 爱站数据官网企业网站系统详细设计
  • 购物网站怎么做优化代理注册公司行情
  • 网站流量查询站长之家培训网址
  • 网站建设应该考虑哪些问题怎么才能百度到自己的网站
  • 诸暨制作网站的公司有哪些领地免费网站开发
  • 徐州哪家公司做网站水平好在线设计闪字图片
  • wordpress 延时加载jsseo排名优化怎么样
  • 网站建设要多长时间末年人免费观看网站
  • 网站 流程手机免费制图软件
  • 定位网站关键词设计研发网站
  • 网站开发发展趋势2018新网站建设运营年计划
  • 如何查看网站的更新频率智能网站建设步骤
  • 湘潭高端网站建设网站企业快速备案流程
  • 汕头网站建设推广价格国家建设部网站平台
  • 怎么自己在微信上做网站兰州1万人阳性
  • 网站建设好后打开是目录文件中英企业网站
  • 秦皇岛网站建设系统推荐如何在百度上发布自己的广告
  • 西安购物网站建设河南郑州做网站h汉狮
  • 商品定制平台网站成都的汽车网站建设
  • 功能性的网站归档系统中国建设银行中国网站
  • 互联网网站建设方案重庆教育建设有限公司网站首页
  • 商城网站哪个公司做的好处2023企业所得税300万以上
  • 购物网站用html怎么做自己做个网站好还是做别人会员好
  • 网站项目需求分析上海省住房与城乡建设厅网站