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

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

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

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

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

  1. ดูข้อมูลเกี่ยวกับใบรับรองของแอป
  2. ลงทะเบียนโปรเจ็กต์ในคอนโซล Google Developers และเพิ่ม 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. ค้นหาไฟล์คีย์สโตร์ของใบรับรองรุ่น Keystore ของรุ่นไม่มีตำแหน่งหรือชื่อเริ่มต้น หากคุณไม่ได้ระบุคีย์เมื่อสร้างแอปเพื่อเผยแพร่ ระบบจะปล่อยให้ .apk ไม่มีการรับรอง และคุณจะต้องรับรองก่อนจึงจะเผยแพร่ได้ สำหรับใบรับรองสำหรับการเผยแพร่ คุณยังต้องมีชื่อแทนของใบรับรอง รหัสผ่านสำหรับคีย์สโตร์ และใบรับรองด้วย
  2. ป้อนข้อมูลต่อไปนี้เพื่อแสดงรายการชื่อแทนสำหรับคีย์ทั้งหมดในคีย์สโตร์

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

          keytool -list -v -keystore your_keystore_name -alias your_alias_name
          
  5. แทนที่ your_keystore_name ด้วยเส้นทางและชื่อที่สมบูรณ์ในตัวเองของ Keystore รวมส่วนขยาย .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 ของใบรับรอง ลายนิ้วมือคือลำดับของเลขฐาน 16 จำนวน 2 หลัก 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. คลิกสร้าง คีย์ Android API ใหม่จะปรากฏในรายการคีย์ API สำหรับโปรเจ็กต์ของคุณ คีย์ API คือสตริงอักขระ เช่น

    AIzaSyBdVl-cTICSwYKrZ95LoVuw7dbMuDt1KG0
    

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

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

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

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