Jump to Content
Developer DocsHome
Guides
Developer Docs
Guides
Jump to Content
Developer Docs
Guides
  • Roku platform overview
  • How apps work
  • App development models
  • Developer Dashboard
    • User access management in the Developer Dashboard
    • Email preferences
  • Content engagement
    • Streaming Store
    • Roku Search
    • Self-serve app promotion tool
    • Roku Voice
  • Monetization
    • Subscriptions and one-time purchases
    • Publisher payouts
    • Video advertisements
  • Analytics Reports
    • App Engagement Report
    • App Health Report
    • App Stability Report
    • Payout Audit Report
    • Sales Activity Report
    • Tax Withholding Report
    • Transaction Report
    • Viewership Summary Report
  • Security on the Roku platform
  • Legal
  • Specifications overview
  • Hardware specifications
  • Streaming Specs
    • Streaming specifications
    • Roku OS support for DASH-IF
    • DRM & content protection
  • Roku Search feed (JSON)
  • Streaming Store graphics
  • Getting started
    • First steps
    • Activating developer mode
    • Building your first app
    • Creating a content feed
    • Taking the online video course
    • Samples
    • App localization
    • Architecture
      • Manifest file
      • Content metadata
      • Development environment overview
      • File system
  • Certification
    • Certification criteria
    • Certification testing
      • Static Analysis tests
      • App Behavior Analysis tests
      • Authenticated app testing
  • Design
    • Designing for devices
    • UI philosophy
    • Key Design Principles
    • Roku's master UI
    • Remote control buttons
    • Ideal app features
    • Best practices
  • SceneGraph core concepts
    • SceneGraph XML
      • SceneGraph coordinate systems
      • Other inherited properties
      • Node field observers
      • Remote control events
    • SceneGraph data scoping
    • SceneGraph BrightScript
      • BrightScript support
      • BrightScript/XML markup equivalence
    • XML components overview
      • Defining SceneGraph components
      • SceneGraph compilation
      • Component initialization order
      • Creating custom components
    • Threads
    • Developing SceneGraph applications
    • Specifying display resolution
    • Handling application events
    • Event loops
    • Controlling screen layout
    • Controlling screen program flow
    • Downloading server content
    • Playing Videos
    • SceneGraph localization
    • Transitioning to SceneGraph
  • Media playback
    • Screensavers
    • Closed caption
    • Trick mode
      • BIF file creation using the Roku BIF tool
      • HLS and DASH
    • Bookmarking
    • Instant Resume
    • Fast video start
    • Autoplay
    • Text to speech
    • Voice controls
      • Implementing voice controls
      • Selecting user profiles with Roku Voice
  • Discovery
    • Roku Search
      • Implementing Roku Search
      • Prioritizing authenticated apps
    • Deep linking
    • Instant Signup
    • Continue Watching
    • Direct to Play
  • Advertising
    • Integrating the Roku Advertising Framework
    • Roku advertising requirements
    • Implementing client-side ad stitching
    • Implementing Server-Side Ad Insertion Using Roku Adapters
    • Implementing the Demand API
    • Roku Advertising Watermark
    • API reference
    • Implementing Nielsen Digital Content Ratings (DCR) measurement
  • Roku Pay
    • Getting started
      • Enrolling in the Roku Partner Payouts Program
      • Setting the monetization method
      • Creating the product catalog
      • Catalog 2.0 API integration guide
      • Price tier reference guide
      • Creating test users
      • Setting up Roku Pay web services
    • Implementing Roku Pay
      • SceneGraph ChannelStore
      • Roku Pay web services reference
      • Roku Pay push notifications reference
      • Receiving secured Roku Pay push notifications
      • On-device upgrade and downgrade
      • Tracking signup abandonment
      • Creating TVOD apps (Catalog 1.0)
      • Creating TVOD apps (Catalog 2.0)
    • Introduction to Subscription Recovery
      • Basic Subscription Recovery
      • Enhanced Subscription Recovery
      • Settings
      • Testing
    • Testing Roku Pay
      • Testing a Roku Pay app
      • Enabling billing testing
    • Roku Pay integration requirements
    • Roku Pay best practices
    • Roku Pay reports
    • Sign-in requirements and best practices
    • Signup requirements and best practices
  • Authentication
    • On-Device Authentication
    • Automatic Account Link
    • Rendezvous linking
  • Roku Analytics Component Library (RACL)
  • Debugging
    • Capturing and decrypting SSL packets
    • BrightScript debug protocol
  • Publishing
    • Packaging Roku apps
    • App Publishing
  • Developer Tools
    • Roku Remote Tool
    • Roku SceneGraph XML schema (XSD)
    • Eclipse IDE support
    • SGDEX
    • RALE
    • Roku Resource Monitor
      • Using Roku Resouce Monitor in Data Collection Mode
      • Roku Resource Monitor session file specification
    • Roku app tracing (with Perfetto)
    • BrightScript Profiler
    • BrightScript Profiler file format specification
    • External Control Protocol (ECP)
    • BrightScriptDoc
    • Static Analysis Tool
      • Command line utility
    • Automated App Testing
      • Roku WebDriver
      • Roku Robot Framework Library
      • Roku JavaScript Library
    • Certification testing tool
  • Performance
    • Data management
    • Memory management
    • Optimization techniques
    • Optimized data transfer and reference handling
    • Measuring app performance
  • Release notes
    • Reverting Roku beta OS to production on devices
    • Roku Advertising Framework release notes
  • Development partners
  • Reference overview
  • SceneGraph
    • Component functions
      • init()
      • onKeyEvent()
    • Xml Elements
      • children
      • component
      • interface
      • script
    • Node
    • Scene
    • Abstract nodes
      • AnimationBase
      • ArrayGrid
    • Renderable nodes
      • Poster
      • Rectangle
      • SimpleLabel
    • Label nodes
      • InfoPane
      • LabelBase
      • Label
      • MonospaceLabel
      • MultiStyleLabel
    • Animation nodes
      • Animation
      • ColorFieldInterpolator
      • FloatFieldInterpolator
      • ParallelAnimation
      • SequentialAnimation
      • Vector2DFieldInterpolator
    • Typographic nodes
      • Font
      • ScrollableText
      • ScrollingLabel
    • Control nodes
      • ChannelStore
      • ComponentLibrary
      • ContentNode
      • MaskGroup
      • Task
      • Timer
    • Layout group nodes
      • ButtonGroup
      • Group
      • LayoutGroup
      • TargetGroup
    • Dynamic voice keyboard nodes
      • DynamicCustomKeyboard
      • DynamicKeyGrid
      • DynamicKeyboardBase
      • DynamicKeyboard
      • DynamicMiniKeyboard
      • DynamicPinPad
      • Key Definition File
      • VoiceTextEditBox
    • Standard dialog framework
      • StandardDialog
      • StandardKeyboardDialog
      • StandardMessageDialog
      • StandardPinPadDialog
      • StandardProgressDialog
      • StdDlgActionCardItem
      • StdDlgAreaBase
      • StdDlgBulletTextItem
      • StdDlgButtonArea
      • StdDlgButton
      • StdDlgContentArea
      • StdDlgCustomItem
      • StdDlgDeterminateProgressItem
      • StdDlgGraphicItem
      • StdDlgItemBase
      • StdDlgItemGroup
      • StdDlgKeyboardItem
      • StdDlgMultiStyleTextItem
      • StdDlgProgressItem
      • StdDlgSideCardArea
      • StdDlgTextItem
      • StdDlgTitleArea
    • Dialog Nodes
      • Dialog
      • KeyboardDialog
      • PinDialog
      • ProgressDialog
    • Widget Nodes
      • BusySpinner
      • Button
      • Keyboard
      • MiniKeyboard
      • ParentalControlPinPad
      • PinPad
      • TextEditBox
    • Lists and grids
      • CheckList
      • LabelList
      • MarkupGrid
      • MarkupList
      • PosterGrid
      • RadioButtonList
      • RowList
      • TargetList
      • TargetSet
      • TimeGrid
      • ZoomRowList
    • Sliding panels
      • GridPanel
      • ListPanel
      • Overhang
      • OverhangPanelSetScene
      • Panel
      • PanelSet
    • Media playback nodes
      • Audio
      • SoundEffect
      • Video
  • BrightScript
    • Components
      • roAppInfo
      • roAppManager
      • roAppMemoryMonitor
      • roArray
      • roAssociativeArray
      • roAudioGuide
      • roAudioMetadata
      • roAudioPlayer
      • roAudioResource
      • roBitmap
      • roBoolean
      • roByteArray
      • roCECStatus
      • roChannelStore
      • roCompositor
      • roDataGramSocket
      • roDateTime
      • roDeviceCrypto
      • roDeviceInfo
      • roDouble
      • roDsa
      • roEVPCipher
      • roEVPDigest
      • roFileSystem
      • roFloat
      • roFont
      • roFontRegistry
      • roFunction
      • roHdmiStatus
      • roHMAC
      • roHttpAgent
      • roImageMetadata
      • roInput
      • roInt
      • roInvalid
      • roList
      • roLocalization
      • roLongInteger
      • roMessagePort
      • roMicrophone
      • roPath
      • roProgramGuide
      • roRegex
      • roRegion
      • roRegistry
      • roRegistrySection
      • roRemoteInfo
      • roUtils
      • roRSA
      • roScreen
      • roSGNode
      • roSGScreen
      • roSocketAddress
      • roSprite
      • roStreamSocket
      • roString
      • roSystemLog
      • roTextToSpeech
      • roTextureManager
      • roTextureRequest
      • roTimespan
      • roUrlTransfer
      • roUtils
      • roVideoPlayer
      • roXMLElement
      • roXMLList
    • Events
      • roAppMemoryNotificationEvent
      • roAudioPlayerEvent
      • roCECStatusEvent
      • roChannelStoreEvent
      • roDeviceInfoEvent
      • roFileSystemEvent
      • roHdmiStatusEvent
      • roInputEvent
      • roMicrophoneEvent
      • roSGNodeEvent
      • roSGScreenEvent
      • roSocketEvent
      • roSystemLogEvent
      • roTextToSpeechEvent
      • roTextureRequestEvent
      • roUniversalControlEvent
      • roUrlEvent
      • roVideoPlayerEvent
    • Interfaces
      • ifAppInfo
      • ifAppManager
      • ifAppMemoryMonitor
      • ifArray
      • ifArrayGet
      • ifArrayJoin
      • ifArraySet
      • ifArraySizeInfo
      • ifArraySlice
      • ifArraySort
      • ifAssociativeArray
      • ifAudioGuide
      • ifAudioMetadata
      • ifAudioPlayer
      • ifAudioResource
      • ifBoolean
      • ifByteArray
      • ifCECStatus
      • ifChannelStore
      • ifCompositor
      • ifDateTime
      • ifDeviceCrypto
      • ifDeviceInfo
      • ifDouble
      • ifDraw2D
      • ifDsa
      • ifEnum
      • ifEVPCipher
      • ifEVPDigest
      • ifFileSystem
      • ifFloat
      • ifFont
      • ifFontRegistry
      • ifFunction
      • ifGetMessagePort
      • ifHdmiStatus
      • ifHMAC
      • ifHttpAgent
      • ifImageMetadata
      • ifInput
      • ifInt
      • ifIntOps
      • ifList
      • ifListToArray
      • ifLocalization
      • ifLongInt
      • ifMessagePort
      • ifMicrophone
      • ifPath
      • ifProgramGuide
      • ifRegex
      • ifRegion
      • ifRegistry
      • ifRegistrySection
      • ifRemoteInfo
      • Ifrenderthreadqueue
      • ifRSA
      • ifScreen
      • ifSetMessagePort
      • ifSGNodeBoundingRect
      • ifSGNodeChildren
      • ifSGNodeDict
      • ifSGNodeField
      • ifSGNodeFocus
      • ifSGNodeHttpAgentAccess
      • ifSGScreen
      • ifSocket
      • ifSocketAddress
      • ifSocketAsync
      • ifSocketCastOption
      • ifSocketConnection
      • ifSocketConnectionOption
      • ifSocketConnectionStatus
      • ifSocketOption
      • ifSocketStatus
      • ifSourceIdentity
      • ifSprite
      • ifString
      • ifStringOps
      • ifSystemLog
      • ifTextToSpeech
      • ifTextureManager
      • ifTextureRequest
      • ifTimeSpan
      • ifToStr
      • ifUrlTransfer
      • IfUtils
      • ifVideoPlayer
      • ifXMLElement
      • ifXMLList
    • Language
      • BrightScript language reference
      • Component architecture
      • Conditional compilation
      • Error handling in BrightScript
      • Expressions, variables, and types
      • Format strings
      • Global math functions
      • Global string functions
      • Global utility functions
      • Program statements
      • Reserved words
      • Runtime functions
      • Statement summary
  • Deprecated APIs
  • Development courses
    • Getting started
      • Streaming overview
      • Creating an SVOD app: First steps
      • Roku development overview
      • Enabling Developer Mode
    • SceneGraph Developers: Build an App
      • Introduction to the course
      • Development setup
      • Core concepts
      • Creating the content feed
      • Creating a Grid Screen
      • Adding the Video Player
      • Debugging apps
      • Creating a Details Screen
      • Creating an Episodes Screen
      • Displaying video ads
      • Offering subscriptions
      • Deep linking
      • Certification testing
  • Demos
    • Developer Summit 2025
    • Catalog 2.0 Webinar
    • Developer Summit 2024
    • Enhanced Subscription Recovery Webinar
    • Roku Resource Monitor Memory Management Webinar
    • Roku Resource Monitor 3.0 Webinar
    • Roku OS 13.0 Developer Features Webinar
    • Roku Pay JWT-secured Push Notifications Webinar
    • Developer Summit 2023
    • Developer Summit 2022
    • Roku Resource Monitor Webinar
    • Roku Advertising Watermark Webinar
    • Roku Voice Webinar
    • Trickplay Thumbnail Webinar
    • Developer Summit 2021
    • Distributing an App in Germany Webinar
    • BrightScript Profiler Webinar
    • Developer Summit 2020
    • BrightScript Remote Network Debug Protocol
    • Automated app testing
    • Managing user access
    • App Tracing (with Perfetto) Webinar
    • Submitting a Roku Search feed
  • Platform features
    • Roku Pay: Simplifying customer payments
    • Running App Behavior Analysis testing on authenticated apps
    • Distributing apps in Europe
    • Roku Voice
  • The Roku Channel overview
  • Video on Demand
    • Premium Subscriptions
    • Roku Originals
      • Branded production guidelines
      • Alternative & documentary production guidelines
      • Scripted production guidelines
      • Alternative production legal guidelines
      • Scripted production legal guidelines
      • Branded delivery specifications
      • Alternative media delivery specifications
      • Scripted media delivery specifications
      • Spanish language - alternative media delivery specifications
      • Feature - scripted & alternative media delivery specifications
      • Acquired content - scripted media delivery specifications
    • Content delivery
      • Especificaciones para la ingesta
    • Avails and Committed Title List specifications
  • Linear
    • The Roku Channel live linear ingest specifications (OVP)
    • EPG on The Roku Channel
  • FAQs
  1. VIDEOS
  2. Demos

Enhanced Subscription Recovery Webinar

In July 2024, Roku's Partner Engineering reviewed the Enhanced Subscription Recovery feature and explained how to implement, test, and enable it in your apps.

Video

Related documentation

  • Enhanced Subscription Recovery

Updated 3 months ago


Developer Summit 2024
Roku Resource Monitor Memory Management Webinar
Terms and Conditions B2B Privacy Notice Developer Site About ads & cookies My Privacy ChoicesCalifornia Consumer Privacy Act (CCPA) Opt-Out Icon Developer Terms & Agreements CA B2B Privacy Notice
© 2008-2026 Roku, Inc.