คีย์การลงชื่อสมัครใช้และ 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 และจะสร้างขึ้นเมื่อคุณสร้างโปรเจ็กต์ เป็นครั้งแรก โดยค่าเริ่มต้น ระบบจะจัดเก็บไว้ในไดเรกทอรีเดียวกับไฟล์ Android Virtual Device (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 ป้อนรหัสผ่านของที่เก็บคีย์เมื่อได้รับข้อความแจ้ง จากนั้น 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 ช่วยให้คุณเข้าถึงข้อมูลเชิงบริบทได้หลายประเภท เช่น Beacon หากต้องการใช้ประเภทเหล่านี้ คุณต้องเปิดใช้ API ที่เกี่ยวข้องใน Google Developers Console

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