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

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

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

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

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

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

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

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

  • ใบรับรองสำหรับการแก้ไขข้อบกพร่อง: เครื่องมือ Android SDK จะสร้างใบรับรองนี้โดยอัตโนมัติเมื่อคุณสร้างบิลด์การแก้ไขข้อบกพร่อง ใช้ใบรับรองนี้กับแอปที่คุณกำลังทดสอบเท่านั้น อย่าพยายามเผยแพร่แอปที่ลงนามด้วยใบรับรองสำหรับการแก้ไขข้อบกพร่อง ดูรายละเอียดเพิ่มเติมเกี่ยวกับใบรับรองสำหรับการแก้ไขข้อบกพร่องได้ในส่วนลงชื่อ บิลด์การแก้ไขข้อบกพร่องในเอกสารประกอบสำหรับนักพัฒนาแอป Android
  • ใบรับรองสำหรับการเผยแพร่: Android SDK Tools จะสร้างใบรับรองนี้เมื่อคุณสร้างบิลด์ที่เผยแพร่ คุณยังสร้างใบรับรองนี้ด้วยโปรแกรม 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 ของใบรับรอง ลายนิ้วมือคือลำดับของตัวเลขฐาน 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. คลิกสร้าง คีย์ 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