前提
アップデート等をさせるため、アプリのストアに遷移させる時は多々あると思います。
ただ、アプリのパッケージ名でGoogle Playのリンクを作ってしまうと、flavorによってGoogle Playに飛なくてQAで困ります。
だからと言って本番のパッケージ名をstrings.xml
に記述するのもおかしな話ですよね?
そこで利用するのがストアIDです
どこに置くのが最適か
ではどこに保管しておき、どのように取得するのが最適かです
早速ですが答えは下記の通りになります
build.gradle
defaultConfig {applicationId = "jp.co.sample.app"}
buildTypes {
getByName("debug") {
buildConfigField("String", "STORE_ID", "\"${defaultConfig.applicationId}\"")
}
getByName("release") {
buildConfigField("String", "STORE_ID", "\"${defaultConfig.applicationId}\"")
}
}
このようにdafultConfig
にapplicationId
が置かれていると思うのでそちらをbuildConfigField
で参照することによりコード内で必要な時に
BuildConfig.STORE_ID
上記の通り取得することができます
こうすることによりstrings.xml
にわざわざ本番のパッケージ名をおく必要も無く、flavorによるパッケージ名の変化も気にする必要がありません。
最後に
ついでではありますがストアIDに関して調べている方がこの記事にたどり着きやすいとは思いますので
ストアIDを使用したGooglePlayへの遷移用Uriを置いておきます
https://play.google.com/store/apps/details?id=${BuildConfig.STORE_ID}