brave / brave-ios

Brave iOS Browser
https://brave.com
Mozilla Public License 2.0
1.7k stars 441 forks source link

Ad notification clicked event is not triggered on iOS #8619

Closed aseren closed 8 months ago

aseren commented 8 months ago

Description:

The clicked event is not sent when opening a notification ad.

Steps to Reproduce

  1. Trigger notificaiton ad
  2. Tap notification ad

Actual result:

The clicked event is not triggered.

Expected result:

The clicked event is triggered.

Reproduces how often: [Easily reproduced, Intermittent Issue]

Easily reproduced.

Brave Version:

Device details:

Website problems only:

Additional Information

aseren commented 8 months ago

cc @iambrianfung @tmancey @tackley

kjozwiak commented 8 months ago

@Uni-verse @hffvld we should check iOS 17, iOS 16 & iOS 15 to ensure the above is working on all supported iOS versions.

Uni-verse commented 8 months ago

Verified on iPhone X running iOS 16.7 using version 1.61.1 (24.1.4.20)

Test Steps:

  1. Fresh profile
  2. Set vmodule to */brave_ads/*=6
  3. Restart browser
  4. Enable Rewards
  5. Click on Ad Notification
  6. Stay on landing page for 10 secs (landed confirmation)
  7. Click on News Inline Ad
  8. Stay on landing page for 10 secs.
  9. Click on New Tab Page Ad when presented
  10. Stay on landing page for 10 secs
  11. Once some events have been processed, kill browser and move system time 24 hours ahead and then relaunch browser.
  12. Monitor logs for payment token redemption
  13. Also swipe-to-dismiss next Ad Notification
Ad Notifications _View_ ![Screenshot 2024-01-05 at 1 35 27 PM](https://github.com/brave/brave-ios/assets/17885425/027dcb23-0887-460a-b234-1e548de50850) _Click_ ![Screenshot 2024-01-05 at 11 42 36 AM](https://github.com/brave/brave-ios/assets/17885425/3890762b-a5f8-43b3-a5a7-a9d1cb7211fc) _Landed_ ![Screenshot 2024-01-05 at 11 43 21 AM](https://github.com/brave/brave-ios/assets/17885425/52b84a3a-be22-4f19-8251-386b6eaa6ce2) _Dismiss_ ![Screenshot 2024-01-05 at 12 11 47 PM](https://github.com/brave/brave-ios/assets/17885425/17ec1093-9da2-4db7-8e8e-a5c5d6ba02ad)
NTP Ads _View_ ![Screenshot 2024-01-05 at 1 34 15 PM](https://github.com/brave/brave-ios/assets/17885425/1e3856c2-e223-4ccb-86e7-65c299692327) _Click_ ![Screenshot 2024-01-05 at 1 34 35 PM](https://github.com/brave/brave-ios/assets/17885425/02342583-cec1-451b-8124-3050921245c2) _Landed_ ![Screenshot 2024-01-05 at 1 34 45 PM](https://github.com/brave/brave-ios/assets/17885425/f645a726-734f-4f3f-b0dd-47f5a1af4948)
Inline Ads _View_ ![Screenshot 2024-01-05 at 11 34 17 AM](https://github.com/brave/brave-ios/assets/17885425/042e34eb-e6b7-45ab-b118-478c15e69248) _Click_ ![Screenshot 2024-01-05 at 11 34 48 AM](https://github.com/brave/brave-ios/assets/17885425/fb0f2791-eee4-4c85-9b30-74a715e52115) _Landed_ ![Screenshot 2024-01-05 at 11 35 17 AM](https://github.com/brave/brave-ios/assets/17885425/ae2aecc6-3472-4087-afa1-c8dc33dc080e)
Redeem Payment ![Screenshot 2024-01-05 at 12 14 14 PM](https://github.com/brave/brave-ios/assets/17885425/93970f45-17d4-432c-8906-103247c47506)
Uni-verse commented 8 months ago

Verified on iPhone XR running iOS 15.5 using version 1.61.1 (24.1.4.20)

Test Steps:

  1. Fresh profile
  2. Set vmodule to */brave_ads/*=6
  3. Restart browser
  4. Enable Rewards
  5. Click on Ad Notification
  6. Stay on landing page for 10 secs (landed confirmation)
  7. Click on News Inline Ad
  8. Stay on landing page for 10 secs.
  9. Click on New Tab Page Ad when presented
  10. Stay on landing page for 10 secs
  11. Once some events have been processed, kill browser and move system time 24 hours ahead and then relaunch browser.
  12. Monitor logs for payment token redemption
  13. Also swipe-to-dismiss next Ad Notification
Ad Notifications _View_ ![Screenshot 2024-01-05 at 2 23 54 PM](https://github.com/brave/brave-ios/assets/17885425/d5331fbe-cf77-427d-93d1-33373503e744) _Click_ ![Screenshot 2024-01-05 at 2 23 43 PM](https://github.com/brave/brave-ios/assets/17885425/9332fdec-676f-4ce1-a8f8-d9dc0e05f20f) _Landed_ ![Screenshot 2024-01-05 at 2 24 02 PM](https://github.com/brave/brave-ios/assets/17885425/065d309e-4b27-48e1-be50-c5bbd340dd24) _Dismiss_ ![Screenshot 2024-01-05 at 2 32 46 PM](https://github.com/brave/brave-ios/assets/17885425/dbc092db-bd32-4dd2-ad6c-ad03763cd77e)
NTP Ads _View_ ![Screenshot 2024-01-05 at 2 33 05 PM](https://github.com/brave/brave-ios/assets/17885425/1e76baa2-4ee3-4173-ab65-2f9ec68ba2f1) _Click_ ![Screenshot 2024-01-05 at 2 33 20 PM](https://github.com/brave/brave-ios/assets/17885425/5b1ff83f-4102-47ba-b67d-673a2b8b0a5e) _Landed_ ![Screenshot 2024-01-05 at 2 33 32 PM](https://github.com/brave/brave-ios/assets/17885425/8eb89a30-368f-4e24-a9fb-5bfc2b57d618)
Inline Ads _View_ ![Screenshot 2024-01-05 at 2 22 01 PM](https://github.com/brave/brave-ios/assets/17885425/48b7f583-f519-47b0-8b19-aece27b70a0e) _Click_ ![Screenshot 2024-01-05 at 2 22 13 PM](https://github.com/brave/brave-ios/assets/17885425/8d9f1b8a-6bd5-4949-9514-d92a318e7e6c) _Landed_ ![Screenshot 2024-01-05 at 2 22 29 PM](https://github.com/brave/brave-ios/assets/17885425/a23d35e1-cfce-4a8a-8d21-4fad45f5e36b)
Redeem Payment ![Screenshot 2024-01-05 at 3 00 56 PM](https://github.com/brave/brave-ios/assets/17885425/79e3ce97-f038-450d-955b-b5720fcebb4d)
hffvld commented 8 months ago

Verified on iPhone 14 using version(s):

Device/OS: iPhone 14 / iOS 17.3
Brave build: 1.61.1 (24.1.4.20)
BraveCore: 1.61.102 (120.0.6099.71)

STEPS:

  1. Fresh profile
  2. Set vmodule to */brave_ads/*=6
  3. Restart browser
  4. Enable Rewards
  5. Click on Ad Notification
  6. Stay on a landing page for 10 sec (landed confirmation)
  7. Click on News Inline Ad
  8. Stay on a landing page for 10 sec
  9. Click on New Tab Page Ad when presented
  10. Stay on a landing page for 10 sec
  11. Once some events have been processed, kill the browser, move system time 24 hours ahead, and then relaunch the browser
  12. Monitor logs for payment token redemption
  13. Also swipe-to-dismiss next Ad Notification

ACTUAL RESULTS:


Ad notification

1 2
1 2

Inline ad

1
1

NTP ad

1
1

Payment token redemption

1
1