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

เอกสารนี้อธิบายวิธีเริ่มต้นพัฒนาด้วย 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 Tools ให้ตรวจสอบว่าได้ติดตั้งแพ็กเกจต่อไปนี้แล้ว

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

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

คุณต้องมี บัญชี Google จึงจะใช้ Nearby Messages API ได้ เพื่อให้คุณซึ่งเป็นนักพัฒนาแอปเปิดใช้ 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. คีย์ Android API ใหม่จะปรากฏในรายการคีย์ API สำหรับโปรเจ็กต์ คีย์ API เป็นสตริงของอักขระ เช่น
    AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0

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

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

วิธีรับลายนิ้วมือนี้

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

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

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

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

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

apply plugin: 'android'
...

dependencies {
    compile 'com.google.android.gms:play-services-nearby:19.5.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 จะแสดงกล่องโต้ตอบการเลือกรับ