Hi , I am integrating snowplow into a React Native project , I have the initialization setup but cannot see any network requests or data on our servers.
This is what I am using now to initialize
Tracker.initialize({
endpoint: Config.SNOWPLOW_ENDPOINT,
namespace: RN_${Config.SNOWPLOW_APPID}
,
appId: ${Config.SNOWPLOW_APPID}_${Platform.OS}
,
});
@Lori_Azerrad are you calling any track
methods? Can you share how those have been called?
Yes @Colm
Tracker.trackStructuredEvent({
category: trackProps.category,
action: trackProps.action,
label: trackProps.label,
property: trackProps.property, /// this is not sent in screen views
value: trackProps.value,
});
OK, nothing looks wrong with the tracking instrumentation there.
Next steps are to double-check that the collector endpoint is correct, and to check whether the data is going to bad rows (either on a full pipeline or using Snowplow Mini).
It might also be useful to build the provided demo app using your test endpoint, and work backwards from there.
I am pretty new to this and am connecting to an existing implementation that is currently being used by our native apps and works
Can you direct me a 'how to" check bad rows , sp is visualized in kibanna
Sure - you can find lots of information in the documentation on failed events - I used the term ‘bad rows’ here but actually the newer resources call it ‘failed events’. The two are interchangeable terms.
As for where to find bad rows for your production pipeline - this is going to depend on your particular setup. If the bad stream isn’t being fed to Kibana it won’t be there, it will likely be somewhere else (eg. S3). But if you’re referring to a production pipeline it won’t be easy to debug a tracking setup.
I definitely recommend using either Snowplow Micro or Snowplow Mini to test, it’ll simplify the process of setting up tracking a lot. It’s worth checking if your organisation already has a Mini instance running, but alternatively Micro can be set up locally relatively easily.
We have snowplow mini setup
I sent an event from the mini and see it in kibana.
A quick question endpoint: ‘my-endpoint.com’,
will the my-endpoint.com have a http prefix?
No, leave the prefix out. That’s determined by the protocol
option in initialize
parameters - defaults to https.
If you did include it, or if you left it to the default but somewhere along the chain https isn’t allowed, then the events would fail to be sent and would remain queued - so you wouldn’t find the events on the other side. So that sounds like a likely explanation.
I see event’s thank you!!
- RN does not support http calls. So snowplow endpoint must have an ssl certificate ( This was my problem)
- Http prefix is not needed in endpoint
- You can see the network calls with data you sent in flipper in debug mode on ios simulator