Submit Search
Upload
Nearby Messages API
•
0 likes
•
832 views
A
akkuma
Follow
GoogleのNeaby Messages APIの説明 Sample: https://github.com/akkm/NearbySample
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 16
Download now
Download to read offline
Recommended
Fragmentwithouttag
Fragmentwithouttag
university of Gujrat, pakistan
FB login
FB login
Sambas Jundi Mahfuzdi
xml version fnl_ja
xml version fnl_ja
jaya lakshmi
Latihan android
Latihan android
tasmin amin
Aula 10 04 (Gerenciadores de layouts)
Aula 10 04 (Gerenciadores de layouts)
Ricardo Longa
Pract 7
Pract 7
Ricardo Elizondo López
Lab 9 list view
Lab 9 list view
Phonepaseuth Phonhdala
Actividad 11
Actividad 11
Juan Plascencia Zepeda
Recommended
Fragmentwithouttag
Fragmentwithouttag
university of Gujrat, pakistan
FB login
FB login
Sambas Jundi Mahfuzdi
xml version fnl_ja
xml version fnl_ja
jaya lakshmi
Latihan android
Latihan android
tasmin amin
Aula 10 04 (Gerenciadores de layouts)
Aula 10 04 (Gerenciadores de layouts)
Ricardo Longa
Pract 7
Pract 7
Ricardo Elizondo López
Lab 9 list view
Lab 9 list view
Phonepaseuth Phonhdala
Actividad 11
Actividad 11
Juan Plascencia Zepeda
Activity accueil
Activity accueil
Saber LAJILI
Main.xml
Main.xml
Saber LAJILI
Groovy/Grails on Google App Engine <シンプル導入編>
Groovy/Grails on Google App Engine <シンプル導入編>
Kazuchika Sekiya
Multiple Hyperlinks App
Multiple Hyperlinks App
Peeyush Ranjan
BindingCollectionAdapter
BindingCollectionAdapter
Artyom Vlasov
Customizing Theme and Style for Material Design : Droid Kaigi 2016
Customizing Theme and Style for Material Design : Droid Kaigi 2016
Yuki Anzai
Actividad 02
Actividad 02
Jose AC
Django user permissions in your templates
Django user permissions in your templates
Anton Pirker
Material Design with Support Design Library
Material Design with Support Design Library
Taeho Kim
Penambahan menu atau tampilan
Penambahan menu atau tampilan
iswan_di
Programa6
Programa6
josuedelangel
Modul praktikum 9 - Android Sudaryatno
Modul praktikum 9 - Android Sudaryatno
Yatno Sudar
20101106 연합세미나 Session 2
20101106 연합세미나 Session 2
Hyeon Cheol Pak
La vista video view
La vista video view
Yanori Perez
List view
List view
Ris Fernandez
Utilizando diretivas com AngularJS
Utilizando diretivas com AngularJS
Rodrigo Branas
PayPal's NemoJS and Applitools Eyes - Visual Testing with Node.js
PayPal's NemoJS and Applitools Eyes - Visual Testing with Node.js
Applitools
Evoluindo a arquitetura de uma aplicação com AngularJS
Evoluindo a arquitetura de uma aplicação com AngularJS
Rodrigo Branas
Criando aplicações com vuejs
Criando aplicações com vuejs
Felipe César
More Related Content
What's hot
Activity accueil
Activity accueil
Saber LAJILI
Main.xml
Main.xml
Saber LAJILI
Groovy/Grails on Google App Engine <シンプル導入編>
Groovy/Grails on Google App Engine <シンプル導入編>
Kazuchika Sekiya
Multiple Hyperlinks App
Multiple Hyperlinks App
Peeyush Ranjan
BindingCollectionAdapter
BindingCollectionAdapter
Artyom Vlasov
Customizing Theme and Style for Material Design : Droid Kaigi 2016
Customizing Theme and Style for Material Design : Droid Kaigi 2016
Yuki Anzai
Actividad 02
Actividad 02
Jose AC
Django user permissions in your templates
Django user permissions in your templates
Anton Pirker
Material Design with Support Design Library
Material Design with Support Design Library
Taeho Kim
Penambahan menu atau tampilan
Penambahan menu atau tampilan
iswan_di
Programa6
Programa6
josuedelangel
Modul praktikum 9 - Android Sudaryatno
Modul praktikum 9 - Android Sudaryatno
Yatno Sudar
20101106 연합세미나 Session 2
20101106 연합세미나 Session 2
Hyeon Cheol Pak
La vista video view
La vista video view
Yanori Perez
List view
List view
Ris Fernandez
Utilizando diretivas com AngularJS
Utilizando diretivas com AngularJS
Rodrigo Branas
PayPal's NemoJS and Applitools Eyes - Visual Testing with Node.js
PayPal's NemoJS and Applitools Eyes - Visual Testing with Node.js
Applitools
Evoluindo a arquitetura de uma aplicação com AngularJS
Evoluindo a arquitetura de uma aplicação com AngularJS
Rodrigo Branas
Criando aplicações com vuejs
Criando aplicações com vuejs
Felipe César
What's hot
(19)
Activity accueil
Activity accueil
Main.xml
Main.xml
Groovy/Grails on Google App Engine <シンプル導入編>
Groovy/Grails on Google App Engine <シンプル導入編>
Multiple Hyperlinks App
Multiple Hyperlinks App
BindingCollectionAdapter
BindingCollectionAdapter
Customizing Theme and Style for Material Design : Droid Kaigi 2016
Customizing Theme and Style for Material Design : Droid Kaigi 2016
Actividad 02
Actividad 02
Django user permissions in your templates
Django user permissions in your templates
Material Design with Support Design Library
Material Design with Support Design Library
Penambahan menu atau tampilan
Penambahan menu atau tampilan
Programa6
Programa6
Modul praktikum 9 - Android Sudaryatno
Modul praktikum 9 - Android Sudaryatno
20101106 연합세미나 Session 2
20101106 연합세미나 Session 2
La vista video view
La vista video view
List view
List view
Utilizando diretivas com AngularJS
Utilizando diretivas com AngularJS
PayPal's NemoJS and Applitools Eyes - Visual Testing with Node.js
PayPal's NemoJS and Applitools Eyes - Visual Testing with Node.js
Evoluindo a arquitetura de uma aplicação com AngularJS
Evoluindo a arquitetura de uma aplicação com AngularJS
Criando aplicações com vuejs
Criando aplicações com vuejs
Nearby Messages API
1.
2.
3.
4.
keytool -list -v
-keystore ~/.android/debug.keystore
5.
• compile ‘com.google.android.gms:play-services-nearby:8.3.0' <?xml
version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="info.akkuma.nearbysample" > <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme" > <meta-data android:name="com.google.android.nearby.messages.API_KEY" android:value=“put-your-key“ /> </application> </manifest> キーをここに書く
6.
@Override protected void onCreate(Bundle
savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mGoogleApiClient = new GoogleApiClient.Builder(this) .addApi(Nearby.MESSAGES_API) .addConnectionCallbacks(mConnectionCallbacks) .addOnConnectionFailedListener(mFailedListener) .build(); }
7.
8.
Nearby.Messages.getPermissionStatus(mGoogleApiClient) .setResultCallback(new ResultCallback<Status>() { @Override public
void onResult(Status status) { if (status.isSuccess()) { Nearby.Messages.subscribe(mGoogleApiClient, mMessageListener, mStrategy); } else { try { status.startResolutionForResult(MainActivity.this, REQUEST_RESOLVE_ERROR); } catch (IntentSender.SendIntentException e) { Log.e(TAG, e.toString()); } } } }); 許可されていない場合 既に許可されている場合
9.
@Override protected void onActivityResult(int
requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == REQUEST_RESOLVE_ERROR) { if (resultCode == RESULT_OK) { Nearby.Messages.subscribe(mGoogleApiClient, mMessageListener, mStrategy); } else { Log.d(TAG, "Failed to resolve error with code " + resultCode); } } } 許可された場合
10.
Message message =
new Message(content); Nearby.Messages.publish(mGoogleApiClient, message, mStrategy) .setResultCallback(new ResultCallback<Status>(){ @Override public void onResult(Status status) { } }); 送信するbyte配列(1MB以下・3KB以下推奨) 送信成功時のコールバック Strategy(後述)
11.
mMessageListener = new
MessageListener() { @Override public void onFound(Message message) { } }; Nearby.Messages.subscribe(mGoogleApiClient, mMessageListener, mStrategy); 受信時のコールバック Strategy(後述)
12.
private Strategy mStrategy
= new Strategy.Builder() .setDiscoveryMode(Strategy.DISCOVERY_MODE_DEFAULT) .setDistanceType(Strategy.DISTANCE_TYPE_DEFAULT) .setTtlSeconds(Strategy.TTL_SECONDS_DEFAULT) .build();
13.
private Strategy mStrategy
= new Strategy.Builder() .setDiscoveryMode(Strategy.DISCOVERY_MODE_DEFAULT) .setDistanceType(Strategy.DISTANCE_TYPE_DEFAULT) .setTtlSeconds(Strategy.TTL_SECONDS_DEFAULT) .build();
14.
private Strategy mStrategy
= new Strategy.Builder() .setDiscoveryMode(Strategy.DISCOVERY_MODE_DEFAULT) .setDistanceType(Strategy.DISTANCE_TYPE_DEFAULT) .setTtlSeconds(Strategy.TTL_SECONDS_DEFAULT) .build();
15.
private Strategy mStrategy
= new Strategy.Builder() .setDiscoveryMode(Strategy.DISCOVERY_MODE_DEFAULT) .setDistanceType(Strategy.DISTANCE_TYPE_DEFAULT) .setTtlSeconds(Strategy.TTL_SECONDS_DEFAULT) .build();
Download now