Skip to content

Commit d98468f

Browse files
authored
Merge pull request #42 from SourcePointUSA/DIA-2585-implement-customConsentTo-deleteCustomConsent-method-android
DIA-2585 `DeleteCustomConsent` feature for Android
2 parents 14b3686 + 2c5919b commit d98468f

20 files changed

+261
-289
lines changed

Assets/ConsentManagementProvider/Scripts/facade/CMP.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -146,12 +146,11 @@ public static void CustomConsentGDPR(string[] vendors, string[] categories, stri
146146
public static void DeleteCustomConsentGDPR(string[] vendors, string[] categories, string[] legIntCategories, Action<GdprConsent> onSuccessDelegate)
147147
{
148148
#if UNITY_ANDROID
149-
// TO-DO
150-
/*ConsentWrapperAndroid.Instance.DeleteCustomConsentGDPR(
149+
ConsentWrapperAndroid.Instance.DeleteCustomConsentGDPR(
151150
vendors: vendors,
152151
categories: categories,
153152
legIntCategories: legIntCategories,
154-
onSuccessDelegate: onSuccessDelegate);*/
153+
onSuccessDelegate: onSuccessDelegate);
155154

156155
#elif UNITY_IOS && !UNITY_EDITOR_OSX
157156
ConsentWrapperIOS.Instance.DeleteCustomConsentGDPR(

Assets/ConsentManagementProvider/Scripts/wrapper/Android/ConsentWrapperAndroid.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,12 @@ public void CustomConsentGDPR(string[] vendors, string[] categories, string[] le
135135
consentLib.Call("customConsentGDPR", vendors, categories, legIntCategories, customConsentClient);
136136
}
137137

138+
public void DeleteCustomConsentGDPR(string[] vendors, string[] categories, string[] legIntCategories, Action<GdprConsent> onSuccessDelegate)
139+
{
140+
this.customConsentClient = new CustomConsentClient(onSuccessDelegate);
141+
consentLib.Call("deleteCustomConsentTo", vendors, categories, legIntCategories, customConsentClient);
142+
}
143+
138144
public GdprConsent GetCustomGdprConsent()
139145
{
140146
if (this.customConsentClient != null)

Assets/ExampleApp/Scenes/SourcepointSampleScene.unity

Lines changed: 227 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -385,6 +385,7 @@ RectTransform:
385385
- {fileID: 1511860154}
386386
- {fileID: 957257163}
387387
- {fileID: 448136249}
388+
- {fileID: 506840118}
388389
m_Father: {fileID: 0}
389390
m_RootOrder: 0
390391
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -539,6 +540,152 @@ CanvasRenderer:
539540
m_PrefabAsset: {fileID: 0}
540541
m_GameObject: {fileID: 448136248}
541542
m_CullTransparentMesh: 1
543+
--- !u!1 &506840117
544+
GameObject:
545+
m_ObjectHideFlags: 0
546+
m_CorrespondingSourceObject: {fileID: 0}
547+
m_PrefabInstance: {fileID: 0}
548+
m_PrefabAsset: {fileID: 0}
549+
serializedVersion: 6
550+
m_Component:
551+
- component: {fileID: 506840118}
552+
- component: {fileID: 506840121}
553+
- component: {fileID: 506840120}
554+
- component: {fileID: 506840119}
555+
m_Layer: 5
556+
m_Name: Clear Custome Consent Data Button
557+
m_TagString: Untagged
558+
m_Icon: {fileID: 0}
559+
m_NavMeshLayer: 0
560+
m_StaticEditorFlags: 0
561+
m_IsActive: 1
562+
--- !u!224 &506840118
563+
RectTransform:
564+
m_ObjectHideFlags: 0
565+
m_CorrespondingSourceObject: {fileID: 0}
566+
m_PrefabInstance: {fileID: 0}
567+
m_PrefabAsset: {fileID: 0}
568+
m_GameObject: {fileID: 506840117}
569+
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
570+
m_LocalPosition: {x: 0, y: 0, z: 0}
571+
m_LocalScale: {x: 1, y: 1, z: 1}
572+
m_ConstrainProportionsScale: 0
573+
m_Children:
574+
- {fileID: 1196510773}
575+
m_Father: {fileID: 207973236}
576+
m_RootOrder: 9
577+
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
578+
m_AnchorMin: {x: 0.5, y: 0.5}
579+
m_AnchorMax: {x: 0.5, y: 0.5}
580+
m_AnchoredPosition: {x: 676, y: 79.456}
581+
m_SizeDelta: {x: 720, y: 180}
582+
m_Pivot: {x: 0.5, y: 0.5}
583+
--- !u!114 &506840119
584+
MonoBehaviour:
585+
m_ObjectHideFlags: 0
586+
m_CorrespondingSourceObject: {fileID: 0}
587+
m_PrefabInstance: {fileID: 0}
588+
m_PrefabAsset: {fileID: 0}
589+
m_GameObject: {fileID: 506840117}
590+
m_Enabled: 1
591+
m_EditorHideFlags: 0
592+
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
593+
m_Name:
594+
m_EditorClassIdentifier:
595+
m_Navigation:
596+
m_Mode: 3
597+
m_WrapAround: 0
598+
m_SelectOnUp: {fileID: 0}
599+
m_SelectOnDown: {fileID: 0}
600+
m_SelectOnLeft: {fileID: 0}
601+
m_SelectOnRight: {fileID: 0}
602+
m_Transition: 1
603+
m_Colors:
604+
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
605+
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
606+
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
607+
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
608+
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
609+
m_ColorMultiplier: 1
610+
m_FadeDuration: 0.1
611+
m_SpriteState:
612+
m_HighlightedSprite: {fileID: 0}
613+
m_PressedSprite: {fileID: 0}
614+
m_SelectedSprite: {fileID: 0}
615+
m_DisabledSprite: {fileID: 0}
616+
m_AnimationTriggers:
617+
m_NormalTrigger: Normal
618+
m_HighlightedTrigger: Highlighted
619+
m_PressedTrigger: Pressed
620+
m_SelectedTrigger: Selected
621+
m_DisabledTrigger: Disabled
622+
m_Interactable: 1
623+
m_TargetGraphic: {fileID: 506840120}
624+
m_OnClick:
625+
m_PersistentCalls:
626+
m_Calls:
627+
- m_Target: {fileID: 131616237}
628+
m_TargetAssemblyTypeName: PrivacySettings, Sourcepoint
629+
m_MethodName: OnClearCustomConsentDataPress
630+
m_Mode: 1
631+
m_Arguments:
632+
m_ObjectArgument: {fileID: 0}
633+
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
634+
m_IntArgument: 0
635+
m_FloatArgument: 0
636+
m_StringArgument:
637+
m_BoolArgument: 0
638+
m_CallState: 2
639+
- m_Target: {fileID: 131616239}
640+
m_TargetAssemblyTypeName: UnityEngine.AudioSource, UnityEngine
641+
m_MethodName: Play
642+
m_Mode: 1
643+
m_Arguments:
644+
m_ObjectArgument: {fileID: 0}
645+
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
646+
m_IntArgument: 0
647+
m_FloatArgument: 0
648+
m_StringArgument:
649+
m_BoolArgument: 0
650+
m_CallState: 2
651+
--- !u!114 &506840120
652+
MonoBehaviour:
653+
m_ObjectHideFlags: 0
654+
m_CorrespondingSourceObject: {fileID: 0}
655+
m_PrefabInstance: {fileID: 0}
656+
m_PrefabAsset: {fileID: 0}
657+
m_GameObject: {fileID: 506840117}
658+
m_Enabled: 1
659+
m_EditorHideFlags: 0
660+
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
661+
m_Name:
662+
m_EditorClassIdentifier:
663+
m_Material: {fileID: 0}
664+
m_Color: {r: 0.8867924, g: 0.1966002, b: 0.35890934, a: 1}
665+
m_RaycastTarget: 1
666+
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
667+
m_Maskable: 1
668+
m_OnCullStateChanged:
669+
m_PersistentCalls:
670+
m_Calls: []
671+
m_Sprite: {fileID: 21300000, guid: 0f51b1b75b0cda146a0198335ba7afad, type: 3}
672+
m_Type: 1
673+
m_PreserveAspect: 1
674+
m_FillCenter: 1
675+
m_FillMethod: 4
676+
m_FillAmount: 1
677+
m_FillClockwise: 1
678+
m_FillOrigin: 0
679+
m_UseSpriteMesh: 1
680+
m_PixelsPerUnitMultiplier: 1
681+
--- !u!222 &506840121
682+
CanvasRenderer:
683+
m_ObjectHideFlags: 0
684+
m_CorrespondingSourceObject: {fileID: 0}
685+
m_PrefabInstance: {fileID: 0}
686+
m_PrefabAsset: {fileID: 0}
687+
m_GameObject: {fileID: 506840117}
688+
m_CullTransparentMesh: 1
542689
--- !u!1 &519420028
543690
GameObject:
544691
m_ObjectHideFlags: 0
@@ -1395,6 +1542,86 @@ CanvasRenderer:
13951542
m_PrefabAsset: {fileID: 0}
13961543
m_GameObject: {fileID: 1032806485}
13971544
m_CullTransparentMesh: 1
1545+
--- !u!1 &1196510772
1546+
GameObject:
1547+
m_ObjectHideFlags: 0
1548+
m_CorrespondingSourceObject: {fileID: 0}
1549+
m_PrefabInstance: {fileID: 0}
1550+
m_PrefabAsset: {fileID: 0}
1551+
serializedVersion: 6
1552+
m_Component:
1553+
- component: {fileID: 1196510773}
1554+
- component: {fileID: 1196510775}
1555+
- component: {fileID: 1196510774}
1556+
m_Layer: 5
1557+
m_Name: Label (4)
1558+
m_TagString: Untagged
1559+
m_Icon: {fileID: 0}
1560+
m_NavMeshLayer: 0
1561+
m_StaticEditorFlags: 0
1562+
m_IsActive: 1
1563+
--- !u!224 &1196510773
1564+
RectTransform:
1565+
m_ObjectHideFlags: 0
1566+
m_CorrespondingSourceObject: {fileID: 0}
1567+
m_PrefabInstance: {fileID: 0}
1568+
m_PrefabAsset: {fileID: 0}
1569+
m_GameObject: {fileID: 1196510772}
1570+
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
1571+
m_LocalPosition: {x: 0, y: 0, z: 0}
1572+
m_LocalScale: {x: 1, y: 1, z: 1}
1573+
m_ConstrainProportionsScale: 0
1574+
m_Children: []
1575+
m_Father: {fileID: 506840118}
1576+
m_RootOrder: 0
1577+
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1578+
m_AnchorMin: {x: 0, y: 0}
1579+
m_AnchorMax: {x: 1, y: 1}
1580+
m_AnchoredPosition: {x: 0, y: 0}
1581+
m_SizeDelta: {x: 0, y: 0}
1582+
m_Pivot: {x: 0.5, y: 0.5}
1583+
--- !u!114 &1196510774
1584+
MonoBehaviour:
1585+
m_ObjectHideFlags: 0
1586+
m_CorrespondingSourceObject: {fileID: 0}
1587+
m_PrefabInstance: {fileID: 0}
1588+
m_PrefabAsset: {fileID: 0}
1589+
m_GameObject: {fileID: 1196510772}
1590+
m_Enabled: 1
1591+
m_EditorHideFlags: 0
1592+
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
1593+
m_Name:
1594+
m_EditorClassIdentifier:
1595+
m_Material: {fileID: 0}
1596+
m_Color: {r: 1, g: 1, b: 1, a: 1}
1597+
m_RaycastTarget: 1
1598+
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
1599+
m_Maskable: 1
1600+
m_OnCullStateChanged:
1601+
m_PersistentCalls:
1602+
m_Calls: []
1603+
m_FontData:
1604+
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
1605+
m_FontSize: 44
1606+
m_FontStyle: 0
1607+
m_BestFit: 0
1608+
m_MinSize: 0
1609+
m_MaxSize: 44
1610+
m_Alignment: 4
1611+
m_AlignByGeometry: 0
1612+
m_RichText: 1
1613+
m_HorizontalOverflow: 0
1614+
m_VerticalOverflow: 0
1615+
m_LineSpacing: 1
1616+
m_Text: Clear Data
1617+
--- !u!222 &1196510775
1618+
CanvasRenderer:
1619+
m_ObjectHideFlags: 0
1620+
m_CorrespondingSourceObject: {fileID: 0}
1621+
m_PrefabInstance: {fileID: 0}
1622+
m_PrefabAsset: {fileID: 0}
1623+
m_GameObject: {fileID: 1196510772}
1624+
m_CullTransparentMesh: 1
13981625
--- !u!1 &1398530920
13991626
GameObject:
14001627
m_ObjectHideFlags: 0

Assets/ExampleApp/Scripts/PrivacySettings.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,8 @@ public void OnCustomConsentButtonClick()
101101
private void SuccessDelegate(GdprConsent customConsent)
102102
{
103103
Debug.Log($"I am your success callback!"); // TODO print customConsent
104+
storedConsentString = customConsent.euconsent;
105+
updateUI();
104106
}
105107

106108
public void OnCCPAPrivacyManagerButtonClick()
@@ -119,6 +121,18 @@ public void OnClearDataPress()
119121
updateUI();
120122
}
121123

124+
public void OnClearCustomConsentDataPress()
125+
{
126+
CMP.DeleteCustomConsentGDPR(
127+
vendors: this.vendors,
128+
categories: this.categories,
129+
legIntCategories: this.legIntCategories,
130+
onSuccessDelegate: SuccessDelegate
131+
);
132+
storedConsentString = null;
133+
updateUI();
134+
}
135+
122136
public void OnLoadMessagePress()
123137
{
124138
storedConsentString = null;

Assets/ExternalDependencyManager/Editor/SourcepointDependencies.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,6 @@
3939

4040
<androidPackages>
4141
<!-- <androidPackage spec="org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.3.0" />-->
42-
<androidPackage spec="com.sourcepoint.cmplibrary:cmplibrary:7.7.0" />
42+
<androidPackage spec="com.sourcepoint.cmplibrary:cmplibrary:7.7.1" />
4343
</androidPackages>
4444
</dependencies>
Binary file not shown.

Assets/Plugins/Android/com.sourcepoint.cmplibrary.cmplibrary-7.7.0.aar.meta

Lines changed: 0 additions & 34 deletions
This file was deleted.

Assets/Plugins/Android/com.squareup.okhttp3.okhttp-4.9.0.jar.meta

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/Plugins/Android/com.squareup.okio.okio-2.8.0.jar.meta

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)