pocket-casts-ios icon indicating copy to clipboard operation
pocket-casts-ios copied to clipboard

Project Issue: Tracks Implementation

Open emilylaguna opened this issue 2 years ago • 1 comments

Description

Implement analytics using Tracks in the app

Tasks

Setup

  • [x] Create a base implementation of an analytics tracker in the app: https://github.com/Automattic/pocket-casts-ios/pull/155
  • [x] Create a way to support multiple types of analytics trackers: https://github.com/Automattic/pocket-casts-ios/pull/155
  • [x] Add switching between anonymous and authenticated user tracking when the user signs in/out: https://github.com/Automattic/pocket-casts-ios/pull/160
  • [x] Add prefix and userid type to the tracks allowlist: https://github.com/Automattic/nosara/pull/4872
  • [x] Add analytics checkbox to the PR template: https://github.com/Automattic/pocket-casts-ios/pull/197

Add Analytics

App Lifecycle Events

  • [x] application_installed: When a user launch the app for the very first time: https://github.com/Automattic/pocket-casts-ios/pull/162
  • [x] application_opened: When a user launches or foregrounds the app after the first open: https://github.com/Automattic/pocket-casts-ios/pull/162
  • [x] application_updated: When the app launches for the first time after installing a new version: https://github.com/Automattic/pocket-casts-ios/pull/162
  • [x] application_closed: When the the app is put into the background: https://github.com/Automattic/pocket-casts-ios/pull/162

User lifecycle events

  • [x] user_signed_in: When the user successfully signs into the app using existing credentials: https://github.com/Automattic/pocket-casts-ios/pull/163
  • [x] user_signin_failed: When the user fails to login: https://github.com/Automattic/pocket-casts-ios/pull/163
  • [x] user_signed_out: When the user is signed out of the app: https://github.com/Automattic/pocket-casts-ios/pull/163
  • [x] user_account_deleted: When the user taps the delete account button/link and successfully deletes their account: https://github.com/Automattic/pocket-casts-ios/pull/163
  • [x] user_email_updated: When the user successfully changes their email: https://github.com/Automattic/pocket-casts-ios/pull/163
  • [x] user_password_updated: When the user successfully changes their password: https://github.com/Automattic/pocket-casts-ios/pull/163
  • [x] user_password_reset: When the user successfully resets their password using the forgot password form: https://github.com/Automattic/pocket-casts-ios/pull/163
  • [x] user_account_created: https://github.com/Automattic/pocket-casts-ios/pull/163
  • [x] user_account_creation_failed: https://github.com/Automattic/pocket-casts-ios/pull/163

Newsletter

  • [x] newsletter_optin_changed: When the user changes their newsletter opt in status. enabled: [true, false], source: [account_updated, profile]: https://github.com/Automattic/pocket-casts-ios/pull/201

Setup Account View Events

  • [x] setup_account_shown: When the user is presented with whether they would like to create an account or sign in: https://github.com/Automattic/pocket-casts-ios/pull/165
  • [x] setup_account_button_tapped: When the user taps one of the buttons (create account, sign in): https://github.com/Automattic/pocket-casts-ios/pull/165
  • [x] setup_account_dismissed: If the user taps the X button to dismiss the view: https://github.com/Automattic/pocket-casts-ios/pull/165

Sign in View Events

  • [x] signin_shown: When the sign in view is displayed: https://github.com/Automattic/pocket-casts-ios/pull/165
  • [x] signin_dismissed: When the sign in view is dismissed: https://github.com/Automattic/pocket-casts-ios/pull/165

Forgot Password View Events

  • [x] forgot_password_shown: When the sign in view is displayed: https://github.com/Automattic/pocket-casts-ios/pull/201
  • [x] forgot_password_dismissed: When the sign in view is dismissed: https://github.com/Automattic/pocket-casts-ios/pull/201

Select Account Type

  • [x] select_account_type_shown: When the select account type is displayed: https://github.com/Automattic/pocket-casts-ios/pull/165
  • [x] select_account_type_button_tapped: When the next button is tapped, and which select the user made (regular, plus): https://github.com/Automattic/pocket-casts-ios/pull/165

Create Account

  • [x] create_account_shown: When the create account view is displayed: https://github.com/Automattic/pocket-casts-ios/pull/165
  • [x] create_account_dismissed: When the create account view is dismissed: https://github.com/Automattic/pocket-casts-ios/pull/165

Account Updated View: A view that is displayed after creating an account, changing the email, password is changed, or after purchasing a plan

  • [x] account_updated_shown: When the account created/updated view is displayed: https://github.com/Automattic/pocket-casts-ios/pull/201
  • [x] account_updated_dismissed: When the account created/updated view is dismissed: https://github.com/Automattic/pocket-casts-ios/pull/201

Terms of Use

  • [x] terms_of_use_shown: The TOS view is displayed: https://github.com/Automattic/pocket-casts-ios/pull/165
  • [x] terms_of_use_accepted: The user has tapped the I agree button: https://github.com/Automattic/pocket-casts-ios/pull/165
  • [x] terms_of_use_rejected: The user has tapped No thanks button: https://github.com/Automattic/pocket-casts-ios/pull/165
  • [x] terms_of_use_dismissed : The TOS view is dismissed: https://github.com/Automattic/pocket-casts-ios/pull/165

Select Payment Frequency

  • [x] select_payment_frequency_shown: The payment frequency view is displayed: https://github.com/Automattic/pocket-casts-ios/pull/165
  • [x] select_payment_frequency_dismissed: The payment frequency view is dismissed: https://github.com/Automattic/pocket-casts-ios/pull/165
  • [x] select_payment_frequency_next_button_tapped: The next button is tapped. product: [monthly, yearly]: https://github.com/Automattic/pocket-casts-ios/pull/165

Confirm Payment

  • [x] confirm_payment_shown: `product: [monthly, yearly]: https://github.com/Automattic/pocket-casts-ios/pull/165
  • [x] confirm_payment_dismissed: The confirm payment view is dismissed: https://github.com/Automattic/pocket-casts-ios/pull/165
  • [x] confirm_payment_confirm_button_tapped: The confirm button is tapped: https://github.com/Automattic/pocket-casts-ios/pull/165

Purchase

  • [x] purchase_failed: An in app purchase has failed. error_code: https://github.com/Automattic/pocket-casts-ios/pull/164
  • [x] purchase_cancelled: An in app purchase was cancelled by the user, or timed out when purchasing: error_code: https://github.com/Automattic/pocket-casts-ios/pull/164
  • [x] purchase_successful: An in app purchase is successful. product: [monthly, yearly] is_free_trial: [true, false]: https://github.com/Automattic/pocket-casts-ios/pull/164

Podcasts Tab

  • [x] podcasts_list_shown: The view is displayed to the user: https://github.com/Automattic/pocket-casts-ios/pull/200
  • [x] podcasts_list_folder_button_tapped: The "create folder" icon is tapped: https://github.com/Automattic/pocket-casts-ios/pull/200
  • [x] podcasts_list_podcast_tapped: A podcast is tapped: https://github.com/Automattic/pocket-casts-ios/pull/200
  • [x] podcasts_list_folder_tapped: A folder is tapped: https://github.com/Automattic/pocket-casts-ios/pull/200
  • [x] podcasts_list_ellipsis_button_tapped: The ellipsis button is tapped: https://github.com/Automattic/pocket-casts-ios/pull/200
  • [x] podcasts_list_reordered: When the grid of podcasts is reordered by the user: https://github.com/Automattic/pocket-casts-ios/pull/200

emilylaguna avatar Aug 16 '22 13:08 emilylaguna

@emilylaguna , can you please update the target to 7.22?

yaelirub avatar Aug 23 '22 02:08 yaelirub