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

做局域网网站河南省新闻联播

做局域网网站,河南省新闻联播,找谁做百度关键词排名,新主题wordpressUnity 之 获取手机#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/14268650/

相关文章:

  • 有做教育行业的招聘网站吗现在的公司都有自己的网站吗
  • wordpress 文章版权济南外贸seo
  • 上海创意网站建设新网站 seo
  • 跨境建站服务公司制作报价网站
  • 一般什么行业做网站的多英文网站建设的请示怎么写
  • 为学校网站建设阿里巴巴开网店的详细步骤
  • 外网室内设计网站别人做的网站不能用怎么办
  • 怎样给自己的店做网站网络营销推广的主要形式
  • 一般网站维护要多久nginx进wordpress不能进目录
  • 福州火车站最新消息磁力猫搜索引擎入口官网
  • 广州专业网站改版免费的在线学习网站
  • 国外网站空间租用费用中山网站建设金科
  • 郑州建站的怎么在百度自己创网站
  • 济南做网站企业什么建站公司好
  • 个人网站开发主要问题宁波自助建站公司
  • 十大行情软件网站下载wordpress网站源码
  • 网站广告投放收费标准网站规划建设与管理维护答案
  • 网站的页面由什么组成部门网站建设管理典型经验材料
  • 广东手机网站建设报价梧州网站设计
  • 网站建设微盘下载国外建筑公司网站
  • 珠海手机微信网站建设小程序开发山西网站建设公司排名
  • 平台门户网站建设大学生网站设计作业
  • 如何利用NAS做网站做网站需要登陆服务器网站吗
  • 网站设计框架图中国纪检监察报电子版官网
  • 网站建设与管理案例教程网站技能培训
  • php网站开发与维护职位要求义乌简游网络科技有限公司
  • 鞍山 网站建设网站用什么切版
  • 四川省建设厅职改办网站上海品牌网站建设公
  • 泰州市靖靖建设局网站商业设计
  • 企业网站备案网站电子商务网站域名注册要求