Yakındaki Mesajlar, yakındaki cihazların birbiriyle alışveriş yapmasını sağlayan bir "yayınla-abone ol" API'sidir. küçük veri yükleri var. Bir cihaz mesaj yayınladığında yakındaki cihazlar mesajı alabilir. Bu kılavuz, Google Web Yöneticisi Araçları'nda mesaj yayınlamak ve mesajlara abone olmak için uygulamanızın uygulaması gerekir Bu özelliği kullanabilirsiniz.
Yakındaki cihazlar grubu, küçük jetonların Bluetooth'a dokunun. Bir cihaz yakındaki bir cihazdan gelen jeton algıladığında Doğrulamak için Yakındaki Mesajlar sunucusuna gönderin ve uygulamanın mevcut abonelik grubuna teslim edilecek mesajlar
Uygulama, cihaz keşfi için kullanılan ortam grubunu kontrol edebilir ve ortamların jeton yayınlamak ve/veya jeton taraması yapmak için kullanılıp kullanılmadığı. Varsayılan olarak, yayınlama ve tarama tüm ortamlarda yapılır. Yapılacaklar bir alt küme veya aracı üzerinde keşif yapmak ve yayın mı yoksa tarama yapmak mı yayın oluşturduğunuzda ve kullandığınız aboneliklerdir.
Aktif olarak yayın yaparken ve abone olurken "Yakında kullanılıyor" bildirim Etrafımda özelliğinin etkin olduğunu bildiren bir mesaj gösterilir. Bu bildirim yalnızca bir veya daha fazla uygulama Etrafımda özelliğini etkin olarak kullandığında görüntülenir. Etrafımda özelliğine ihtiyaç duyulmadığında pil ömrünü uzatma şansına sahip olursunuz. Sağlar aşağıdaki seçeneklere sahiptir:
- Etrafımda özelliğini devre dışı bırakmak için bir uygulamaya gidin.
- Bir uygulamayı, Etrafımda özelliğini kullanmayı bırakmaya zorlayın.
- Yakındakiler İçin Ayarlar ekranına gidin.
Şunu kullanabilirsiniz: PublishCallback()
ve SubscribeCallback()
kullanıcının uygulamayı Etrafımda özelliğini kullanmayı bırakmaya zorladığı durumları dinlemek için kullanılır. Bu
bu,
onExpired()
yöntemi tetiklenir.
Nearby Messages API'lerinin pil ömrünü etkileme potansiyeli olduğundan, yalnızca ön plan etkinliğinden ( BLE arka plan aboneliği).
publish()
numaralı telefonu arayın
ve/veya subscribe()
Yakındaki Mesajlar API'sini kullanmak için. Uygulamanız daima
simetrik olarak unpublish()
ve unsubscribe()
onStop()
içinde.
@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();
}
İleti yayınlayın
Mesaj yayınlamak için Nearby.getMessagesClient(Activity).publish()
numaralı telefonu arayın
ileti bayt dizinizi iletmenizi sağlar. İletileri, bu süreden sonra daha az sıklıkla tutmanızı öneririz
3 KB (bu iletiler daha hızlı gönderebiliriz), ancak
gereken uygulamalardır. Bu hizmet, resim ve metin gibi daha büyük nesnelerin takas edilmesi için tasarlanmamıştır.
fotoğraf ve video olarak kullanabilirsiniz.
İsterseniz PublishOptions.setStrategy()
numaralı telefonu arayabilirsiniz
stratejiyi belirlemek için
tıklayın.
Aşağıdaki örnekte küçük bir kısa mesaj göndermek için publish()
yönteminin çağrılması gösterilmektedir
mesaj:
private void publish(String message) {
Log.i(TAG, "Publishing message: " + message);
mActiveMessage = new Message(message.getBytes());
Nearby.getMessagesClient(this).publish(mActiveMessage);
}
Mesaj yayından kaldırma
Bir mesajı yayından kaldırmak için unpublish()
numaralı telefonu arayın. En azından
uygulama, onStop()
bölümünde yayından kaldır komutunu çağırmalıdır
yöntemidir. Aynı Message
kartını geçin
nesne (bu örnekte mActiveMessage
) kullanılabilir.
Aşağıdaki kod örneğinde unpublish()
çağrısı gösterilmektedir:
private void unpublish() {
Log.i(TAG, "Unpublishing.");
if (mActiveMessage != null) {
Nearby.getMessagesClient(this).unpublish(mActiveMessage);
mActiveMessage = null;
}
}
Mesajlara abone ol
Diğer cihazlardan gelen mesajlara abone olmak için Nearby.getMessagesClient(Activity).subscribe()
numaralı telefonu arayın. Sertifikaya hak kazanmak için
MessageListener
gerçekleştirebilirsiniz.
İsterseniz SubscribeOptions.setStrategy()
numaralı telefonu arayabilirsiniz
stratejiyi belirlemek için
tıklayın.
Aşağıdaki örnekte iletilere abone olma gösterilmektedir:
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()));
}
}
}
// Subscribe to receive messages.
private void subscribe() {
Log.i(TAG, "Subscribing.");
Nearby.getMessagesClient(this).subscribe(mMessageListener, options);
}
E-posta listesinden çık
Abonelikten çıkmak ve cihaz mesajları almaya son vermek için şu numarayı arayın:
Nearby.getMessagesClient(Activity).unsubscribe()
. Aynısını geç
MessageListener
nesne (bu örnekte mMessageListener
) içerir.
Aşağıdaki kod örneğinde abonelikten çıkma gösterilmektedir:
private void unsubscribe() {
Log.i(TAG, "Unsubscribing.");
Nearby.getMessagesClient(this).unsubscribe(mMessageListener);
}