Appsflyer Request: Delayed start
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 45/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- react-native, typescript
- Domain
- mobile-dev
Research direction
Start by locating the AppsflyerPlugin implementation and tracing how initSdk and startSdk are invoked when the plugin is added. Check the plugin lifecycle and existing tests, if present, then define and verify behavior where initialization remains available but starting waits until consent is supplied.
Written by the indexing model from the issue text.
Description
Hi we are ensuring our app & data pipeline adheres to GDPR. That means that we have implemented a CMP to collect consent, then we add the consent object to each segment event, no problem!
We've ran into an issue with Appsflyer, because it doesn't send it's data via Segment in the cloud, it sends data directly from the device with it's own SDK, and then tells Segment it happened, which fires an event.
We'd like appsFlyer.startSdk(); to be called after we have shown the CMP and obtained the users consent, so we can set the consent (with appsFlyer.setConsentData()). The init: appsFlyer.initSdk can still be called when we add the plugin.
We are doing this:
const segmentClient = createClient({...etc})
segmentClient.add({ plugin: new AppsflyerPlugin() });
Now, as it stands, the AppsflyerPlugin inits and starts Appsflyer. What is the best way for me to keep the init, but delay the start of Appsflyer? I can't add a consent param to the constructor, because I don't know the consent yet.
Do I just edit the code for the plugin to add this consent param, and if it's not given, only init, then remove + re-add the plugin later when consent is given? This is the main thing I can think of atm.
Hope this makes sense. Thanks.
- Dominant language
- TypeScript
- Stars
- 383
- Forks
- 206
- Avg merge
- 14h 45m
- Merged PRs (30d)
- 11
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from segmentio/analytics-react-native
-
bug investigate
Difficulty 1/5 Under an hour Newbie friendliness 72/100
segmentio/analytics-react-native#1145 ·
-
enhancement
Difficulty 4/5 3-5 days Newbie friendliness 68/100
segmentio/analytics-react-native#1328 ·
-
bug investigate
Difficulty 3/5 1-2 days Newbie friendliness 78/100
segmentio/analytics-react-native#1309 ·
-
enhancement
Difficulty 3/5 1-2 days Newbie friendliness 48/100
segmentio/analytics-react-native#1114 ·
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 55/100
segmentio/analytics-react-native#1109 ·
All issues in segmentio/analytics-react-native
Similar issues
-
clawsweeper:fix-shape-clear clawsweeper:queueable-fix clawsweeper:source-repro impact:ux-friction issue-rating: 🦞 diamond lobster no-stale P3
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficulty 1/5 Under an hour Newbie friendliness 76/100
-
code-quality refactoring
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
github/gh-aw-firewall#8816 ·
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
langchain-ai/deepagents#6450 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
vercel/react-tweet#225 ·