ภาคผนวก - siam university · 2018-11-01 · 57 วิธีหำ debug keystore os x...

14
ภาคผนวก

Upload: others

Post on 28-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ภาคผนวก - Siam University · 2018-11-01 · 57 วิธีหำ Debug Keystore OS X หรือ Linux ~/.android/debug.keystore Windows C:\Users\\.android\debug.keystore

ภาคผนวก

Page 2: ภาคผนวก - Siam University · 2018-11-01 · 57 วิธีหำ Debug Keystore OS X หรือ Linux ~/.android/debug.keystore Windows C:\Users\\.android\debug.keystore

56

ภาคผนวก ก

วธลงทะเบยน Android Map API

วธลงทะเบยน Android Map API

สงทจะตองท ำเพอเรยกใชงำน Google Maps จะมดงน

• น ำรห ส SHA1 จำก Keystore ไปขอ API Key ส ำห รบ Google Maps ท Google Developer Console เพอก ำหนดโปรเจคของแอปพลเคชน • เพม Dependencies ของ Google Play Services ลงในโปรเจคของแอปพลเคชน • ก ำหนด Layout XML ส ำหรบแสดง Google Maps • เรยกใชงำนดวยค ำสงส ำหรบ Google Maps เพอใชงำนตำมตองกำร การขอ API Key ส าหรบ Google Maps

กำรขอ API Key นนอำจจะมขนตอนยงยำกเลกนอย แตกตองท ำ เพรำะวำ API Key เปนสง

ททำง Google ใชระบวำแอปของนกพฒนำคนไหนมกำรเรยกใชงำน Google Maps บำง ถงแมวำ

Google Maps จะใหใชงำนฟรส ำหรบฟเจอรเบองตน (ฟเจอรพเศษถงจะตองเสยเงน)

โดย API Key นนจะสมพนธกบชดรหส SHA1 ใน Keystore ทผทหลงเขำมำอำนใช Build

แอปพลเคชนตวนนๆและสมพนธกบ Package ของแอปพลเคชนทเรยกใชงำน ดงนน API Key น

จะผกกบแอปพลเคชนตวเดยวเทำนน ไมสำมำรถน ำไปใชกบแอปตวอนได

ชดรหส SHA1 จำก Keystore

ชดรหส SHA1 จำก Keystore ทใชเพอขอ API Key นนจะมอยสองแบบดวยกนคอ SHA1 ของ

Debug Keystore และ Signed Keystore โดยมเงอนไขอยวำ

• ใช SHA1 จำก Debug Keystore ในขณะทก ำลงพฒนำแอปพลเคชนอย ยงไมได Public ขน

Google Play Store หรอ 3rd Party App Store

• ใช SHA1 จำก Signed Keystore เมอพฒนำแอปพลเคชนเสรจแลว และพรอมจะ Public ขน

Google Play Store หรอ 3rd Party App Store

Page 3: ภาคผนวก - Siam University · 2018-11-01 · 57 วิธีหำ Debug Keystore OS X หรือ Linux ~/.android/debug.keystore Windows C:\Users\\.android\debug.keystore

57

วธหำ Debug Keystore

OS X หรอ Linux

~/.android/debug.keystore

Windows

C:\Users\<your_user_name>\.android\debug.keystore

กำรอำนชดรหส SHA1 จำก Keystore

จะตองท ำผำน Terminal (OS X หรอ Linux) หรอ Command Prompt (Windows) ดงน

keytool -list -v -keystore <keystore_file_path> -alias <alias_name> -storepass <alias_pass> -keypass <keystore_pass>

• keystore_file_path คอทอยของไฟล Keystore ทตองกำรอำน SHA1

• alias_name Alias Name ของ Keystore นนๆ

• alias_pass รหสผำนส ำหรบ Alias Name

• keystore_pass รหสผำนส ำหรบ Keystore

ถำเปน Debug Keystore ทำง Google กไดก ำหนดตำยตว

• Alias Name คอ androiddebugkey

• Alias Password คอ android

• Keystore Password คอ android

Page 4: ภาคผนวก - Siam University · 2018-11-01 · 57 วิธีหำ Debug Keystore OS X หรือ Linux ~/.android/debug.keystore Windows C:\Users\\.android\debug.keystore

58

OS X และตองกำร SHA1 ของ Debug Keystore กจะตองใชค ำสงดงน

keytool -list -v -keystore ~/.android/ -alias androiddebugkey -storepass android -

keypass android

ผลทไดจะเปนดงน

รปท ก.1 แสดง SHA1

SHA1 มชดรหสแสดงอย 20 ชด น ำ SHA1 ทไดจำกตรงนไปขอ API Key จำก Google Developer Console

ขอ API Key จำก Google Developer Console

เขำหนำเวบ Google Developer Console แลว Login ดวย Google Account จำกนนกจะเขำสหนำแรกของเวบ กดปม Create Project

รปท ก.2 API Key จำก Google Developer Console

Page 5: ภาคผนวก - Siam University · 2018-11-01 · 57 วิธีหำ Debug Keystore OS X หรือ Linux ~/.android/debug.keystore Windows C:\Users\\.android\debug.keystore

59

จำกนนใหพมพชอโปรเจคของเรำ และกดปม Create

รปท ก.3 API Key จำก Google Developer Console (ตอ)

เมอสรำงเสรจแลวกจะเขำสหนำ Overview ของโปรเจคทนท ใหกดเลอกท APIs & auth > APIs ทอยฝงซำยมอของหนำเวบ

รปท ก.4 API Key จำก Google Developer Console (ตอ)

Page 6: ภาคผนวก - Siam University · 2018-11-01 · 57 วิธีหำ Debug Keystore OS X หรือ Linux ~/.android/debug.keystore Windows C:\Users\\.android\debug.keystore

60

ทหนำนจะเปนกำรเลอก API ของ Google วำจะตองกำรใช Google Services ตวไหน ใหเลอก Google Maps Android API

รปท ก.5 API Key จำก Google Developer Console (ตอ)

กดทปม Enable API เพอเปดใชงำน Google Maps Android API

รปท ก.6 API Key จำก Google Developer Console (ตอ)

Page 7: ภาคผนวก - Siam University · 2018-11-01 · 57 วิธีหำ Debug Keystore OS X หรือ Linux ~/.android/debug.keystore Windows C:\Users\\.android\debug.keystore

61

เมอเปดใชงำนเรยบรอยแลว กตองไปท ำกำรขอAPI Key

รปท ก.7 API Key จำก Google Developer Console (ตอ)

ใหเลอกไปท APIs &auth > Credentials แลวกดทปม Create new Key ท Public API access เพอขอ API Key

รปท ก.8 API Key จำก Google Developer Console (ตอ)

Page 8: ภาคผนวก - Siam University · 2018-11-01 · 57 วิธีหำ Debug Keystore OS X หรือ Linux ~/.android/debug.keystore Windows C:\Users\\.android\debug.keystore

62

จะมหนำตำงเลกๆแสดงขนมำวำจะขอ Key ส ำหรบอะไร ใหกดเลอกทปม Android Key

รปท ก.9 API Key จำก Google Developer Console 21(ตอ)

จะมหนำตำงใหใส SHA1 กบ Package Name ของแอปพลเคชนลงในชองวำง

รปท ก.10 API Key จำก Google Developer Console (ตอ)

Page 9: ภาคผนวก - Siam University · 2018-11-01 · 57 วิธีหำ Debug Keystore OS X หรือ Linux ~/.android/debug.keystore Windows C:\Users\\.android\debug.keystore

63

ตวอยำงก ำหนด Package Name ไววำ com.akexorcist.awesomeapp เวลำกรอกลงไปในชองวำงจะตองใส SHA1 ตำมดวย Package Name โดยมเครองหมำย ; เปนตวคน

<sha1_key>;<package_name>

รปท ก.11 API Key จำก Google Developer Console (ตอ)

และ API Key สำมำรถใชรวมกนกบหลำยๆแอป โดยใสหลำยๆบรรทดแบบน

รปท ก.12 API Key จำก Google Developer Console (ตอ)

เมอเสรจแลวกกดปม Create

ใหดท Public API Access จะม API Key แสดงอย พรอมกบบอก Android applications ทกรอกลงไปเมอครดวย ใหเอำ API Key ไปใชงำนในแอปไดเลย

Page 10: ภาคผนวก - Siam University · 2018-11-01 · 57 วิธีหำ Debug Keystore OS X หรือ Linux ~/.android/debug.keystore Windows C:\Users\\.android\debug.keystore

64

น า API Key ไปใชในแอปพลเคชน

เพม Dependencies ของ Google Play Services ลงในโปรเจค

ในกรณทพ งสรำงโปรเจคขนมำจำก Android Studio กใหเปด build.gradle ของโมดลทชอวำ app ขนมำไดเลย แตถำ Import มำจำก Eclipse อกทกใหดวำโมดลตวไหนคอโมดลหลกของแอพ แลวจงเปด build.gradle ของโมดลตวนนๆขนมำ

จำกนนกเพม Dependencies เขำไปดงน

compile 'com.google.android.gms:play-services-maps:7.5.0'

รปท ก.13 API Key จำก Google Developer Console (ตอ)

ค ำสงขำงบนเปนกำรเพม Google Maps อยำงเดยว แตถำผทหลงเขำมำอำนเรยกใชงำน Google Play Services จ ำนวนหลำยตวกสำมำรถเพมไปทงหมดไดดวยค ำสง

compile 'com.google.android.gms:play-services:7.5.0'

รปท ก.14 API Key จำก Google Developer Console (ตอ)

Page 11: ภาคผนวก - Siam University · 2018-11-01 · 57 วิธีหำ Debug Keystore OS X หรือ Linux ~/.android/debug.keystore Windows C:\Users\\.android\debug.keystore

65

ก าหนดคาใน Android Manifest

อยำงแรกสดคอกำรก ำหนด Meta Data ส ำหรบเวอรชนของ Google Play Services ใน Tag ของ <application> ของ AndroidManifest.xml ดงน

<meta-data

android:name="com.google.android.gms.version"

android:value="@integer/google_play_services_version" />

รปท ก.15 API Key จำก Google Developer Console (ตอ)

Meta Data ตวนเปนกำรก ำหนดใหรวำ Google Play Services ทใชงำนอยเปนเวอรชนอะไร เพรำะถำเวอรชนของแอพเรำใหมกวำทมอยในเครอง ระบบกจะใหผใชอพเดท Google Apps ในเครองแทน

Page 12: ภาคผนวก - Siam University · 2018-11-01 · 57 วิธีหำ Debug Keystore OS X หรือ Linux ~/.android/debug.keystore Windows C:\Users\\.android\debug.keystore

66

ตอไปกก ำหนด API Key ส ำหรบใชงำน Google Maps โดยจะใสเปน Meta Data ใน Tag

ของ <application> เชนเดม

<meta-data

android:name="com.google.android.geo.API_KEY"

android:value="your_api_key"/>

ตรง your_api_key ใหใส API Key ทไดจำก Google Developer Console

รปท ก.16 API Key จำก Google Developer Console(ตอ)

ตอไปเพม Permission เขำไปดงน

<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

รปท ก.17 API Key จำก Google Developer Console(ตอ)

• INTERNET ดำวนโหลดแผนทจำก Server

• ACCESS_NETWORK_STATE ตรวจสอบสถำนะกำรเชอมตอของ Cellular Data กอนจะดำวนโหลดแผนท

• ACCESS_WIFI_STATE ตรวจสอบสถำนะกำรเชอมตอของ WIFi กอนจะดำวนโหลดแผนท

• WRITE_EXTERNAL_STORAGE เพอท ำ Cache ส ำหรบขอมลแผนท

Page 13: ภาคผนวก - Siam University · 2018-11-01 · 57 วิธีหำ Debug Keystore OS X หรือ Linux ~/.android/debug.keystore Windows C:\Users\\.android\debug.keystore

67

และจะมเพมอกสองตวเมอผทหลงเขำมำอำนเรยกใชงำนค ำสงแสดงต ำแหนงปจจบนของผใชบน Google Maps แตถำไมไดใชงำนกไมจ ำเปนตองใสกได โดยใหเลอกอยำงใดอยำงหนงกพอ ขนอยกบผทหลงเขำมำอำนวำตองกำรควำมแมนย ำในกำรระบต ำแหนงของผใชมำกนอยแคไหน

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

รปท ก.18 API Key จำก Google Developer Console(ตอ)

• ACCESS_COARSE_LOCATION ใช Cellular Data หรอ WiFi เพอหำต ำแหนงของผใชแบบครำวๆ ต ำแหนงทไดจะไมมควำมแมนย ำมำกนก

• ACCESS_FINE_LOCATION ใช GPS เพอหำต ำแหนงของผใชใหแมนย ำทสดเทำทท ำได

Page 14: ภาคผนวก - Siam University · 2018-11-01 · 57 วิธีหำ Debug Keystore OS X หรือ Linux ~/.android/debug.keystore Windows C:\Users\\.android\debug.keystore

68

เนองจำก Google Maps ใช OpenGL ES 2.0 ในกำรแสดงผลแผนท ดงนนจะตองเพม Tag เพอใชงำน OpenGL ES 2.0 ดงน

<uses-feature

android:glEsVersion="0x00020000"

android:required="true"/>

รปท ก.19 API Key จำก Google Developer Console(ตอ)