What's the difference with Pinpoint connected to Kinesis vs. mobile app directly streaming to Kinesis?
H

1

6

I'm researching AWS services related to mobile analytics as we are using AWS as our backend infra and now would like to understand how to best utilize Pinpoint and/or Kinesis to end up with events stored in S3 for later analytics.

Pinpoint offers analytics and has some standard events as well as custom events. These have a retention of 90 days, but allows connecting with Kinesis for indefinite storage of events: https://docs.aws.amazon.com/pinpoint/latest/userguide/analytics-streaming.html

This sounds good.

I also see on the website for AWS Amplify that analytics can be done with Pinpoint and Kinesis: https://aws-amplify.github.io/docs/ios/analytics#analytics

What is not clear if analytics can be done without Pinpoint too and how that looks like? It seems it simply gives the possibility to send any data from mobile to a Kinesis stream, not analytics. Correct?

I would expect that if one uses Pinpoint to collect events both standard and custom it would already optimally do all what is described for Kinesis how to optimize for performance and battery. Hence, if using Pinpoint connected (in Pinpoint settings) with Kinesis this is all provided so no direct connection with Kinesis from mobile is needed. Correct?

If someone has in-depth insight into this or relevant experience I would be happy if you share it as it's not clear what to exactly expect. Thanks!

Hoodlum answered 26/3, 2019 at 10:44 Comment(0)
G
4

From my research it seems like streaming directly to Kinesis is more of a manual approach, for javascript at least, it shows integrating kinesis to your code by manually including what data you want to send, which is to say for every event that you do Analytics.record() on, you can include the button they pressed or other information that you query perhaps. There isn't much documentation for how to actually use this approach, besides the most basic barebones skeleton code which says where to include your data. (https://docs.amplify.aws/lib/analytics/streaming/q/platform/js)

With Pinpoint on the other hand, there seems to be a lot more structure with fields for name, attributes, etc. I would imagine this is possible to do with Kinesis manually, but formatting it and getting all of the data to format nicely and make sense might be more difficult.

I think the main advantage to Pinpoint is the structure it imposes on the data and ease of use. There seems to be more documentation on how to export data from Pinpoint to Kinesis and using it down the line with other AWS services. Don't have a definitive answer as to which is best yet but it seems like pinpoint is the easier, less error prone way to go (but at a cost, as you have to pay for another service that you could in principle cut out if you were willing to configure everything yourself)

Graphology answered 16/6, 2020 at 23:46 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.