Consentmanager
适用于 iOS 应用的 ConsentManager 库实现了用户数据保护的相关功能,并向用户提供关于数据保护的通知,同时还能从用户处获取和收集同意。这使得应用程序开发者能够轻松地将 ConsentManager 服务集成到他们的应用中。
支持的标准
CmpSdk GDPR/CCPA 库支持以下行业标准:
*IAB TCF v1 *IAB TCF v2 *IAB USPrivacy v1 *ConsentManager 自定义供应商/目的 *Google 附加同意模式(Google AC String)
概述
- 如何工作
- 安装
- 使用 Cocoapod 添加库
- 作为可下载框架添加库
- 启动 ConsentTool
- 使用库
工作原理
首先,第一步是将SDK集成到应用中并配置SDK设置。一旦SDK被集成到应用中,SDK将提供给应用开发者用于获取同意数据的函数。然后,当应用启动时,SDK将自动从ConsentManager服务器检索信息,以便为SDK的使用做准备。
建议应用在启动时创建CMPConsentTool类的示例。生成此示例后,SDK将自动显示同意屏幕(如果有必要)。当应用想要处理个人数据时,它应该“询问”SDK是否同意特定目的和供应商。
安装
使用CocoaPod添加库
如以下示例所示,您可以通过将 consentmanager
添加到您的Podfile中来安装ConsentManager。
target 'YourProject' do
# Comment the next line if you don't want to use dynamic frameworks
use_frameworks!
pod 'consentmanager'
target 'YourProjectTests' do
inherit! :search_paths
# Pods for testing
end
...
end
*在项目目录中运行 pod install
以安装ConsentManager。*打开 *.xcworkspace 并构建。
在您完成所有步骤后,您的依赖项应该已安装,然后您可以在项目中继续使用它。
将库添加为可下载框架(SDK)
如果不使用Cocoapod,请通过以下链接下载我们的SDK库: https://help.consentmanager.net/books/cmp/page/consentmanager-gdprccpa-sdk-for-ios
尽管如此,我们强烈建议使用Cocoapod安装和使用库,因为否则,对于用户和开发者来说都更难以维护。这样,更新需要手动集成,并且存在一些版本控制问题。因此,我们计划停止对此库的活跃服务。
启动ConsentTool
在app-start(通常是你的viewDidAppear函数)中,你必须创建一个CMPConsentTool类的实例。这将从我们的服务器自动获取必要的数据并确定是否需要显示同意屏幕。如果是的话,SDK将自动在此处显示同意屏幕,收集数据并向应用提供数据。然后可以使用该实例从SDK获取同意详细信息,以便在应用中使用。
要启动ConsentTool,首先使用import consentmanager
导入库。现在你应该可以使用以下初始化参数实例化CMPConsentTool:
cmpConsentTool = CMPConsentTool.init("consentmanager.mgr.consensu.org", addId: "123456", addAppName: "my%20test%20app", addLanguage: "DE", add: self)
使用库
要检查供应商或目的是否已获得同意,可以使用以下两个方法
if( cmpConsentTool!.hasPurposeConsent("52", purposeIsV1orV2: false)) {
if((cmpConsentTool!.hasVendorConsent("52", vendorIsV1orV2: false))) {
//do Something
}
}
hasPurposeConsent
和hasVendorConsent
方法都需要两个参数
-
id - 供应商或目的ID的字符串。请注意,供应商ID可能有不同的格式("123","s123"和"c123"),请在您的ConsentManager账户的"菜单 > 供应商"和"菜单 > 目的"中核对这些ID。
-
isIABVendor / isIABPurpose - 如果供应商或目的是遵循IAB TCF标准的供应商/目的,则您需要将其设置为"correct",否则设置为"false"。
注意:
请记住:所有不属于IAB的供应商ID以“a”、“s”或“c”开头(例如“s123”);属于IAB的供应商ID不以“a”、“s”或“c”开头。
重新打开同意屏幕
为了允许用户更改选择,您可以简单地调用 openCmpConsentToolView() 方法。
cmpConsentTool!.openView()
将同意信息传递给其他来源
在某些情况下,原生应用可能包含用于显示特定功能(如广告或内容)的web视图。要从SDK将同意信息传输到web视图,请使用以下函数
consentData = CMPStorageConsentManager.exportCMPData(this);
myWebView.loadURL("https://mywebsite.com/....#cmpimport=" + consentData);