次に、[APIs & auth]の[Registered apps]を選択し、「REGISTER APP」ボタンをクリックして、アプリを登録します。
Name欄には、任意の名前を入力し、Androidプラットフォームを選択します。そしてアプリのパッケージ名、先ほど控えたフィンガープリントを入力し、[Register]ボタンをクリックします。
登録後の画面で、[Android key]をクリックすると、APIアクセスキーが表示されます。なお、ここで取得したAPIアクセスキーは、デバッグ用のものです。もしアプリを公開する場合には、もう少し手順が必要です(この連載では、説明を割愛します)。
APIアクセスキー、各permissionの追加
APIアクセスキーは、AndroidManifest.xmlに追記します。また、permissionにも設定が必要なので、以下のように合わせて追加してください。
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.rakuraku.android.ekimap" android:versionCode="1" android:versionName="1.0" > <!-- Google Maps Android API のアクセス許可 --> <permission android:name="com.rakuraku.android.ekimap.permission.MAPS_RECEIVE" android:protectionLevel="signature"/> <uses-permission android:name="com.rakuraku.android.ekimap.permission.MAPS_RECEIVE" /> <!-- 現在位置取得のため --> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <!-- Google Mapsの動作に必要 --> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> <!-- OpenGL ES version 2(地図描画用)--> <uses-feature android:glEsVersion="0x00020000" android:required="true"/> <application ~中略~ <!-- Goolge API Key --> <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="AIzaSyD-6OPpq2aqPLb0-XXXXXXXXXXXXXXXXX"/> </application> </manifest>
ここで設定するパーミッションの意味は、次のようになります。
名前 | 概要 |
---|---|
パッケージ名.MAPS_RECEIVE | Google Maps Android APIのアクセス |
INTERNET | インターネット接続 |
ACCESS_NETWORK_STATE | インターネット接続判定 |
WRITE_EXTERNAL_STORAGE |
地図のキャッシュデータの SDカード書き込み |
ACCESS_COARSE_LOCATION | 位置情報取得(Wi-Fi) |
ACCESS_FINE_LOCATION | 位置情報取得(GPS) |
com.google.android.providers.gsf.permission.READ_GSERVICES | Google Webサービスのアクセス |
また、地図の描画には、3D用の描画ライブラリである、OpenGL ES(OpenGL for Embedded Systems)が必要なので、その設定も追加しています。