Open3

iOSのFlutterアプリにおいて、Firebase Authのメールリンク認証がうまくいかない問題について調査

nicoxnicox

AndroidとiOSの両方のアプリをFlutterで開発しているアプリにおいて、問題が発生
Android側の実機ではメールリンクでの認証が問題なく行えるが、iOSの実機ではメールリンクを開くと「The Operation is not valid.」と出てアプリが開かない
この問題について調査する。
メーラー:gmail
デフォルトのブラウザ:Chrome

現時点でわかっていることは、Android側でもメールリンクをブラウザに貼り付けて遷移させようとすると同じエラーがでる。
iOSでは、デフォルトのブラウザをSafariにするとログインできた。
Universal Links周りの仕様や実装例を確認すれば解決できるかもしれない。

nicoxnicox

アプリ審査時に問題がまた起きたので、再度対策を練る

Gmailで、Safariを選ぶとUniversal Linkが機能しない(In App Browserのせい?)
デフォルトのブラウザがSafariのときに、デフォルトのブラウザを選択すると正常に動作する

ビルドインのメーラーなら、デフォルトのブラウザでリンクが開かれるので問題ない
問題はGmailなどのサードパーティのメーラーと言える

Firebase Hostingでjsを実行できるようにして、カスタムスキームで開くなどの対策を考える必要がある