사용자가 필요한 권한을 모두 부여하면 앱에서 근처 기기를 찾기 위해 광고를 검색하고 발견할 수 있습니다.
먼저 사용 사례로 Strategy
을 선택합니다.
선택한 Strategy
에 따라 앱의 연결 토폴로지가 결정됩니다 (광고주 한 명에서 N명으로, M 광고주에서 N 명으로 연결).
광고할 기기에서 원하는 Strategy
와 앱을 식별하는 serviceId
매개변수를 사용하여 startAdvertising()
를 호출합니다.
근처 광고주를 검색할 기기에서 동일한 Strategy
및 serviceId
로 startDiscovery()
를 호출합니다.
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()
를 호출합니다.