【React Native】Google Playで公開したアプリでMapboxの地図が表示されない

以前、リリースした React Native の Android アプリで、API との通信に失敗するという記事を投稿しましたが、今度は Mapbox の地図が表示されないという現象が発生しました。
なお、この現象が発生するのは Android 11 の端末のみで、地図が表示されないだけでなくアプリが落ちてしまいます。
ちなみに、使用しているライブラリは「react-native-mapbox-gl/maps」です。

幸いにも、Google Play Console にクラッシュ時のレポートが送信されていたので、そちらを確認したところ、「SecurityException」が発生しているとのことでした。
で、それで検索したところ、下記の記事がヒットしました。

SecurityException: getDataNetworkTypeForSubscriber (Android 11) · Issue #3577 · mapbox/mapbox-navigation-android · GitHub
https://github.com/mapbox/mapbox-navigation-android/issues/3577

 

Android のネイティブアプリの Mapbox のライブラリの Issues ですが、こちらによると、android/app/build.gradle に下記を追加すればOKとのことでした。

dependencies {
    ......
    implementation 'com.mapbox.mapboxsdk:mapbox-android-telemetry:6.1.0'
}

ネイティブアプリのライブラリではバグは既に修正済みで、次回のリリースに反映されるらしいのですが、どうやら React Native の方のライブラリではまだ修正されていないようでした。
そのため、手動で上記を追加する必要があります。
こちらを追加後、アプリをリリースビルドし、Android 11 の端末で実行してみたところ、今度はアプリが落ちることもなく、正常に地図が表示されました!
Google Play のアプリも更新し、他の端末でも確認しましたがこちらも問題なく動作しました!

 

以上、React Native の Android アプリで Maxbox の地図が表示されない不具合の修正方法についてでした。
リリース用ビルドで発生するのではなく、Android 11 でのみ発生する不具合の気もしますが…とりあえず、ご参考になれば幸いです。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG