Unity 欧盟UMP用户隐私协议Android接入指南

Unity 欧盟UMP用户协议Android接入指南

    • 官方文档链接
    • 开始接入
      • mainTemplate.gradle 中引入
      • CustomUnityPlayerActivity 导入UMP相关的包
        • java类中新增字段
        • 初始化UMPSDK方法
        • 调用![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/d882171b068c46a1b956e80425f3a9cf.png)
        • 测试
        • 获取测试设备ID
        • 需要和发行沟通一下 开启UMP测试
        • 真机端测试配置环境
        • 接通成功应展示的界面

在这里插入图片描述

官方文档链接

Google 欧盟地区用户意见征求政策 UMPSDK接入文档

开始接入

mainTemplate.gradle 中引入

项目路径下 Assets/Plugins/Android/mainTemplate.gradle
在这里插入图片描述

implementation 'com.google.android.ump:user-messaging-platform:2.1.0'

CustomUnityPlayerActivity 导入UMP相关的包

import com.google.android.ump.ConsentInformation;
import com.google.android.ump.ConsentRequestParameters;
import com.google.android.ump.FormError;
import com.google.android.ump.UserMessagingPlatform;
import com.google.android.ump.ConsentForm;
import com.google.android.ump.ConsentDebugSettings;
java类中新增字段
   private ConsentInformation consentInformation;boolean isUseEEA = false;boolean isUseTestDeivce = false;boolean isResetUMP = false;
初始化UMPSDK方法

在下面代码注释 “加载广告”的地方处理你的开屏广告

 private  void InitUMPSDK(){if(isUseTestDeivce && isUseEEA){   ConsentDebugSettings debugSettings = new ConsentDebugSettings.Builder(this).setDebugGeography(ConsentDebugSettings.DebugGeography.DEBUG_GEOGRAPHY_EEA).addTestDeviceHashedId("TEST-DEVICE-HASHED-ID").build();}// Set tag for under age of consent. false means users are not under age// of consent.ConsentRequestParameters params = new ConsentRequestParameters.Builder().setTagForUnderAgeOfConsent(false).build();consentInformation = UserMessagingPlatform.getConsentInformation(this);consentInformation.requestConsentInfoUpdate(this,params,(ConsentInformation.OnConsentInfoUpdateSuccessListener) () -> {UserMessagingPlatform.loadAndShowConsentFormIfRequired(this,(ConsentForm.OnConsentFormDismissedListener) loadAndShowError -> {if (loadAndShowError != null) {// Consent gathering failed.Log.w(TAG, String.format("%s: %s",loadAndShowError.getErrorCode(),loadAndShowError.getMessage()));}// Consent has been gathered.if (consentInformation.canRequestAds()) {// 在此处加载广告/// tpSplash.showAd();}});},(ConsentInformation.OnConsentInfoUpdateFailureListener) requestConsentError -> {// Consent gathering failed.Log.w(TAG, String.format("%s: %s",requestConsentError.getErrorCode(),requestConsentError.getMessage()));});// Check if you can initialize the Google Mobile Ads SDK in parallel// while checking for new consent information. Consent obtained in// the previous session can be used to request ads.if (consentInformation.canRequestAds()) {// 在此处加载广告/// tpSplash.showAd();}if(isResetUMP){consentInformation.reset();}//记录有没有授权SharedPreferences.Editor editor = sharedPreferences.edit();editor.putBoolean("authorization", true); //editor.apply();}
调用在这里插入图片描述
测试

TEST-DEVICE-HASHED-ID 为你的设备测试ID
在这里插入图片描述

获取测试设备ID

当isUseEEA,isUseTestDeivce,isResetUMP都为true时运行后搜setTestDeviceIds在这里插入图片描述

在这里插入图片描述

需要和发行沟通一下 开启UMP测试

在这里插入图片描述

真机端测试配置环境

开启VPN -选德国节点

接通成功应展示的界面

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/318970.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

k8s的网络

k8s的网络 k8s中的通信模式: 1、pod内部之间容器与容器之间的通信 在同一个pod中的容器共享资源和网络,使用同一个网络命名空间,可以直接通信的 2、同一个node节点之内,不同pod之间的通信 每个pod都有一个全局的真实的ip地址…

商智C店H5性能优化实战

前言 商智C店,是依托移动低码能力搭建的一个应用,产品面向B端商家。随着应用体量持续增大,考虑产品定位及用户体验,我们针对性能较差页面做了一次优化,并取得了不错的效果,用户体验值(UEI&…

122基于matlab的CSO-SVM,BA-SVM模式识别模型

基于matlab的CSO-SVM,BA-SVM模式识别模型。优化SVM的两个参数晚上最佳参数确定。输出分类识别结果和准确率。数据可更换自己的,程序已调通,可直接运行。 122鸡群优化算法蝙蝠优化算法 (xiaohongshu.com)

界面控件DevExpress Blazor Grid v23.2 - 支持全新的单元格编辑模式

DevExpress Blazor UI组件使用了C#为Blazor Server和Blazor WebAssembly创建高影响力的用户体验,这个UI自建库提供了一套全面的原生Blazor UI组件(包括Pivot Grid、调度程序、图表、数据编辑器和报表等)。 在这篇文章中,我们将介…

大数据HCIE成神之路之特征工程——特征选择

特征选择 1.1 特征选择 - Filter方法1.1.1 实验任务1.1.1.1 实验背景1.1.1.2 实验目标1.1.1.3 实验数据解析1.1.1.4 实验思路 1.1.2 实验操作步骤 1.2 特征选择 - Wrapper方法1.2.1 实验任务1.2.1.1 实验背景1.2.1.2 实验目标1.2.1.3 实验数据解析1.2.1.4 实验思路 1.2.2 实验操…

以 Serverfull 方式运行无服务器服务

当前 IT 架构中最流行的用例是从 Serverfull 转向 Serverless 设计。在某些情况下,我们可能需要以 Serverfull 方式设计服务或迁移到 Serverfull 作为运营成本的一部分。 在本文中,我们将展示如何将 Kumologica flow 作为 Docker 容器运行。通常&#x…

Element|InfiniteScroll 无限滚动组件的具体使用方法

目录 InfiniteScroll 无限滚动 基本用法 详细说明 v-infinite-scroll 指令 infinite-scroll-disabled 属性 infinite-scroll-distance 属性 总结 需求背景 : 项目统计管理列表页面,数据量过多时在 IE 浏览器上面会加载异常缓慢,导致刚…

【iOS安全】JS 调用Objective-C中WKWebview Handler的三种方式

有三种实现途径 1. WKScriptMessageHandler OC部分:注册并实现Handler 将OC中的方法"nativeMethod"注册为JavaScript Message Handler,从而WebView中的JavaScript代码可以调用该方法 // Register in Objective-C code - (void)setupWKWebVi…

Linux的systemctl命令

Linux系统很多软件均支持使用systemctl命令控制:启动、停止、开机自启 形式: systemctl start | stop | status | enable | disable 服务名 enable : 自启动 disable : 关闭自启动 系统内置的服务比较多,比如: NetworkManage…

打造高效会员卡营销策划方案,提升门店业绩

在激烈的行业竞争中,如何有效提升店铺的业绩,提高客户粘性和消费频次呢?答案可能就在你手中——那就是有效的会员卡营销策略。下面给大家探讨如何设计会员卡营销策划方案,从而增加客户的忠诚度,并推动销售增长。以目前…

Springboot通过profiles切换不同环境使用的配置

文章目录 简介1.通过分隔符隔离2.通过使用不同的配置文件区分3.测试 简介 一个项目从开发到上线一般要经过几个环境, dev测试环境-uat预生产环境-prod生产环境,每个环境的使用的数据库或者配置不同,这时候可以通过下面两种方式区分配置,达到快速切换的效…

Cytoscape3.9安装包下载及安装教程

Cytoscape3.9下载链接:https://docs.qq.com/doc/DUldkdndLdlJ2TlJJ 1、选中下载好的安装包,右键选择解压到【Cytoscape3.9.1】文件夹 2、双击打开【OpenJDK11U-jdk_x64_windows_hotspot_11.0.7_10.msi】 3、点击【下一步】 4、勾选【我接受许可协议】&am…