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

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

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

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

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

  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 และสร้างขึ้นเมื่อคุณสร้างโปรเจ็กต์เป็นครั้งแรก โดยค่าเริ่มต้น ระบบจะจัดเก็บไฟล์ไว้ในไดเรกทอรีเดียวกับไฟล์อุปกรณ์เสมือน (AVD) ของ Android

    • 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. ป้อนข้อมูลต่อไปนี้ในเทอร์มินัลหรือ Command Prompt

          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 ของใบรับรอง โดยลายนิ้วมือคือลําดับตัวเลขฐานสิบหก 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. คลิกสร้าง คีย์ API ใหม่ของ Android จะปรากฏในรายการคีย์ API ของโปรเจ็กต์ คีย์ API คือสตริงอักขระ เช่น

    AIzaSyBdVl-cTICSwYKrZ95LoVuw7dbMuDt1KG0
    

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

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

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

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