Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes remove publisher channel id containing landing TLD+1 for ad notification confirmations #5033

Merged
merged 1 commit into from
Mar 24, 2020

Conversation

tmancey
Copy link
Collaborator

@tmancey tmancey commented Mar 24, 2020

Resolves brave/brave-browser#8833

Submitter Checklist:

Test Plan:

Use Charles Proxy to capture traffic and confirm the request to the POST /v1/confirmation/{confirmation_id}/{credential} server end-point does not contain a channelId in the payload

Reviewer Checklist:

  • New files have MPL-2.0 license header.
  • Request a security/privacy review as needed.
  • Adequate test coverage exists to prevent regressions
  • Verify test plan is specified in PR before merging to source

After-merge Checklist:

  • The associated issue milestone is set to the smallest version that the
    changes has landed on.
  • All relevant documentation has been updated.

@tmancey tmancey changed the title Fixes remove publisher channel id for ad notification confirmations Fixes Remove publisher channel id containing landing TLD+1 for ad notification confirmations Mar 24, 2020
@tmancey tmancey changed the title Fixes Remove publisher channel id containing landing TLD+1 for ad notification confirmations Fixes remove publisher channel id containing landing TLD+1 for ad notification confirmations Mar 24, 2020
@tmancey
Copy link
Collaborator Author

tmancey commented Mar 24, 2020

Unrelated known Security-Test failure, merging

@tmancey tmancey merged commit cbf6886 into master Mar 24, 2020
@tmancey tmancey deleted the issues/8833 branch March 24, 2020 18:05
@kjozwiak
Copy link
Member

Reproduced the original issue using the following build:

Brave | 1.8.32 Chromium: 81.0.4044.69 (Official Build) nightly (64-bit)
--- | ---
Revision | 6813546031a4bc83f717a2ef7cd4ac6ec1199132-refs/branch-heads/4044@{#776}
OS | macOS Version 10.15.3 (Build 19D76)

Viewed/Clicked on an ad and verified that "channelId":"nordpass.io" was being used as per the below logs:

[14738:775:0326/152835.353144:INFO:confirmations_impl.cc(1141)] Confirm ad:
  creativeInstanceId: 29a981a3-e383-4eec-99b5-3f7014f0563e
  creativeSetId: 45907430-e1bb-4bc6-8f8c-97250df1db29
  category: arts & entertainment
  targetUrl: https://go.nordpass.io/aff_c?offer_id=488&aff_id=37472&url_id=9356
  confirmationType: view
[14738:775:0326/152835.353165:INFO:redeem_token.cc(59)] Redeem
[14738:775:0326/152835.353182:INFO:confirmations_impl.cc(743)] Saving confirmations state
[14738:775:0326/152835.353574:INFO:redeem_token.cc(109)] CreateConfirmation
[14738:775:0326/152835.353588:INFO:redeem_token.cc(111)] POST /v1/confirmation/{confirmation_id}/{credential}
[14738:775:0326/152835.353595:INFO:redeem_token.cc(114)] URL Request:
[14738:775:0326/152835.353603:INFO:redeem_token.cc(117)]   URL: https://ads-serve.brave.com/v1/confirmation/1ea77afe-585f-4286-9dba-3b0755a84d9e/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwickhTWTJFVmdwbnkvZ2I3MGxDUC9yY1U1S2Z0UVVkRXlGd0N5UFFJOWNsYz1cIixcImNoYW5uZWxJZFwiOlwibm9yZHBhc3MuaW9cIixcImNyZWF0aXZlSW5zdGFuY2VJZFwiOlwiMjlhOTgxYTMtZTM4My00ZWVjLTk5YjUtM2Y3MDE0ZjA1NjNlXCIsXCJwYXlsb2FkXCI6e30sXCJ0eXBlXCI6XCJ2aWV3XCJ9Iiwic2lnbmF0dXJlIjoiVHRVNmdxcERJODhFbUxzN3drS0ZQWm42ZXZpdTJkQ0wySFhTdE51VGRaUCtRb0ZhejlWUU9WL2pCRmp2clVqbHl6NWZxS2JQT2FCSTJIZFlFSENHREE9PSIsInQiOiJMRldVajUxVFVObjR1Q0J4Rjh3N0lxWk9sbVBWRVZMOGgzeTR6R2ZLK1prclozMW5oZ0FoV3BKS1dLMWNkOVEzYXlxdDVaTTRjdzU0RnFrcWtSaHRoZz09In0=
[14738:775:0326/152835.353616:INFO:redeem_token.cc(125)]   Body: {"blindedPaymentToken":"rHSY2EVgpny/gb70lCP/rcU5KftQUdEyFwCyPQI9clc=","channelId":"nordpass.io","creativeInstanceId":"29a981a3-e383-4eec-99b5-3f7014f0563e","payload":{},"type":"view"}
[14738:775:0326/152835.353625:INFO:redeem_token.cc(128)]   Headers:
[14738:775:0326/152835.353643:INFO:redeem_token.cc(130)]     accept: application/json
[14738:775:0326/152835.353650:INFO:redeem_token.cc(134)]   Content_type: application/json
[14738:775:0326/152835.353669:INFO:refill_tokens.cc(50)] Refill
[14738:775:0326/152835.353677:INFO:refill_tokens.cc(75)] RequestSignedTokens
[14738:775:0326/152835.353683:INFO:refill_tokens.cc(78)] No need to refill tokens as we already have 49 unblinded tokens which is above the minimum threshold of 20
[14739:775:0326/152835.367091:INFO:client.cc(668)] Successfully saved client state
[14738:775:0326/152835.372953:INFO:confirmations_impl.cc(759)] Successfully saved confirmations state
[14739:775:0326/152835.378672:INFO:client.cc(668)] Successfully saved client state
[14739:775:0326/152835.389418:INFO:client.cc(668)] Successfully saved client state
[14739:775:0326/152835.400459:INFO:client.cc(668)] Successfully saved client state
[14739:775:0326/152835.411617:INFO:ad_notifications.cc(310)] Successfully saved notifications state
[14739:775:0326/152835.422200:INFO:client.cc(668)] Successfully saved client state
[14738:775:0326/152839.655081:INFO:confirmations_impl.cc(1141)] Confirm ad:
  creativeInstanceId: 29a981a3-e383-4eec-99b5-3f7014f0563e
  creativeSetId: 45907430-e1bb-4bc6-8f8c-97250df1db29
  category: arts & entertainment
  targetUrl: https://go.nordpass.io/aff_c?offer_id=488&aff_id=37472&url_id=9356
  confirmationType: click
[14738:775:0326/152839.655144:INFO:redeem_token.cc(59)] Redeem
[14738:775:0326/152839.655187:INFO:confirmations_impl.cc(743)] Saving confirmations state
[14738:775:0326/152839.655964:INFO:redeem_token.cc(109)] CreateConfirmation
[14738:775:0326/152839.656008:INFO:redeem_token.cc(111)] POST /v1/confirmation/{confirmation_id}/{credential}
[14738:775:0326/152839.656017:INFO:redeem_token.cc(114)] URL Request:
[14738:775:0326/152839.656026:INFO:redeem_token.cc(117)]   URL: https://ads-serve.brave.com/v1/confirmation/bec94720-db00-4453-8268-5e2aa3ceb444/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwiZ2svSk5GTHRmcHU2Sk8zZEJ4Nys5K3d0QXpFdmhGWXR4Y0ljWWo0U0VSYz1cIixcImNoYW5uZWxJZFwiOlwibm9yZHBhc3MuaW9cIixcImNyZWF0aXZlSW5zdGFuY2VJZFwiOlwiMjlhOTgxYTMtZTM4My00ZWVjLTk5YjUtM2Y3MDE0ZjA1NjNlXCIsXCJwYXlsb2FkXCI6e30sXCJ0eXBlXCI6XCJjbGlja1wifSIsInNpZ25hdHVyZSI6Im1reHJUWGxmNVRpR25FSVpKMzV4UzBMTlpQbUpSajZidHVUMUNyVi94Ny9QcE14a0FwSVRoVHJzWllYaHpLMkhxYWxrS3p1MzVYSWwxWndKajJaZ1JnPT0iLCJ0IjoiUzAzTWcva09qT09yc2pBdTlRRVYrbWo2NXluYlZDWGJNR0ZPMHIxcVVCcTNGWUlpZjB1Y1FZa1ZZTzFQbFNMaTlFYjNtNHlRMmgyL2x1S3BULzZFZ3c9PSJ9
[14738:775:0326/152839.656043:INFO:redeem_token.cc(125)]   Body: {"blindedPaymentToken":"gk/JNFLtfpu6JO3dBx7+9+wtAzEvhFYtxcIcYj4SERc=","channelId":"nordpass.io","creativeInstanceId":"29a981a3-e383-4eec-99b5-3f7014f0563e","payload":{},"type":"click"}
[14738:775:0326/152839.656053:INFO:redeem_token.cc(128)]   Headers:
[14738:775:0326/152839.656062:INFO:redeem_token.cc(130)]     accept: application/json
[14738:775:0326/152839.656084:INFO:redeem_token.cc(134)]   Content_type: application/json
[14738:775:0326/152839.656134:INFO:refill_tokens.cc(50)] Refill
[14738:775:0326/152839.656152:INFO:refill_tokens.cc(75)] RequestSignedTokens
[14738:775:0326/152839.656163:INFO:refill_tokens.cc(78)] No need to refill tokens as we already have 48 unblinded tokens which is above the minimum threshold of 20
[14739:775:0326/152839.669582:INFO:ad_notifications.cc(310)] Successfully saved notifications state
[14738:775:0326/152839.674192:INFO:confirmations_impl.cc(759)] Successfully saved confirmations state
[14739:775:0326/152839.679956:INFO:client.cc(668)] Successfully saved client state

Verification PASSED on macOS 10.15.3 x64 using the follownig build:

Brave | 1.8.43 Chromium: 81.0.4044.69 (Official Build) nightly (64-bit)
--- | ---
Revision | 6813546031a4bc83f717a2ef7cd4ac6ec1199132-refs/branch-heads/4044@{#776}
OS | macOS Version 10.15.3 (Build 19D76)

Ensured that "channelId": wasn't being used in the POST /v1/confirmation/{confirmation_id}/{credential} calls as per the following:

[14915:775:0326/155350.765058:INFO:confirmations_impl.cc(1141)] Confirm ad:
  creativeInstanceId: 42b66e18-dc36-46f6-85ee-7c27a69413d2
  creativeSetId: 5796c957-c494-4e95-b2f0-b6b7f138b7e8
  category: arts & entertainment
  targetUrl: https://track.fiverr.com/visit/?bta=75548&nci=6969
  confirmationType: view
[14915:775:0326/155350.765080:INFO:redeem_token.cc(57)] Redeem
[14915:775:0326/155350.765097:INFO:confirmations_impl.cc(743)] Saving confirmations state
[14916:775:0326/155350.775083:INFO:client.cc(668)] Successfully saved client state
[14916:775:0326/155350.795229:INFO:client.cc(668)] Successfully saved client state
[14915:775:0326/155350.795826:INFO:redeem_token.cc(107)] CreateConfirmation
[14915:775:0326/155350.795853:INFO:redeem_token.cc(109)] POST /v1/confirmation/{confirmation_id}/{credential}
[14915:775:0326/155350.795864:INFO:redeem_token.cc(112)] URL Request:
[14915:775:0326/155350.795874:INFO:redeem_token.cc(115)]   URL: https://ads-serve.brave.com/v1/confirmation/8855ea10-4181-43d1-963a-11fc14c7ada8/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwib0ZCQ3kyamJwMk5EeVNXWkxudlkyZWVPWkdJeXBQMmVNSnFaUVAzTFdRZz1cIixcImNyZWF0aXZlSW5zdGFuY2VJZFwiOlwiNDJiNjZlMTgtZGMzNi00NmY2LTg1ZWUtN2MyN2E2OTQxM2QyXCIsXCJwYXlsb2FkXCI6e30sXCJ0eXBlXCI6XCJ2aWV3XCJ9Iiwic2lnbmF0dXJlIjoiZldHS1loalZrdFFnRWxhYXBZSU9vMDhaY2pHL0NxVHV3eUtyYm5nNlBnMmtTUkx5VEN0K1NKdGFsRS9VMGFZTk1DdElEdWxvMWwwamtEbFFjY2EweGc9PSIsInQiOiIxaFY0Y0k5VjJaakZTTW9VNmFrQlovYm1LbEhjUEg0ckdqcHEvNlJ2dDdiRXRjRmJUbEEwQkE1aWhMMkpiandpSDdicXNHMzR1VXNOd3lSaEFNb1Y3UT09In0=
[14915:775:0326/155350.795893:INFO:redeem_token.cc(123)]   Body: {"blindedPaymentToken":"oFBCy2jbp2NDySWZLnvY2eeOZGIypP2eMJqZQP3LWQg=","creativeInstanceId":"42b66e18-dc36-46f6-85ee-7c27a69413d2","payload":{},"type":"view"}
[14915:775:0326/155350.795903:INFO:redeem_token.cc(126)]   Headers:
[14915:775:0326/155350.795911:INFO:redeem_token.cc(128)]     accept: application/json
[14915:775:0326/155350.795919:INFO:redeem_token.cc(132)]   Content_type: application/json
[14915:775:0326/155350.795967:INFO:refill_tokens.cc(50)] Refill
[14915:775:0326/155350.795982:INFO:refill_tokens.cc(75)] RequestSignedTokens
[14915:775:0326/155350.795990:INFO:refill_tokens.cc(78)] No need to refill tokens as we already have 49 unblinded tokens which is above the minimum threshold of 20
[14916:775:0326/155350.801073:INFO:client.cc(668)] Successfully saved client state
[14915:775:0326/155350.806820:INFO:confirmations_impl.cc(759)] Successfully saved confirmations state
[14916:775:0326/155350.812226:INFO:client.cc(668)] Successfully saved client state
[14916:775:0326/155350.822792:INFO:ad_notifications.cc(310)] Successfully saved notifications state
[14915:775:0326/155354.116328:INFO:confirmations_impl.cc(1141)] Confirm ad:
  creativeInstanceId: 42b66e18-dc36-46f6-85ee-7c27a69413d2
  creativeSetId: 5796c957-c494-4e95-b2f0-b6b7f138b7e8
  category: arts & entertainment
  targetUrl: https://track.fiverr.com/visit/?bta=75548&nci=6969
  confirmationType: click
[14915:775:0326/155354.116354:INFO:redeem_token.cc(57)] Redeem
[14915:775:0326/155354.116371:INFO:confirmations_impl.cc(743)] Saving confirmations state
[14915:775:0326/155354.116840:INFO:redeem_token.cc(107)] CreateConfirmation
[14915:775:0326/155354.116860:INFO:redeem_token.cc(109)] POST /v1/confirmation/{confirmation_id}/{credential}
[14915:775:0326/155354.116872:INFO:redeem_token.cc(112)] URL Request:
[14915:775:0326/155354.116881:INFO:redeem_token.cc(115)]   URL: https://ads-serve.brave.com/v1/confirmation/13d77ef9-fa21-4d02-b062-618a0bcf9130/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwiRmpRa1pyMS9EZjlWZVNJa0NheHJ6ZVkzTGloV1ljT0Jnc2FreCthbnJ3ND1cIixcImNyZWF0aXZlSW5zdGFuY2VJZFwiOlwiNDJiNjZlMTgtZGMzNi00NmY2LTg1ZWUtN2MyN2E2OTQxM2QyXCIsXCJwYXlsb2FkXCI6e30sXCJ0eXBlXCI6XCJjbGlja1wifSIsInNpZ25hdHVyZSI6InFzUjVDZ2xzSjJ4NmFDVWl0ZVVNTjVMRU1TQWphRWlCOUt2dzBjZ1QxTXNFSkFvajhKc3BvMmNFQzlrYW9YWkM3ZE03NjNJeDd2SVZIdDZhQlp0QnFnPT0iLCJ0IjoiNHExQTdicEZ3Tm9nY1hIQ1RSRDgxVkhNVi95dXEzWGVxYVhybS9oc01uU3lua0M0ekVqWEdIZXBJbzhpMGNkZmhTdWZralVCTW5xazJreFpUZHl3dXc9PSJ9
[14915:775:0326/155354.116896:INFO:redeem_token.cc(123)]   Body: {"blindedPaymentToken":"FjQkZr1/Df9VeSIkCaxrzeY3LihWYcOBgsakx+anrw4=","creativeInstanceId":"42b66e18-dc36-46f6-85ee-7c27a69413d2","payload":{},"type":"click"}
[14915:775:0326/155354.116906:INFO:redeem_token.cc(126)]   Headers:
[14915:775:0326/155354.116913:INFO:redeem_token.cc(128)]     accept: application/json
[14915:775:0326/155354.116920:INFO:redeem_token.cc(132)]   Content_type: application/json
[14915:775:0326/155354.116942:INFO:refill_tokens.cc(50)] Refill
[14915:775:0326/155354.116953:INFO:refill_tokens.cc(75)] RequestSignedTokens
[14915:775:0326/155354.116961:INFO:refill_tokens.cc(78)] No need to refill tokens as we already have 48 unblinded tokens which is above the minimum threshold of 20
[14915:775:0326/155407.251497:INFO:confirmations_impl.cc(1141)] Confirm ad:
  creativeInstanceId: 42b66e18-dc36-46f6-85ee-7c27a69413d2
  creativeSetId: 5796c957-c494-4e95-b2f0-b6b7f138b7e8
  category: arts & entertainment
  targetUrl: https://track.fiverr.com/visit/?bta=75548&nci=6969
  confirmationType: landed
[14915:775:0326/155407.251542:INFO:redeem_token.cc(57)] Redeem
[14915:775:0326/155407.251571:INFO:confirmations_impl.cc(743)] Saving confirmations state
[14915:775:0326/155407.252307:INFO:redeem_token.cc(107)] CreateConfirmation
[14915:775:0326/155407.252337:INFO:redeem_token.cc(109)] POST /v1/confirmation/{confirmation_id}/{credential}
[14915:775:0326/155407.252353:INFO:redeem_token.cc(112)] URL Request:
[14915:775:0326/155407.252369:INFO:redeem_token.cc(115)]   URL: https://ads-serve.brave.com/v1/confirmation/0c913656-d1b9-4f70-a1c2-89742174a992/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwiVGhXNDRTWlRlK1dlY2ZuOUMremR6N3phbU9uZlFncW1xTnAxSWtmMC9HQT1cIixcImNyZWF0aXZlSW5zdGFuY2VJZFwiOlwiNDJiNjZlMTgtZGMzNi00NmY2LTg1ZWUtN2MyN2E2OTQxM2QyXCIsXCJwYXlsb2FkXCI6e30sXCJ0eXBlXCI6XCJsYW5kZWRcIn0iLCJzaWduYXR1cmUiOiJNeWZUYTYvL1p5WGNvSGhOdVc0cWVZQ1ptbmFvQi8xZm1reVB1cVEwRnNoWGNXRkpjUWk3TU1FVEU5OVZpQVlXMzRDb2gwZWVLM2xKU0dlVnlmRDNzQT09IiwidCI6Ik1WUFlwamFGTlFpTCtlUVdVU3hVU2JVcDlCVWc3UE8xSlVEdFZxUzhRbnJiQWFoMzNoQkQ0Ukw0cW01SHo1b09LV3JSM0QzdklRNUg4anp5ZU1ML1hRPT0ifQ==
[14915:775:0326/155407.252396:INFO:redeem_token.cc(123)]   Body: {"blindedPaymentToken":"ThW44SZTe+Wecfn9C+zdz7zamOnfQgqmqNp1Ikf0/GA=","creativeInstanceId":"42b66e18-dc36-46f6-85ee-7c27a69413d2","payload":{},"type":"landed"}
[14915:775:0326/155407.252413:INFO:redeem_token.cc(126)]   Headers:
[14915:775:0326/155407.252431:INFO:redeem_token.cc(128)]     accept: application/json
[14915:775:0326/155407.252443:INFO:redeem_token.cc(132)]   Content_type: application/json
[14915:775:0326/155407.252485:INFO:refill_tokens.cc(50)] Refill
[14915:775:0326/155407.252503:INFO:refill_tokens.cc(75)] RequestSignedTokens
[14915:775:0326/155407.252516:INFO:refill_tokens.cc(78)] No need to refill tokens as we already have 47 unblinded tokens which is above the minimum threshold of 20
[14915:775:0326/155407.264802:INFO:confirmations_impl.cc(759)] Successfully saved confirmations state
[14915:775:0326/155407.459996:INFO:redeem_token.cc(177)] OnCreateConfirmation
[15139:775:0326/164001.756835:INFO:confirmations_impl.cc(1141)] Confirm ad:
  creativeInstanceId: 9cc98c0e-a3bd-4b90-89b6-5f4e625fa1d2
  creativeSetId: 8afb0d3f-02a0-454e-81b2-8d713d2930e0
  category: hobbies & interests
  targetUrl: https://app.coinberry.com/users/sign_up?utm_source=affiliate&utm_campaign=agKQysmXyAVGKvue4JJd
  confirmationType: dismiss
[15139:775:0326/164001.756861:INFO:redeem_token.cc(57)] Redeem
[15139:775:0326/164001.756878:INFO:confirmations_impl.cc(743)] Saving confirmations state
[15139:775:0326/164001.757351:INFO:redeem_token.cc(107)] CreateConfirmation
[15139:775:0326/164001.757374:INFO:redeem_token.cc(109)] POST /v1/confirmation/{confirmation_id}/{credential}
[15139:775:0326/164001.757387:INFO:redeem_token.cc(112)] URL Request:
[15139:775:0326/164001.757396:INFO:redeem_token.cc(115)]   URL: https://ads-serve.brave.com/v1/confirmation/38a55bf6-75ac-4cd1-a28c-7d26632f0354/eyJwYXlsb2FkIjoie1wiYmxpbmRlZFBheW1lbnRUb2tlblwiOlwidE53dW90alRKZml0MU0yTVlZRjdDeWV4ckJDY29kZDcrZGZQdkQwN1Z3ST1cIixcImNyZWF0aXZlSW5zdGFuY2VJZFwiOlwiOWNjOThjMGUtYTNiZC00YjkwLTg5YjYtNWY0ZTYyNWZhMWQyXCIsXCJwYXlsb2FkXCI6e30sXCJ0eXBlXCI6XCJkaXNtaXNzXCJ9Iiwic2lnbmF0dXJlIjoid1NiOC9BeVZncFRvamFaNThqdW5ZRjlDblVPSXdiVXAwdndYRGwyNjFLYndvTnNpZnVubWE2eXJ2TDJkcnVFUmZudjl2U3Z2M2VmeldUeEZ1TkFFNFE9PSIsInQiOiJZcEh4K05uZno3TVpKbjFqUm5tUEptZ0RwWTFMS0FJRHo2M1JtN2EvR2RYejBZeVBJaUw0VjlOZmFIYTE4d1hsN1JUcTgxQzBzd3pZTTlDVDlFWWRiZz09In0=
[15139:775:0326/164001.757412:INFO:redeem_token.cc(123)]   Body: {"blindedPaymentToken":"tNwuotjTJfit1M2MYYF7CyexrBCcodd7+dfPvD07VwI=","creativeInstanceId":"9cc98c0e-a3bd-4b90-89b6-5f4e625fa1d2","payload":{},"type":"dismiss"}
[15139:775:0326/164001.757421:INFO:redeem_token.cc(126)]   Headers:
[15139:775:0326/164001.757450:INFO:redeem_token.cc(128)]     accept: application/json
[15139:775:0326/164001.757471:INFO:redeem_token.cc(132)]   Content_type: application/json
[15139:775:0326/164001.757505:INFO:refill_tokens.cc(50)] Refill
[15139:775:0326/164001.757536:INFO:refill_tokens.cc(75)] RequestSignedTokens
[15139:775:0326/164001.757559:INFO:refill_tokens.cc(78)] No need to refill tokens as we already have 47 unblinded tokens which is above the minimum threshold of 20
  • ensured that ads were being displayed every ~12min when Maximum number of ads displayed was set to 5 ads per hour
  • ensured Ad notifications received this month was correctly being incremented
  • ensured that ads are being added into the 7-day Ads History without any issues
  • ensured that view, clicked, landed, dismiss all worked as expected and "channelId": wasn't being used

Screen Shot 2020-03-26 at 5 12 47 PM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Remove publisher channel id containing landing TLD+1 for ad notification confirmations
3 participants