คีย์การลงชื่อสมัครใช้และ API

หากต้องการใช้ Google Awareness API คุณต้องเพิ่มคีย์ Google API ลงในแอป ประเภทคีย์ API ที่คุณต้องใช้คือคีย์ Android API

แอป Android ทั้งหมดจะได้รับการลงนามด้วยใบรับรองดิจิทัลที่คุณเก็บคีย์ส่วนตัวไว้ สําหรับข้อมูลเพิ่มเติมเกี่ยวกับใบรับรองดิจิทัล โปรดดู คําแนะนําของ Android เกี่ยวกับวิธีรับรองแอป

คีย์ API ของ Android จะลิงก์กับคู่แพ็กเกจ-ใบรับรองที่เจาะจง คุณต้องใช้เพียงคีย์เดียวสําหรับใบรับรองแต่ละรายการ ไม่ว่าจะมีผู้ใช้แอปกี่คน

คุณจําเป็นต้องดําเนินการหลายขั้นตอนเพื่อรับคีย์สําหรับแอปของคุณ ซึ่งมีคําอธิบายโดยละเอียดในคู่มือนี้และสรุปไว้ดังนี้

  1. ดูข้อมูลเกี่ยวกับใบรับรองของแอป
  2. ลงทะเบียนโครงการใน Google Developers Console และเพิ่ม User Context API เป็นบริการสําหรับโปรเจ็กต์
  3. ขอคีย์
  4. เพิ่มคีย์ลงในแอป ในการดําเนินการนี้ ให้เพิ่มองค์ประกอบลงในไฟล์ Manifest ของแอป

ค้นหาข้อมูลใบรับรองของแอป

คีย์ API อิงตามรูปแบบย่อของใบรับรองดิจิทัลของแอป ซึ่งเรียกว่าลายนิ้วมือ SHA-1 หากต้องการแสดงลายนิ้วมือ SHA-1 สําหรับใบรับรอง โปรดใช้ใบรับรองที่ถูกต้องก่อน คุณอาจมีใบรับรอง 2 รายการต่อไปนี้

  • ใบรับรองการแก้ไขข้อบกพร่อง: เครื่องมือ Android SDK จะสร้างใบรับรองนี้โดยอัตโนมัติเมื่อคุณแก้ไขข้อบกพร่อง ใช้ใบรับรองนี้กับแอปที่ทดสอบอยู่เท่านั้น อย่าเผยแพร่แอปที่ลงนามด้วยใบรับรองการแก้ไขข้อบกพร่อง มีการอธิบายใบรับรองการแก้ไขข้อบกพร่องไว้อย่างละเอียดในส่วนรับรองบิวด์การแก้ไขข้อบกพร่องในเอกสารประกอบสําหรับนักพัฒนาซอฟต์แวร์ Android
  • ใบรับรองรุ่น: เครื่องมือ Android SDK จะสร้างใบรับรองนี้เมื่อคุณสร้างรุ่น นอกจากนี้ คุณยังสร้างใบรับรองนี้ได้ด้วยโปรแกรม keytool ใช้ใบรับรองนี้เมื่อคุณพร้อมเผยแพร่แอปทั่วโลกแล้ว

ดูข้อมูลเพิ่มเติมเกี่ยวกับ keytool ได้ที่เอกสารประกอบของ Oracle

แก้ไขข้อบกพร่องของใบรับรอง

แสดงลายนิ้วมือสําหรับใบรับรองการแก้ไขข้อบกพร่อง

ใช้โปรแกรม keytool ที่มีพารามิเตอร์ -v เพื่อแสดงลายนิ้วมือ SHA-1 ของใบรับรอง โดยทําตามขั้นตอนต่อไปนี้

  1. ค้นหาไฟล์คีย์สโตร์การแก้ไขข้อบกพร่อง ชื่อไฟล์คือ debug.keystore ซึ่งจะสร้างขึ้นมาในครั้งแรกที่คุณสร้างโปรเจ็กต์ โดยค่าเริ่มต้น ระบบจะจัดเก็บไว้ในไดเรกทอรีเดียวกับไฟล์อุปกรณ์ Android (AVD) ของคุณ

    • OS X และ Linux: ~/.android/
    • Windows Vista และ Windows 7: C:\Users\your_user_name\.android\
  2. รายการลายนิ้วมือ SHA-1

    • สําหรับ Linux หรือ OS X ให้เปิดหน้าต่างเทอร์มินัลแล้วป้อนข้อมูลต่อไปนี้

      keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
    • สําหรับ Windows Vista และ Windows 7 ให้เรียกใช้คําสั่งต่อไปนี้:

      keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

คุณควรจะเห็นเอาต์พุตในลักษณะต่อไปนี้

Alias name: androiddebugkey
Creation date: Jan 01, 2013
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: 4aa9b300
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: BB:0D:AC:74:D3:21:E1:43:07:71:9B:62:90:AF:A1:66:6E:44:5D:75
     Signature algorithm name: SHA1withRSA
     Version: 3
ใบรับรองรุ่น

แสดงลายนิ้วมือสําหรับใบรับรองรุ่น

ใช้โปรแกรม keytool ที่มีพารามิเตอร์ -v เพื่อแสดงลายนิ้วมือ SHA-1 ของใบรับรอง โดยทําตามขั้นตอนต่อไปนี้

  1. ค้นหาไฟล์คีย์สโตร์สําหรับรุ่นที่เผยแพร่ ไม่มีตําแหน่ง เริ่มต้นหรือชื่อคีย์สโตร์ หากคุณไม่ได้ระบุแอปเมื่อสร้างแอปสําหรับรุ่นที่เผยแพร่ บิลด์จะไม่ได้เซ็นชื่อใน .apk และคุณต้องลงนามแอปก่อนจึงจะเผยแพร่ได้ สําหรับใบรับรองรุ่น คุณต้องมีชื่อแทนของใบรับรอง รหัสผ่านสําหรับคีย์สโตร์ และใบรับรอง
  2. ป้อนข้อมูลต่อไปนี้เพื่อแสดงชื่อแทนสําหรับคีย์ทั้งหมดในคีย์สโตร์

    keytool -list -keystore your_keystore_name
          
  3. แทนที่ your_keystore_name ด้วยเส้นทางและชื่อที่สมบูรณ์ของคีย์สโตร์ ใส่ส่วนขยาย .keystore ป้อนรหัสผ่านของคีย์สโตร์เมื่อมีข้อความแจ้ง จากนั้น keytool จะแสดงชื่อแทนทั้งหมดในคีย์สโตร์
  4. ป้อนข้อมูลต่อไปนี้ที่เทอร์มินัลหรือพรอมต์คําสั่ง

          keytool -list -v -keystore your_keystore_name -alias your_alias_name
          
  5. แทนที่ your_keystore_name ด้วยเส้นทางและชื่อที่สมบูรณ์ในคีย์สโตร์ ใส่ส่วนขยาย .keystore
  6. แทนที่ your_alias_name ด้วยชื่อแทนที่คุณกําหนดให้กับใบรับรองเมื่อสร้างขึ้น

คุณควรจะเห็นเอาต์พุตในลักษณะต่อไปนี้

Alias name: <alias_name>
Creation date: Feb 02, 2013
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: 4cc9b300
Valid from: Mon Feb 02 08:01:04 UTC 2013 until: Mon Feb 02 18:05:04 PST 2033
Certificate fingerprints:
    MD5:  AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6B:AC:F9
    SHA1: BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:90:AF:A1:66:6E:44:5D:75
    Signature algorithm name: SHA1withRSA
    Version: 3

บรรทัดที่ขึ้นต้นด้วย SHA1 มีลายนิ้วมือ SHA-1 ของใบรับรอง ลายนิ้วมือคือลําดับเลขฐานสิบหก 20 หลักที่คั่นด้วยโคลอน

รับคีย์ API จาก Google Developers Console

หากต้องการเริ่มต้นใช้งาน Google Awareness API ให้คลิกปุ่มรับคีย์ ซึ่งจะลิงก์กับ Google Developers Console ซึ่งจะแนะนําคุณตลอดขั้นตอนและเปิดใช้ Awareness API โดยอัตโนมัติ

ซื้อคีย์

หรือทําตามขั้นตอนต่อไปนี้เพื่อรับคีย์ API

  1. ไปที่ Google Developers Console
  2. เลือกโครงการหรือสร้างโครงการใหม่
  3. คลิกต่อไปเพื่อเปิดใช้ Awareness API
  4. ในหน้า "ข้อมูลรับรอง" ให้สร้างคีย์ Android และตั้งค่าข้อมูลรับรอง API

  5. ในกล่องโต้ตอบ "สร้างคีย์" คุณต้องจํากัดการใช้งานแอป Android ของคุณ โดยป้อนลายนิ้วมือ SHA-1 และชื่อแพ็กเกจของแอป ดังตัวอย่างต่อไปนี้

    BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75
    
    com.example.android.awareness-example
    
  6. คลิกสร้าง คีย์ API ใหม่ของ Android จะปรากฏในรายการคีย์ API สําหรับโปรเจ็กต์ของคุณ คีย์ API คือสตริงอักขระดังตัวอย่างต่อไปนี้

    AIzaSyBdVl-cTICSwYKrZ95LoVuw7dbMuDt1KG0
    

ตอนนี้คุณมีคีย์ API แล้ว คุณสามารถเพิ่มคีย์ดังกล่าวลงในไฟล์ Manifest ของแอปตามที่อธิบายไว้ในคู่มือเริ่มต้นใช้งาน

เปิดใช้งาน API เพิ่มเติม

Awareness API ช่วยให้คุณเข้าถึงข้อมูลตามบริบทได้หลายประเภท เช่น บีคอน หากต้องการใช้ API ประเภทดังกล่าว คุณต้องเปิดใช้ API ที่เกี่ยวข้องใน Google Developers Console

บริการ วิธีการของ API การรับรู้ API ที่จะเปิดใช้งาน
บีคอน SnapshotApi.getBeaconState(), FenceApi.BeaconFence Nearby Messages API