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

[WIP] Staging branch for IAF work #225

Draft
wants to merge 21 commits into
base: master
Choose a base branch
from
Draft

[WIP] Staging branch for IAF work #225

wants to merge 21 commits into from

Conversation

evan-masseau
Copy link
Contributor

@evan-masseau evan-masseau commented Feb 21, 2025

Description

Feature branch for IAF work

Check List

  • Are you changing anything with the public API?
  • Are your changes backwards compatible with previous SDK Versions?
  • Have you tested this change on real device?
  • Have you added unit test coverage for your changes?
  • Have you verified that your changes are compatible with all Android versions the SDK currently supports?

Changelog / Code Overview

Test Plan

Related Issues/Tickets

@@ -95,6 +95,9 @@ object KlaviyoConfig : Config {

override var baseUrl: String = BuildConfig.KLAVIYO_SERVER_URL
private set

override var baseCdnUrl: String = BuildConfig.KLAVIYO_CDN_URL
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO: add to config builder to test app can set it.

@evan-masseau evan-masseau mentioned this pull request Feb 24, 2025
5 tasks
dan-peluso and others added 21 commits February 24, 2025 15:57
* Initial messaging module with webview dependency

* Revert "Remove sample app from the repo, we'll just revert this commit to continue work on it later. (#46)"

This reverts commit da1be69.

* catch sample app up

* Migrate sample to refreshVersions

* Simple update to the sample code

* Basic ability to add a webview to a provided Activity

* Can't use this till google services file is added!

* Implemented javascript bridge using newer android webview APIs and fallback older methods.
Added bridge JS file that facilitates communication between webview/native, including detecting when all image tags have finished loading.

* readability

* commenting and cleanup

* Native close button

* Buncha progress on sample app

* Add an actual view for interactivity

* Inject Klaviyo Forms and Hook into Requests

* making webview visible

* deleting sample app (adding to test app)

* pr comments

* trying to remove code I think was only relevant for sample app

* remove user agent string from webview

* making user agent property public in DeviceProperties

---------

Co-authored-by: Evan Masseau <>
Co-authored-by: kennyklaviyo <[email protected]>
* creating new request and logging response

* adding log before request enqueues
…ode (#207)

* removing unused bridge code and updating for local development

* Commit TODOs

* thx evan

---------

Co-authored-by: Evan C Masseau <[email protected]>
* [CHNL-16653] Enqueue Profile Events

* add exception to the mapper function run

* pr comments
* support for aggregate events endpoint

* support mapping and unit test

* pr comments
* support mapping and unit test

* supporting deeplinks and weak activity ref in the webview

* pr comments
* Inject native bridge handshake data

* Use string substitution for klaviyo.js script tag. Move base URL of klaviyo.js to a config (paves the way for test app to be able to set it)

* Implement a basic abort event whynot

* Not a test anymore :D

---------

Co-authored-by: Evan Masseau <>
* single webview

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

Successfully merging this pull request may close these issues.

2 participants