question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Project Issue: Tracks Implementation

See original GitHub issue

Description

Implement analytics using Tracks in the app. See https://github.com/Automattic/pocket-casts-ios/issues/154 for the iOS work on this.

Tasks

Setup

Add Analytics

Predefined Events @ashiagr (https://github.com/Automattic/pocket-casts-android/pull/273)

  • plus_has_subscription: Whether the user has a plus subscription
  • plus_has_lifetime: if they’re a lifetime plus member
  • plus_subscription_type: Their subscription type: none, plus, or supporter
  • plus_subscription_platform: The platform they subscribed to plus on: none, ios, android, web, gift
  • plus_subscription_frequency: Their renewal frequency: none, monthly, yearly

is_rtl_language is not required to be added as it is already added by the TracksClient as device_info_is_rtl_language.

App Lifecycle Events @ashiagr (https://github.com/Automattic/pocket-casts-android/pull/270)

  • application_installed: When a user launch the app for the very first time
  • application_opened: When a user launches or foregrounds the app after the first open
  • application_updated: When the app launches for the first time after installing a new version
  • application_closed: When the the app is put into the background

User lifecycle events @mchowning (https://github.com/Automattic/pocket-casts-android/pull/276)

  • user_signed_in: When the user successfully signs into the app using existing credentials
  • user_signin_failed: When the user fails to login
  • user_signed_out: When the user is signed out of the app
  • user_account_deleted: When the user taps the delete account button/link and successfully deletes their account
  • user_email_updated: When the user successfully changes their email
  • user_password_updated: When the user successfully changes their password
  • user_password_reset: When the user successfully resets their password using the forgot password form
  • user_account_created
  • user_account_creation_failed

Newsletter @ashiagr (https://github.com/Automattic/pocket-casts-android/pull/288)

  • newsletter_optin_changed: When the user changes their newsletter opt in status. enabled: [true, false], source: [account_updated, profile]

Setup Account View Events @ashiagr (https://github.com/Automattic/pocket-casts-android/pull/275)

  • setup_account_shown: When the user is presented with whether they would like to create an account or sign in
  • setup_account_button_tapped: When the user taps one of the buttons (create account, sign in)
  • setup_account_dismissed: If the user taps the X button to dismiss the view

Sign in View Events @ashiagr (https://github.com/Automattic/pocket-casts-android/pull/275)

  • signin_shown: When the sign in view is displayed
  • signin_dismissed: When the sign in view is dismissed

Forgot Password View Events @ashiagr (https://github.com/Automattic/pocket-casts-android/pull/288)

  • forgot_password_shown: When the sign in view is displayed
  • forgot_password_dismissed: When the sign in view is dismissed

Select Account Type @ashiagr (https://github.com/Automattic/pocket-casts-android/pull/275)

  • select_account_type_shown: When the select account type is displayed
  • select_account_type_button_tapped: When the next button is tapped, and which select the user made (regular, plus)

Create Account @ashiagr (https://github.com/Automattic/pocket-casts-android/pull/275)

  • create_account_shown: When the create account view is displayed
  • create_account_dismissed: When the create account view is dismissed

Account Updated View: A view that is displayed after creating an account, changing the email, password is changed, or after purchasing a plan @ashiagr (https://github.com/Automattic/pocket-casts-android/pull/288)

  • account_updated_shown: When the account created/updated view is displayed. source: [create_account, email_change, password_change, confirm_payment]
  • account_updated_dismissed: When the account created/updated view is dismissed

Terms of Use @ashiagr (https://github.com/Automattic/pocket-casts-android/pull/275)

  • terms_of_use_shown: The TOS view is displayed
  • terms_of_use_accepted: The user has tapped the I agree button
  • terms_of_use_rejected: The user has tapped No thanks button
  • terms_of_use_dismissed : The TOS view is dismissed

Select Payment Frequency @ashiagr (https://github.com/Automattic/pocket-casts-android/pull/275)

  • select_payment_frequency_shown: The payment frequency view is displayed
  • select_payment_frequency_dismissed: The payment frequency view is dismissed
  • select_payment_frequency_next_button_tapped: The next button is tapped. product: [monthly, yearly]

Confirm Payment @ashiagr (https://github.com/Automattic/pocket-casts-android/pull/275)

  • confirm_payment_shown: product: [monthly, yearly]
  • confirm_payment_dismissed: The confirm payment view is dismissed
  • confirm_payment_confirm_button_tapped: The confirm button is tapped

Purchase @mchowning (https://github.com/Automattic/pocket-casts-android/pull/282)

  • purchase_failed: An in app purchase has failed. error_code
  • purchase_cancelled: An in app purchase was cancelled by the user, or timed out when purchasing: error_code
  • purchase_successful: An in app purchase is successful. product: [monthly, yearly] is_free_trial: [true, false]

Podcasts Tab

  • podcasts_list_shown: The view is displayed to the user
  • podcasts_list_folder_button_tapped: The “create folder” icon is tapped
  • podcasts_list_podcast_tapped: A podcast is tapped
  • podcasts_list_folder_tapped: A folder is tapped
  • podcasts_list_ellipsis_button_tapped: The ellipsis button is tapped
  • podcasts_list_reordered: When the grid of podcasts is reordered by the user

Account Screen (https://github.com/Automattic/pocket-casts-android/pull/293)

  • account_details_show_tos: Taps on Terms of Use (see comment)
  • account_details_show_privacy_policy: Taps on privacy Policy (see comment)

Others

Issue Analytics

  • State:open
  • Created a year ago
  • Comments:7 (7 by maintainers)

github_iconTop GitHub Comments

1reaction
mchowningcommented, Aug 26, 2022

I added a checklist item to Add flag to turn off tracks in debug builds because I assumed we wouldn’t want our development work always getting sent off to Tracks. Let me know if you think that we should keep them on for debug builds.

1reaction
mchowningcommented, Aug 26, 2022

I removed the item for adding a checklist item for adding analytics to the PR template because I think that would be awkward for any open source contributors. Certainly open to adding it back if others disagree though.

Read more comments on GitHub >

github_iconTop Results From Across the Web

8 Steps for Better Issue Management - ProjectManager
Project issues are bound to happen; our 8 steps to better issue management will show you how to identify and manage those issues...
Read more >
Issue Tracking - ProjectManagement.com
A method for keeping a record of open problems that, depending on their content, must be solved within the next task, before the...
Read more >
5 Things to Track for A Successful Implementation - Mammoth-AI
A project's many criteria must be thoroughly tested for problems. If any software faults arise, finding their source is required to correct them....
Read more >
Project Management Concepts: What is an Issue Log? [Updated]
An issue log is an important tool used to manage these issues and more, by helping the project team to record issues that...
Read more >
15 Best Issue Management Software to Identify and Resolve ...
When developing a software, we may encounter a number of bugs and errors we need to keep track of, but due to our...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found