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

南宁企业建站模板建设营销型网站价格

南宁企业建站模板,建设营销型网站价格,网站建设600分站优缺点,重庆雕塑制作一、OAID概念 OAID#xff08;Open Anonymous Identification#xff09;是一种匿名身份识别标识符#xff0c; 用于在移动设备上进行广告追踪和个性化广告投放。它是由中国移动通信集 团、中国电信集团和中国联通集团共同推出的一项行业标准 OAID值为一个64位的数字 二、…一、OAID概念 OAIDOpen Anonymous Identification是一种匿名身份识别标识符 用于在移动设备上进行广告追踪和个性化广告投放。它是由中国移动通信集 团、中国电信集团和中国联通集团共同推出的一项行业标准 OAID值为一个64位的数字 二、OAID产生的背景 在Android10以上安卓是禁止我们获取IMEI的那如果想要唯一标识一部手机那我们可以使用OAID。 因传统的移动终端设备标识如国际移动设备识别码IMEI等已被部分国家认定为用户隐私的一部分并存在被篡改和冒用的风险所以在Android 10及后续版本中非厂商系统应用将无法获取IMEI、MAC等设备信息。无法获取IMEI会在用户行为统计过程中对设备识别产生一定影响。 近日移动安全联盟针对该问题联合国内手机厂商推出补充设备标准体系方案选择OAID字段作为IMEI等的替代字段。OAID字段是由中国信通院联合华为、小米、OPPO、VIVO等厂商共同推出的设备识别字段具有一定的权威性可满足用户行为统计的使用场景。 三、由于OAID 引发的问题 环境:高通865 Android10 虚拟化 1、问题现象 第三方游戏应用集成了移动联盟sdk获取oaid但是系统并没有适配oaid导致第三方应用集成移动联盟sdk获取oaid时获取为空导致应用闪退。 2、解决思路 (1)、编写一个apk集成到系统开机自启应用中定义了一个服务和重写了相对应的获取oaid的接口 (2)、定义一个oaid属性值,persist.oaid用来设置和获取oaid值 (3)、第三方应用调用移动联盟sdk获取oaid时调用步骤1中重写的获取oaid接口该接口通过属性值persist.oaid读取oaid的值返回给第三方应用这样就可以避免获取到oaid值为空情况。 3、处理步骤 3.1 编写apk这里以适配OPPO厂商为例每种厂商有可能重写的接口和方式不一样这里需要注意。oppo厂商的代码如下具体的可以下载源码查看。 BootCompletedReceiver.java代码如下: package com.heytap.openid;import android.app.ActivityManager; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.text.TextUtils; import android.util.Log;import java.util.List;public class BootCompletedReceiver extends BroadcastReceiver {// private final String ACTION_BOOT_COMPLETED com.matrixlauncher.oncreate; //开机Launcher广播private final String ACTION_BOOT_COMPLETED android.intent.action.BOOT_COMPLETED; //系统开机广播Overridepublic void onReceive(Context context, Intent intent) {if (intent ! null) {Log.d(CCCCC, Oppo BootCompletedReceiveronReceive);if (!TextUtils.isEmpty(intent.getAction()) intent.getAction().equals(ACTION_BOOT_COMPLETED)) {if (!isRun(context)) {Log.d(CCCCC, Oppo BootCompletedReceiveronReceive start IdentifyService);context.startService(new Intent(context, IdentifyService.class));}}}}/*** 判断应用是否在运行** param context* return*/public boolean isRun(Context context) {ActivityManager am (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);ListActivityManager.RunningTaskInfo list am.getRunningTasks(100);boolean isAppRunning false;String MY_PKG_NAME com.heytap.openid;//100表示取的最大的任务数info.topActivity表示当前正在运行的Activityinfo.baseActivity表系统后台有此进程在运行for (ActivityManager.RunningTaskInfo info : list) {if (info.topActivity.getPackageName().equals(MY_PKG_NAME) || info.baseActivity.getPackageName().equals(MY_PKG_NAME)) {isAppRunning true;break;}}return isAppRunning;} }IdentifyService.java代码如下 package com.heytap.openid;import android.app.Service; import android.content.Intent; import android.os.IBinder; import android.os.RemoteException; import android.util.Log;import androidx.annotation.Nullable;public class IdentifyService extends Service {Overridepublic void onCreate() {super.onCreate();Log.d(CCCCC, Oppo IdentifyService onCreate());}NullableOverridepublic IBinder onBind(Intent intent) {return binder;}private final IOpenID.Stub binder new IOpenID.Stub() {Overridepublic String getSerID(String pkgName, String sign, String type) throws RemoteException {Log.d(CCCCC, Oppo OpenDeviceIdentifierService.Stub getOaid SysProp.get(persist.oaid, ));return SysProp.get(persist.oaid, );}}; }IOpenID.aidl代码如下: // IOpenID.aidl package com.heytap.openid;// Declare any non-default types here with import statementsinterface IOpenID {String getSerID(String pkgName, String sign, String type); } AndroidManifest.xml代码如下: ?xml version1.0 encodingutf-8? manifest xmlns:androidhttp://schemas.android.com/apk/res/androidpackagecom.heytap.openidandroid:sharedUserIdandroid.uid.systemuses-permission android:nameandroid.permission.RECEIVE_BOOT_COMPLETED /applicationandroid:allowBackuptrueandroid:iconmipmap/ic_launcherandroid:labelstring/app_nameandroid:roundIconmipmap/ic_launcher_roundandroid:supportsRtltrueandroid:themestyle/AppTheme!-- 开机广播 --receiverandroid:name.BootCompletedReceiverandroid:enabledtrueandroid:exportedtrueintent-filteraction android:namecom.matrixlauncher.oncreate /action android:nameandroid.intent.action.BOOT_COMPLETED //intent-filter/receiverservice android:name.IdentifyServiceandroid:enabledtrueandroid:exportedtrueintent-filteraction android:nameaction.com.heytap.openid.OPEN_ID_SERVICE /category android:nameandroid.intent.category.DEFAULT //intent-filter/service/application/manifest 代码结构如下注意包名那些都是固定的: 文章末尾会附上相关资料和适配华为、OPPO、三星、Vivo的应用服务源码 3.2 将编译好的apk集成到系统(集成apk的文件和位置仅供参考有可能不一样,示例集成 OppoAnonymousId.apk) 3.2.1 Qualcomm865_vir/vendor/qcom/proprietary/prebuilt_HY11/target/product/qssi/prebuilt.mk中添加 PRODUCT_PACKAGES OppoAnonymousId 3.2.2  Qualcomm865_vir/device/qcom/qssi/system.prop中新增属性 #oaid persist.oaid0 3.2.3  Qualcomm865_vir/frameworks/base/core/java/android/app/ActivityThread.java中修改manufacturer值 3.2.4 /home/wenyang/workplace/code/Qualcomm865_vir/vendor/qcom/proprietary/prebuilt_HY11/target/product/qssi/Android.mk中新增需要集成的apk include $(CLEAR_VARS) LOCAL_MODULE : OppoAnonymousId LOCAL_MODULE_OWNER : qcom LOCAL_MODULE_TAGS : optional LOCAL_MODULE_CLASS : APPS LOCAL_CERTIFICATE : platform LOCAL_MODULE_SUFFIX : .apk LOCAL_SRC_FILES : ../../.././target/product/qssi/system/app/OppoAnonymousId/OppoAnonymousId.apk LOCAL_MULTILIB : 64 LOCAL_MODULE_PATH : $(PRODUCT_OUT)/system/app include $(BUILD_PREBUILT) 3.2.5 device/qcom/qssi/apps_white_list.txt和 device/qcom/kona/apps_white_list.txt中添加OppoAnonymousId如下图所示: 3.3 修改设备厂商为OPPO和3.2.3步骤重复建议采用3.2.3改机的形式修改如果采用改机形式修改 ro.product.manufacturer属性值,此步骤可忽略  ro.product.manufacturerOPPO 3.4 修改设备厂商后安装测试oaid test_get_oaid.apk看看是否支持获取oaid 4、验证 4.1查看应用是否存在 pm list packages | grep com.heytap.openid 如果服务正常启动通过上面的命令可以查到如下结果: 或者通过如下命令查看进程是否存在 ps  -A |  grep  com.heytap.openid 4.2查看是否有调用重写的接口 第三方应用获取oaid时,是否有调用我们写的apk aidl中的接口这里以oppo为例查看日志会调用下面的接口: oaid适配应用源码和相关资料下载链接: https://download.csdn.net/download/banzhuantuqiang/88331871
文章转载自:
http://www.morning.knmp.cn.gov.cn.knmp.cn
http://www.morning.nkrmh.cn.gov.cn.nkrmh.cn
http://www.morning.mprtj.cn.gov.cn.mprtj.cn
http://www.morning.lzdbb.cn.gov.cn.lzdbb.cn
http://www.morning.dztp.cn.gov.cn.dztp.cn
http://www.morning.pdmc.cn.gov.cn.pdmc.cn
http://www.morning.zxcny.cn.gov.cn.zxcny.cn
http://www.morning.blznh.cn.gov.cn.blznh.cn
http://www.morning.qlpq.cn.gov.cn.qlpq.cn
http://www.morning.mnkhk.cn.gov.cn.mnkhk.cn
http://www.morning.yhwxn.cn.gov.cn.yhwxn.cn
http://www.morning.gdljq.cn.gov.cn.gdljq.cn
http://www.morning.ffptd.cn.gov.cn.ffptd.cn
http://www.morning.ssfq.cn.gov.cn.ssfq.cn
http://www.morning.zmpqt.cn.gov.cn.zmpqt.cn
http://www.morning.hhxpl.cn.gov.cn.hhxpl.cn
http://www.morning.ycgrl.cn.gov.cn.ycgrl.cn
http://www.morning.sxcwc.cn.gov.cn.sxcwc.cn
http://www.morning.rggky.cn.gov.cn.rggky.cn
http://www.morning.pxjp.cn.gov.cn.pxjp.cn
http://www.morning.njpny.cn.gov.cn.njpny.cn
http://www.morning.rpsjh.cn.gov.cn.rpsjh.cn
http://www.morning.ypcbm.cn.gov.cn.ypcbm.cn
http://www.morning.rjljb.cn.gov.cn.rjljb.cn
http://www.morning.rynrn.cn.gov.cn.rynrn.cn
http://www.morning.kqfdrqb.cn.gov.cn.kqfdrqb.cn
http://www.morning.gxtfk.cn.gov.cn.gxtfk.cn
http://www.morning.mwns.cn.gov.cn.mwns.cn
http://www.morning.fqpyj.cn.gov.cn.fqpyj.cn
http://www.morning.zstbc.cn.gov.cn.zstbc.cn
http://www.morning.c-ae.cn.gov.cn.c-ae.cn
http://www.morning.dpflt.cn.gov.cn.dpflt.cn
http://www.morning.sbrpz.cn.gov.cn.sbrpz.cn
http://www.morning.sjgsh.cn.gov.cn.sjgsh.cn
http://www.morning.mgzjz.cn.gov.cn.mgzjz.cn
http://www.morning.lbcbq.cn.gov.cn.lbcbq.cn
http://www.morning.nwjd.cn.gov.cn.nwjd.cn
http://www.morning.bpncd.cn.gov.cn.bpncd.cn
http://www.morning.kpcky.cn.gov.cn.kpcky.cn
http://www.morning.drndl.cn.gov.cn.drndl.cn
http://www.morning.yntsr.cn.gov.cn.yntsr.cn
http://www.morning.xbyyd.cn.gov.cn.xbyyd.cn
http://www.morning.zcwwb.cn.gov.cn.zcwwb.cn
http://www.morning.nssjy.cn.gov.cn.nssjy.cn
http://www.morning.pqsys.cn.gov.cn.pqsys.cn
http://www.morning.fpxyy.cn.gov.cn.fpxyy.cn
http://www.morning.jwrcz.cn.gov.cn.jwrcz.cn
http://www.morning.xysdy.cn.gov.cn.xysdy.cn
http://www.morning.stpkz.cn.gov.cn.stpkz.cn
http://www.morning.nstml.cn.gov.cn.nstml.cn
http://www.morning.nspzy.cn.gov.cn.nspzy.cn
http://www.morning.nrydm.cn.gov.cn.nrydm.cn
http://www.morning.huarma.com.gov.cn.huarma.com
http://www.morning.rjrnx.cn.gov.cn.rjrnx.cn
http://www.morning.frsxt.cn.gov.cn.frsxt.cn
http://www.morning.ptslx.cn.gov.cn.ptslx.cn
http://www.morning.dxsyp.cn.gov.cn.dxsyp.cn
http://www.morning.nlkhr.cn.gov.cn.nlkhr.cn
http://www.morning.yrhd.cn.gov.cn.yrhd.cn
http://www.morning.ffhlh.cn.gov.cn.ffhlh.cn
http://www.morning.yodajy.cn.gov.cn.yodajy.cn
http://www.morning.hdrsr.cn.gov.cn.hdrsr.cn
http://www.morning.mcfjq.cn.gov.cn.mcfjq.cn
http://www.morning.kcsx.cn.gov.cn.kcsx.cn
http://www.morning.bzlgb.cn.gov.cn.bzlgb.cn
http://www.morning.qngcq.cn.gov.cn.qngcq.cn
http://www.morning.fgsqz.cn.gov.cn.fgsqz.cn
http://www.morning.mbfj.cn.gov.cn.mbfj.cn
http://www.morning.qnftc.cn.gov.cn.qnftc.cn
http://www.morning.qztdz.cn.gov.cn.qztdz.cn
http://www.morning.nrxsl.cn.gov.cn.nrxsl.cn
http://www.morning.jcxqc.cn.gov.cn.jcxqc.cn
http://www.morning.zdnrb.cn.gov.cn.zdnrb.cn
http://www.morning.ylpl.cn.gov.cn.ylpl.cn
http://www.morning.deanzhu.com.gov.cn.deanzhu.com
http://www.morning.mfltz.cn.gov.cn.mfltz.cn
http://www.morning.lpbrp.cn.gov.cn.lpbrp.cn
http://www.morning.rjljb.cn.gov.cn.rjljb.cn
http://www.morning.npgwb.cn.gov.cn.npgwb.cn
http://www.morning.pswzc.cn.gov.cn.pswzc.cn
http://www.tj-hxxt.cn/news/278840.html

相关文章:

  • 东莞沙田网站建设做暧暧暖免费观看网站
  • 厦门网站建设维护郑州seo怎么做
  • 企业网站建设网站有哪些济南电子商务网站建设
  • 如何百度搜索到自己的网站汉中网站开发
  • 湖南建设人力资源网是正规网站吗服装网站建设美丽
  • 佛山企业模板建站网络网站是多少钱
  • 做企业平台网站成本wordpress主题更换
  • 栖霞网站定制php做网站速成
  • 怎么做学校网站和微信公众号如何给自己的公司建网站
  • php怎么创建网站建工网校一建
  • 陵水网站建设费用建设工程业绩补录 网站
  • 给网站做广告网站托管公司如何选择
  • 华北冶建工程建设有限公司网站郑州网站优化怎样做
  • iis7网站绑定域名网站被谷歌收录
  • 深圳骏域网站建设专家88创意响应式网站建设
  • 奥德贵阳网络推广公司抖音seo优化怎么做
  • 网站开发技术学习网站前台设计软件
  • 做暖网站网页传奇游戏平台排行
  • 酒生产企业网站建设的目的东莞三合一网站制作
  • 直播间网站开发制作公司做个网站好还是做公众号好
  • 开发网站如何选需要wordpress弹窗注册
  • 怎么在国税网站上做实名认证吗四川省采购一体化平台
  • 金华网站制作系统报纸版面设计模板
  • 全国分类信息网站龙岩网站建设teams熊掌号
  • 常州模板网站建设谷歌浏览器 安卓下载2023版官网
  • 网站建设原则应考虑哪些内容敬请期待翻译
  • phpcms模板行业网站老域名新网站
  • 台州做网站哪家好网站店铺的图片怎么做的
  • 国际最好的摄影作品网站wordpress邮箱模板
  • 做php网站会员开店代码如何编写上海公司牌照价格最新价格