Hey @Qiangqiang_Zhao - great questions here!
For your first question, since Shopify is managing the app’s plan selection/billing page, you don’t explictly need to link to it within your app’s navigation link config, but it’s up to you if you’d like to do that.
It may make it more easy for merchants to quickly access the page, so from a usability stand point, I don’t think that’s a bad idea in general.
For your second question, I would definitely advise combining the two approaches if you can. You’d get the benefit of getting the subscription update info in near-real time via the webhook, but also have a built in reconciliation redundancy through the query itself if needed. Our webhooks are fairly reliable, but we can’t always guarantee delivery, so staggered polling is always recommended as a redundancy if possible (more info here).
Hope this helps!