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

เอกสารนี้อธิบายวิธีเริ่มพัฒนาด้วย 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
  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.3.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 กำหนดให้ต้องได้รับความยินยอมจากผู้ใช้ เมื่อเรียกใช้การเผยแพร่หรือการติดตามเป็นครั้งแรก ฟีเจอร์ "ใกล้เคียง" จะแสดงกล่องโต้ตอบให้เลือกรับ