Initialization
✅ DO:- Initialize in
main()beforerunApp() - Use
async/awaitproperly - Handle initialization errors
- Check initialization status before loading ads
- Initialize multiple times
- Initialize in widget
build()methods - Ignore initialization errors
- Load ads before initialization completes
Ad Loading
✅ DO:- Provide meaningful context (user query, AI response)
- Use conversation history for better targeting
- Handle errors gracefully with
try/catch - Call
destroy()when ads are no longer needed - Use
VelocityNativeAdViewRequestwhen you want SDK-rendered views
- Use empty or placeholder prompts
- Block UI during ad loading
- Forget to call
destroy()on ad instances - Create ad instances in
build()methods
Error Handling
Ad Lifecycle
✅ DO:- Create
VelocityNativeAdinstances ininitState()or event handlers - Store ad references in state
- Call
destroy()indispose()for all loaded ads - Track all loaded ads for proper cleanup
- Create ad instances in
build()methods - Forget to destroy ads when navigating away
- Hold references to destroyed ads

