今日の役に立たない一言 - Today’s Trifle! -

古い記事ではさまざまなテーマを書いていますが、2007年以降はプログラミング関連の話がほとんどです。

Android で Google Cloud Endpoint を使う時のデバッグ版とリリース版の Client ID を切り替える方法

 先に書いた、Google Maps M2 API for Android では、デバッグ版とリリース版で同一の API key が使えたけ。だけど、Cloud Endpoint の Client ID を設定するところは、複数の SHA1 を書けるようになってないので、別々の Client ID を生成するしかない。

 なので、これはコード上で切り替えるようにする。

 gen フォルダに自動的に生成される BuildConfig クラスの DEBUG フィールドを参照して、static initializer で String型の final値を設定する。

public class Ids {
    pubilc static final String WEB_CLIENT_ID = "Client ID for web applications の値";
    public static final String ANDROID_CLIENT_ID;
    static {
        if (BuildConfig.DEBUG) {
            ANDROID_CLIENT_ID = "デバッグ版の Client ID for installed applications の値";
        } else {
            ANDROID_CLIENT_ID = "リリース版の Client ID for installed applications の値";
        }
}