Başlarken

Bu belgede, Android'de Nearby Messages API ile geliştirmeye nasıl başlayacağınız açıklanmaktadır. Yakındaki Mesajlar API'si, Google Play Hizmetleri'nin bir parçasıdır.

1. adım: Google Play Hizmetleri'ni edinin

Yakındaki Mesajlar API'si, 7.8.0 veya sonraki sürümlerdeki Google Play Hizmetleri'nin yüklü olduğu Android cihazlarda kullanılabilir. Google Play Store uygulaması yüklü olan ve Android 2.3 veya sonraki sürümlerin kullanıldığı cihazlar, Google Play Hizmetleri güncellemelerini otomatik olarak alır. Cihazınızda yüklü Google Play Hizmetleri sürümünü kontrol etmek için Ayarlar > Uygulamalar > Google Play Hizmetleri'ne gidin.

Geliştirme ana makinenizde Google Play Hizmetleri için en yeni istemci kitaplığının bulunduğundan emin olun:

  1. Android SDK Manager'ı açın.
  2. Görünüm ve Davranış > Sistem Ayarları > Android SDK > SDK Araçları bölümünde, aşağıdaki paketlerin yüklendiğinden emin olun:

    • Google Play Hizmetleri
    • Google Repository

2. adım: Google Hesabı edinin

Yakındaki Mesajlar API'lerini kullanmak için Google Hesabınızın olması gerekir. Böylece geliştirici olarak siz, sonraki adımda Nearby API'yi etkinleştirebilirsiniz (kullanıcılarınızın Google Hesabı olması gerekmez). Hesabınız varsa başka bir şey yapmanız gerekmez. Test amacıyla ayrı bir Google Hesabı da kullanmak isteyebilirsiniz.

3. adım: API anahtarı alın

Android için Google Nearby Messages API'yi etkinleştirmek ve API anahtarı almak için aşağıdaki adımları uygulayın:

  1. Google Developers Console'a gidin.
  2. Uygulamanızı kaydetmek için bir proje oluşturun veya seçin.
  3. API'yi etkinleştirmek için Devam'ı tıklayın.
  4. Kimlik bilgileri sayfasında yeni bir Android anahtarı oluşturun (ve API kimlik bilgilerini ayarlayın).
    Not: Mevcut bir Android anahtarınız varsa bu anahtarı kullanabilirsiniz.
  5. Açılan iletişim kutusunda uygulamanızın SHA-1 parmak izini ve paket adını girin. Örneğin:
    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. Yeni Android API anahtarınız, projenizin API anahtarları listesinde görünür. API anahtarı, karakterlerden oluşan bir dizedir. Örneğin:
    AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0

Sertifikanızın SHA1 parmak izini alma

Android uygulamanız için yeni bir API anahtarı oluşturmak üzere APK'nızı imzalamak için kullandığınız sertifikanın SHA1 parmak izine ihtiyacınız vardır. Mesajlar yalnızca aynı projenin API anahtarlarıyla imzalanmış uygulamalar arasında gönderilebilir.

Bu parmak izini almak için:

  1. Anahtar deponuzun konumunu bulun.
  2. Terminalde, JDK'dan keytool yardımcı programını çalıştırın. Örneğin, `debug` anahtar deposunu kullanıyorsanız:
  3. $ keytool -alias \
    androiddebugkey -keystore \
    ~/.android/debug.keystore -list -v
    

    Not: Hata ayıklama anahtar deposunun şifresi android şeklindedir. Mac OS ve Linux'ta hata ayıklama anahtar deposu genellikle ~/.android/debug.keystore konumunda bulunur. Windows'da genellikle %USERPROFILE%\.android\debug.keystore konumunda bulunur.

  4. keytool komutunun çıkışı, sertifikanın SHA1 parmak izini içerir.

4. adım: Projenizi yapılandırın

Android Studio, Nearby Messages API için proje oluşturmayı kolaylaştırır. Yeni bir proje oluşturmak için Proje Oluşturma bölümünde açıklanan adımları uygulayın. Android Studio'da modülünüzün build.gradle dosyasını açın ve Google Play Hizmetleri istemci kitaplığını bağımlılık olarak ekleyin:

apply plugin: 'android'
...

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

Ardından, manifestinizi önceki adımda oluşturulan API anahtarıyla yapılandırın:

<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. adım: Yayınlama ve abone olma

Uygulamanızda Nearby Messages API'yi kullanmaya başlayın.

@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();
}

Yakındaki Mesajlar API'si için kullanıcı izni gerekir. Yayınlama veya abone olma ilk kez çağrıldığında Yakındaki Cihazlar, etkinleştirme iletişim kutusunu gösterir.