最近のアクセス:
Google から API キーを取得する方法
コンパイル済み Android アプリケーションで Google マップを使用するには、Google から API キーを取得する必要があります。取得していないと、SD Maps コントロールGeolocation ドメインを使用してもマップが表示されません。
Knowledge Base Navigator を使用してアプリケーションのプロトタイプを行う場合は、Knowledge Base Navigator に独自の Maps API Key があるため、Google から API キーを取得する必要はありません。
既定では、生成されたアプリケーションは、コンパイル時に既定の Android デバッグ証明書を使用してアプリケーションに署名します。
そのため、*.apk ファイルを使用してアプリケーションをデバイスに直接インストールすることはできますが、カスタム証明書を作成しない限り Google Play からインストールすることはできません (GeneXus 15 U2 以降)。
ただし、Google マップサービスを使用するには、Map API Key と呼ばれる特別な証明書が必要です。この証明書は以前のものとは異なります。アクセスを制限するため、このキーは特定のパッケージ名と前述の証明書にリンクされています。 

API キーの取得方法

ここでは、アプリケーション用にキーを取得する方法を説明します。

1.フィンガープリントの取得

まず、アプリケーションに署名する証明書のフィンガープリントを取得する必要があります (GeneXus から提供されるデバッグ証明書を使用してプロトタイプを行う場合は不要です)。
このフィンガープリントを確認するには、Android が提供するキーストアを使用して、次のコマンドを実行します。
keytool -list -v -keystore <リリースキーのキーストア> -alias <エイリアス名> -storepass <ストアのパス> -keypass <キーのパス>
入力値の説明:
  説明 既定 (Android アプリケーション署名)
  <リリースキーのキーストア>   *.keystore ファイルのパスで、値は [ Key Store File ] プロパティで設定します。  C:\<GeneXus のディレクトリー>\Android\debug.keystore
  <エイリアス名> *.keystore ファイルのエイリアスで、値は [ Key Alias ] プロパティで設定します。 androiddebugkey
  <ストアのパス> *.keystore ファイルにアクセスするためのキー ストア パスワードで、値は [ Store Password ] プロパティで設定します。  android
  <キーのパス> 特定のキーペアの秘密鍵にアクセスするためのキーパスワードです。  android

このコマンドツールでは、次のような出力が表示されます。
Alias name: androiddebugkey
Creation date: Dec 01, 2016
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate [ 1 ] :
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: ********
Valid from: Mon Jan 01 08:04:04 UTC 2013 until: Mon Jan 01 18:04:04 PST 2033
Certificate fingerprints:
     MD5:  AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6A:AC:F9
     SHA1: 5F:BD:E1:6B:93:D6:5A:01:D2:C2:43:04:DD:2D:3D:93:A9:AD:C8:E8
     Signature algorithm name: SHA1withRSA
     Version: 3
SHA1 の値はフィンガープリントに対応します。
: keytool プログラムは、Java JDK の /bin ディレクトリーにインストールされます。 

2.API キーの取得

Google API コンソールに移動し、アプリケーション用の新しい API キーを作成します。
このキーを取得するには、次の場所に移動します。
[ API Manager ] > [ 認証情報 ] > [ 認証情報を作成 ] > [ API キー ]
イメージ:33140.png

3.アクセス制限の追加 

手順 1 のフィンガープリントを使用して、アプリケーションへの排他的アクセスを追加できます。次に、その方法を示します。
3.1 API キーを選択
手順 2 で作成した API キーの名前をリストでクリックします。
イメージ:33136.png
3.2 Android アプリを選択
[ キーの制限 ] セクションで、 [ Android アプリ ] オプションを選択します。
イメージ:33137.png
3.3 パッケージ/フィンガープリントを追加
[ パッケージ名とフィンガープリントを追加 ] ボタンをクリックし、フィールドにパッケージ名フィンガープリント (手順 1 で確認したもの) を入力します。
イメージ:33138.png
3.4.変更を保存

4.GeneXus のプロパティの設定

最後に、[ Android Maps API Key ] プロパティに Google API コンソールの値を設定します (警告アイコンが表示されなくなったことを確認してください)。
イメージ:33139.png

  • 以前の既定の設定を使用した本番運用のアプリケーション (Artech 資格情報で署名された *.apk ファイル) がある場合は、レガシーの値を使用してフィンガープリントを生成する必要があります。
    既定 (GeneXus 15 Upgrade 3 以降、Android Application Signing)
    <リリースキーのキーストア>   C:\<GeneXus のディレクトリー>\Android\legacy.keystore
    <エイリアス名> alias_name
    <ストアのパス> artech
    <キーのパス> artech

参考情報





サブページ
Created: 15/01/07 22:45 by Admin Last update: 19/03/26 23:11 by Admin
カテゴリ
Powered by GXwiki 3.0