[Xamarin]如何將目前的PC加入信任的google map api

  • 90
  • 0

[Xamarin]如何將目前的PC加入信任的google map api

以下示範適用於
首先去下載jds, 請記得下載openjdk
接著打開commandline,執行如下指令
請確認自己的openjdk放在哪個路徑,把下面的keytool.exe所在路徑換成自己的,而debug.keystore檔案的路徑應該也在跟我差不多的路徑,自行換成自己的即可
C:\Program Files (x86)\Java\jdk1.8.0_112\bin>keytool -list -v -keystore "C:\Users\KevinYen\AppData\Local\Xamarin\Mono for Android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

於是乎可以在commandline視窗取得自己目前pc的SHA1資訊:
 SHA1: ED:D5:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:C3:16

接著前往google cloud platform網站,並點選左方目錄的"API和服務"的網頁

滑鼠依序選擇下方項目:
"API和服務"的網頁 ==> "憑證"頁籤 ==> "API金鑰" ==> "您自己所建立的金鑰"

於 "您自己所建立的金鑰" 的區域 ==> "限制 Android 應用程式的使用活動" 裡面新增一個項目如下:
您的app套件名稱:com.companyname.yourappname
您的SHA1資訊:ED:D5:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:C3:16

新增完畢之後,最下方還有個"儲存"按鍵,很容易忘記,所以要記得按!!
然後再回到剛才的"您自己所建立的金鑰"的頁面,有個 "鍵" 的地方會有一大串類似亂碼的東西如下:
AIzaSXXXXXXXXXXXXXXXXXXXXXXXXXYQ4g

把這個"鍵"複製出來,貼上到您的xamarin.android專案的properties\AndroidManefest.xml的application裡面,記得格式要按照google的規定,下面是目前的規定的格式(2021年三月):
<meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="AIzXXXXXXXXXXXXXXXXXXXXXXXkJhGo" />
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
<!-- Necessary for apps that target Android 9.0 or higher -->
<uses-library android:name="org.apache.http.legacy" android:required="false" />

AndroidManefest.xml的manifest裡面也別忘了貼上下面取得存取網路權限,畢竟google map的載入是必須要網路的
這樣子就可以將目前的PC加入信任的google map api, 你開發的app若是用到google map地圖,就再也不會顯示出空白地圖囉 :D
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

上面是將自己的PC的debug金鑰加入信任的方式,至於release的金鑰(要將你的app發行到google play的時候會用到)大同小異不再重複敘述,再請各位客官google這部分的細節囉