Skip to content

Commit bbba6b6

Browse files
Kaden Kangmeta-codesync[bot]
authored andcommitted
Add partner_client_id to AttributionData
Summary: Add partner_client_id as a String field to the Java Business SDK's AttributionData class. This field is a partner workspace/dashboard identifier used for deduplication across shared pixels, added as part of the Custom Attribution schema extension (D96265092). Changes: - Added SerializedName field, constructor param, fluent builder, getter/setter - Updated equals(), hashCode(), and toString() - Updated tests for builder, equality, and inequality - Bumped version to v24.0.3 Reviewed By: daegwang Differential Revision: D101088146 fbshipit-source-id: c67cd8752eee873f8f57aa868c87ef98bc0484e6
1 parent f5e83e4 commit bbba6b6

3 files changed

Lines changed: 56 additions & 8 deletions

File tree

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ All notable changes to this project will be documented in this file.
55

66
## Unreleased
77

8+
## v24.0.4
9+
### Added
10+
- Add partner_client_id field to AttributionData
11+
812
## v24.0.3
913
### Added
1014
- Add total_credit field to AttributionData

src/main/java/com/facebook/ads/sdk/serverside/AttributionData.java

Lines changed: 39 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,9 @@ public class AttributionData {
7878
@SerializedName("total_credit")
7979
private Float totalCredit = null;
8080

81+
@SerializedName("partner_client_id")
82+
private String partnerClientId = null;
83+
8184
/**
8285
* Default constructor
8386
*/
@@ -106,12 +109,13 @@ public AttributionData() {
106109
* @param touchpointId Unique identifier for touchpoint events shared by Meta with advertisers.
107110
* @param attributionSetting The attribution setting with inactivity and reattribution window configuration.
108111
* @param totalCredit Total credit attributed to all publishers for this conversion.
112+
* @param partnerClientId Partner workspace/dashboard identifier for dedup across shared pixels.
109113
*/
110114
public AttributionData(String scope, Long visitTime, String adId, String adsetId, String campaignId,
111115
Float attributionShare, AttributionModelEnum attributionModel, Integer attributionWindow, Float attributionValue,
112116
String attributionSource, String touchpointType, Integer touchpointTs, AttributionMethodEnum attributionMethod,
113117
DeclineReasonEnum declineReason, String auditingToken, String linkageKey, String touchpointId, AttributionSetting attributionSetting,
114-
Float totalCredit) {
118+
Float totalCredit, String partnerClientId) {
115119
this.scope = scope;
116120
this.visitTime = visitTime;
117121
this.adId = adId;
@@ -131,6 +135,7 @@ public AttributionData(String scope, Long visitTime, String adId, String adsetId
131135
this.touchpointId = touchpointId;
132136
this.attributionSetting = attributionSetting;
133137
this.totalCredit = totalCredit;
138+
this.partnerClientId = partnerClientId;
134139
}
135140

136141
/**
@@ -684,6 +689,35 @@ public void setTotalCredit(Float totalCredit) {
684689
this.totalCredit = totalCredit;
685690
}
686691

692+
/**
693+
* Set partnerClientId
694+
*
695+
* @param partnerClientId Partner workspace/dashboard identifier for dedup across shared pixels.
696+
* @return AttributionData
697+
*/
698+
public AttributionData partnerClientId(String partnerClientId) {
699+
this.partnerClientId = partnerClientId;
700+
return this;
701+
}
702+
703+
/**
704+
* Get partnerClientId
705+
*
706+
* @return partnerClientId
707+
*/
708+
public String getPartnerClientId() {
709+
return partnerClientId;
710+
}
711+
712+
/**
713+
* Set partnerClientId
714+
*
715+
* @param partnerClientId Partner workspace/dashboard identifier for dedup across shared pixels.
716+
*/
717+
public void setPartnerClientId(String partnerClientId) {
718+
this.partnerClientId = partnerClientId;
719+
}
720+
687721
@Override
688722
public boolean equals(Object o) {
689723
if (this == o) return true;
@@ -709,12 +743,13 @@ public boolean equals(Object o) {
709743
&& Objects.equals(this.linkageKey, attributionData.linkageKey)
710744
&& Objects.equals(this.touchpointId, attributionData.touchpointId)
711745
&& Objects.equals(this.attributionSetting, attributionData.attributionSetting)
712-
&& Objects.equals(this.totalCredit, attributionData.totalCredit);
746+
&& Objects.equals(this.totalCredit, attributionData.totalCredit)
747+
&& Objects.equals(this.partnerClientId, attributionData.partnerClientId);
713748
}
714749

715750
@Override
716751
public int hashCode() {
717-
return Objects.hash(scope, visitTime, adId, adsetId, campaignId, attributionShare, attributionModel, attributionWindow, attributionValue, attributionSource, touchpointType, touchpointTs, attributionMethod, declineReason, auditingToken, linkageKey, touchpointId, attributionSetting, totalCredit);
752+
return Objects.hash(scope, visitTime, adId, adsetId, campaignId, attributionShare, attributionModel, attributionWindow, attributionValue, attributionSource, touchpointType, touchpointTs, attributionMethod, declineReason, auditingToken, linkageKey, touchpointId, attributionSetting, totalCredit, partnerClientId);
718753
}
719754

720755
@Override
@@ -740,6 +775,7 @@ public String toString() {
740775
sb.append(" touchpointId: ").append(toIndentedString(touchpointId)).append("\n");
741776
sb.append(" attributionSetting: ").append(toIndentedString(attributionSetting)).append("\n");
742777
sb.append(" totalCredit: ").append(toIndentedString(totalCredit)).append("\n");
778+
sb.append(" partnerClientId: ").append(toIndentedString(partnerClientId)).append("\n");
743779
sb.append("}");
744780
return sb.toString();
745781
}

src/test/java/com/facebook/ads/sdk/serverside/AttributionDataTest.java

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ public void TestAttributionDataBuilderAndGetters() {
4545
String touchpointId = "tp_test_touchpoint_id_123";
4646
AttributionSetting attributionSetting = new AttributionSetting(24, 48);
4747
float totalCredit = 0.85f;
48+
String partnerClientId = "partner_workspace_123";
4849

4950
attributionData
5051
.scope(scope)
@@ -65,7 +66,8 @@ public void TestAttributionDataBuilderAndGetters() {
6566
.linkageKey(linkageKey)
6667
.touchpointId(touchpointId)
6768
.attributionSetting(attributionSetting)
68-
.totalCredit(totalCredit);
69+
.totalCredit(totalCredit)
70+
.partnerClientId(partnerClientId);
6971

7072
assertEquals(attributionData.getScope(), scope);
7173
assertEquals(attributionData.getAdId(), adId);
@@ -88,6 +90,7 @@ public void TestAttributionDataBuilderAndGetters() {
8890
assertEquals((int)attributionData.getAttributionSetting().getInactivityWindowHours(), 24);
8991
assertEquals((int)attributionData.getAttributionSetting().getReattributionWindowHours(), 48);
9092
assertEquals((float)attributionData.getTotalCredit(), totalCredit, 0);
93+
assertEquals(attributionData.getPartnerClientId(), partnerClientId);
9194
}
9295

9396
@Test
@@ -113,6 +116,7 @@ public void TestWhenInstancesAreEqual() {
113116
String touchpointId = "tp_test_touchpoint_id_123";
114117
AttributionSetting attributionSetting = new AttributionSetting(24, 48);
115118
float totalCredit = 0.85f;
119+
String partnerClientId = "partner_workspace_123";
116120

117121
attributionData1
118122
.scope(scope)
@@ -133,7 +137,8 @@ public void TestWhenInstancesAreEqual() {
133137
.linkageKey(linkageKey)
134138
.touchpointId(touchpointId)
135139
.attributionSetting(attributionSetting)
136-
.totalCredit(totalCredit);
140+
.totalCredit(totalCredit)
141+
.partnerClientId(partnerClientId);
137142

138143
attributionData2
139144
.scope(scope)
@@ -154,7 +159,8 @@ public void TestWhenInstancesAreEqual() {
154159
.linkageKey(linkageKey)
155160
.touchpointId(touchpointId)
156161
.attributionSetting(attributionSetting)
157-
.totalCredit(totalCredit);
162+
.totalCredit(totalCredit)
163+
.partnerClientId(partnerClientId);
158164

159165
assertEquals(attributionData1, attributionData2);
160166
assertEquals(attributionData1.hashCode(), attributionData2.hashCode());
@@ -202,7 +208,8 @@ public void TestWhenInstancesAreNotEqual() {
202208
.linkageKey(linkageKey)
203209
.touchpointId("tp_test_touchpoint_id_123")
204210
.attributionSetting(attributionSetting1)
205-
.totalCredit(0.85f);
211+
.totalCredit(0.85f)
212+
.partnerClientId("partner_workspace_123");
206213

207214
attributionData2
208215
.scope(scope)
@@ -223,7 +230,8 @@ public void TestWhenInstancesAreNotEqual() {
223230
.linkageKey(linkageKey)
224231
.touchpointId("tp_test_touchpoint_id_456")
225232
.attributionSetting(attributionSetting2)
226-
.totalCredit(0.35f);
233+
.totalCredit(0.35f)
234+
.partnerClientId("partner_workspace_456");
227235

228236
assertNotEquals(attributionData1, attributionData2);
229237
assertNotEquals(attributionData1.hashCode(), attributionData2.hashCode());

0 commit comments

Comments
 (0)