เริ่มต้นใช้งาน

เอกสารนี้จะอธิบายวิธีเริ่มพัฒนาด้วย Nearby Messages API บน Android Nearby Messages API เป็นส่วนหนึ่งของ บริการ Google Play

ขั้นตอนที่ 1: ดาวน์โหลดบริการ Google Play

Nearby Messages API พร้อมใช้งานในอุปกรณ์ Android ที่มี บริการ Google Play 7.8.0 ขึ้นไป อุปกรณ์ที่ใช้ Android 2.3 ขึ้นไปที่มีแอป Google Play Store จะได้รับการอัปเดตบริการ Google Play โดยอัตโนมัติ หากต้องการตรวจสอบว่าอุปกรณ์ติดตั้งบริการ Google Play เวอร์ชันใด ให้ไปที่การตั้งค่า > แอป > บริการ Google Play

ตรวจสอบว่าคุณมีไลบรารีของไคลเอ็นต์ล่าสุดสำหรับบริการ Google Play ในโฮสต์การพัฒนา

  1. เปิด Android SDK Manager
  2. ในส่วนลักษณะที่ปรากฏและลักษณะการทำงาน > การตั้งค่าระบบ > Android SDK > เครื่องมือ SDK ให้ตรวจสอบว่ามีการติดตั้งแพ็กเกจต่อไปนี้แล้ว

    • บริการ Google Play
    • ที่เก็บของ Google

ขั้นตอนที่ 2: สร้างบัญชี Google

หากต้องการใช้ Nearby Messages API คุณต้องมีบัญชี Google ทั้งนี้เพื่อให้คุณซึ่งเป็นนักพัฒนาซอฟต์แวร์เปิดใช้ Nearby API ได้ในขั้นตอนถัดไป (ผู้ใช้จะไม่จำเป็นต้องมีบัญชี Google) หากมีบัญชีอยู่แล้ว ไม่ต้องดำเนินการใดๆ หรือคุณอาจต้องการบัญชี Google แยก เพื่อวัตถุประสงค์ในการทดสอบ

ขั้นตอนที่ 3: รับคีย์ API

ทำตามขั้นตอนต่อไปนี้เพื่อเปิดใช้ Google Nearby Messages API สำหรับ Android และรับคีย์ API

  1. ไปที่ Google Developers Console
  2. สร้างหรือเลือกโปรเจ็กต์ที่จะใช้ลงทะเบียนแอปพลิเคชัน
  3. คลิกต่อไปเพื่อเปิดใช้ API
  4. ในหน้าข้อมูลเข้าสู่ระบบ ให้สร้างคีย์ Android ใหม่ (และตั้งค่าข้อมูลเข้าสู่ระบบ API)
    หมายเหตุ: หากมีคีย์ Android อยู่แล้ว ก็ใช้คีย์นั้นได้
  5. ในกล่องโต้ตอบที่แสดง ให้ป้อนลายนิ้วมือ 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.nearbyexample
  6. คีย์ API ของ Android ใหม่จะปรากฏในรายการคีย์ API สำหรับโปรเจ็กต์ของคุณ คีย์ API เป็นสตริงอักขระดังนี้
    AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0

รับลายนิ้วมือ SHA1 ของใบรับรอง

หากต้องการสร้างคีย์ API ใหม่สำหรับแอป Android คุณต้องมีลายนิ้วมือ SHA1 ของใบรับรองที่ใช้ลงนาม APK โดยข้อความจะแลกเปลี่ยนได้ระหว่างแอปที่ลงนามด้วยคีย์ API จากโปรเจ็กต์เดียวกันเท่านั้น

หากต้องการดูลายนิ้วมือนี้ ให้ทำดังนี้

  1. ค้นหาตำแหน่งของคีย์สโตร์
  2. ในเทอร์มินัล ให้เรียกใช้ยูทิลิตี keytool จาก JDK ตัวอย่างเช่น หากคุณใช้คีย์สโตร์ `debug` ให้ดำเนินการดังนี้
  3. $ keytool -alias \
    androiddebugkey -keystore \
    ~/.android/debug.keystore -list -v
    

    หมายเหตุ: สำหรับคีย์สโตร์สำหรับการแก้ไขข้อบกพร่อง รหัสผ่านคือ android ใน Mac OS และ Linux คีย์สโตร์ของการแก้ไขข้อบกพร่องมักจะอยู่ที่ ~/.android/debug.keystore ใน Windows โดยปกติจะอยู่ที่ %USERPROFILE%\.android\debug.keystore

  4. เอาต์พุตของคำสั่ง keytool ประกอบด้วยลายนิ้วมือ SHA1 สำหรับใบรับรอง

ขั้นตอนที่ 4: กำหนดค่าโปรเจ็กต์

Android Studio ช่วยให้ สร้างโปรเจ็กต์สำหรับ Nearby Messages API ได้ง่ายๆ ทำตามขั้นตอนที่อธิบายไว้ในการสร้างโปรเจ็กต์เพื่อสร้างโปรเจ็กต์ใหม่ ใน Android Studio ให้เปิดไฟล์ build.gradle ของโมดูล แล้วเพิ่มไลบรารีของไคลเอ็นต์บริการ Google Play เป็นทรัพยากร Dependency

apply plugin: 'android'
...

dependencies {
    compile 'com.google.android.gms:play-services-nearby:19.1.0'
}

จากนั้นกำหนดค่าไฟล์ Manifest ด้วยคีย์ API ที่สร้างขึ้นในขั้นตอนก่อนหน้า ดังนี้

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.google.sample.app" >
    <application ...>
        <meta-data
            android:name="com.google.android.nearby.messages.API_KEY"
            android:value="API_KEY" />
        <activity>
        ...
        </activity>
    </application>
</manifest>

ขั้นตอนที่ 5: เผยแพร่และสมัครใช้บริการ

เริ่มใช้ Nearby Messages API ในแอป

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ...
    mMessageListener = new MessageListener() {
        @Override
        public void onFound(Message message) {
            Log.d(TAG, "Found message: " + new String(message.getContent()));
        }

        @Override
        public void onLost(Message message) {
            Log.d(TAG, "Lost sight of message: " + new String(message.getContent()));
        }
    }

    mMessage = new Message("Hello World".getBytes());
}

@Override
public void onStart() {
    super.onStart();
    ...
    Nearby.getMessagesClient(this).publish(mMessage);
    Nearby.getMessagesClient(this).subscribe(mMessageListener);
}

@Override
public void onStop() {
    Nearby.getMessagesClient(this).unpublish(mMessage);
    Nearby.getMessagesClient(this).unsubscribe(mMessageListener);
    ...
    super.onStop();
}

Nearby Messages API ต้องได้รับความยินยอมจากผู้ใช้ เมื่อเรียกใช้การเผยแพร่หรือสมัครใช้บริการเป็นครั้งแรก Nearby จะแสดงกล่องโต้ตอบแบบเลือกใช้