shouldPrompt
Pure eligibility read for a caller-drawn native review sheet (no store SDK) — the caller shows its own UI when this is true, then calls markPrompted. Separate from tryPrompt (which drives the platform AppReviewManager) so an offline/demo build can present a native sheet instead.