사용자가 필요한 모든 권한을 부여하면 앱에서 주변 기기를 찾을 수 있습니다.
먼저 사용 사례에 맞는 Strategy
을 선택합니다.
선택한 Strategy
에 따라 앱의 연결 토폴로지 (하나의
광고주를 N명의 발견자로, 또는 M명의 광고주를 N명의 발견자로).
광고할 기기에서 startAdvertising()
를 호출합니다.
Strategy
및 앱을 식별하는 serviceId
매개변수
근처 광고주를 검색할 기기에서 다음을 사용하여 startDiscovery()
를 호출합니다.
동일한 Strategy
및 serviceId
입니다.
serviceId
값은 앱을 고유하게 식별해야 합니다. 가장 좋은 방법은
앱의 패키지 이름 (예: com.google.example.myapp
)
다음 예는 광고하는 방법을 보여줍니다.
private void startAdvertising() { AdvertisingOptions advertisingOptions = new AdvertisingOptions.Builder().setStrategy(STRATEGY).build(); Nearby.getConnectionsClient(context) .startAdvertising( getLocalUserName(), SERVICE_ID, connectionLifecycleCallback, advertisingOptions) .addOnSuccessListener( (Void unused) -> { // We're advertising! }) .addOnFailureListener( (Exception e) -> { // We were unable to start advertising. }); }
ConnectionLifecycleCallback
매개변수는 호출되는 콜백입니다.
발견자가 광고주에게 연결하도록 요청할 때 자세한 내용은 관리
연결
이 콜백을 정의합니다.
다음 예는 검색하는 방법을 보여줍니다.
private void startDiscovery() { DiscoveryOptions discoveryOptions = new DiscoveryOptions.Builder().setStrategy(STRATEGY).build(); Nearby.getConnectionsClient(context) .startDiscovery(SERVICE_ID, endpointDiscoveryCallback, discoveryOptions) .addOnSuccessListener( (Void unused) -> { // We're discovering! }) .addOnFailureListener( (Exception e) -> { // We're unable to start discovering. }); }
EndpointDiscoveryCallback
매개변수는 호출되는 콜백입니다.
주변에 있는 광고주를 발견하거나 잃을 때 자세한 내용은 관리
연결
이 콜백을 정의합니다.
광고가 더 이상 필요하지 않으면 stopAdvertising()
를 호출합니다.
더 이상 탐색할 필요가 없다면 stopDiscovery()
입니다.