Show Menu
화제×

API 참조 배치

다음은 위치 확장의 API 참조에 대한 정보입니다.

영역 이벤트 처리

장치가 앱의 사전 정의된 장소 서비스 영역 경계를 넘나들면, 지역과 이벤트 유형이 처리를 위해 SDK로 전달됩니다.

ProcessGeofence(Android)

제공된 Geofence 지역 이벤트를 처리합니다 transitionType .
에서 transitionType 전달 GeofencingEvent.getGeofenceTransition() . 현재 Geofence.GEOFENCE_TRANSITION_ENTER Geofence.GEOFENCE_TRANSITION_EXIT 지원됩니다.
구문
다음은 이 메서드에 대한 구문입니다.
public static void processGeofence(final Geofence geofence, final int transitionType);

이 메서드는 Android geofence 이벤트 수신을 위해 IntentService 등록된 사용자 컴퓨터에서 호출합니다.
다음은 이 메서드의 코드 샘플입니다.
public class GeofenceTransitionsIntentService extends IntentService {

    public GeofenceTransitionsIntentService() {
        super("GeofenceTransitionsIntentService");
    }

    protected void onHandleIntent(Intent intent) {
        GeofencingEvent geofencingEvent = GeofencingEvent.fromIntent(intent);

        List<Geofence> geofences = geofencingEvent.getTriggeringGeofences();

        if (geofences.size() > 0) {
          // Call the Places API to process information
          Places.processGeofence(geofences.get(0), geofencingEvent.getGeofenceTransition());
        }
    }
}

ProcessRegionEvent(iOS)

이 메서드는 CLLocationManager 대리자에서 호출해야 하며, 이는 사용자가 특정 영역을 입력하거나 종료했는지 여부를 나타냅니다.
구문
다음은 이 메서드에 대한 구문입니다.
+ (void) processRegionEvent: (nonnull CLRegion*) region forRegionEventType: (ACPRegionEventType) eventType;

다음은 이 메서드의 코드 샘플입니다.
- (void) locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region {
    [ACPPlaces processRegionEvent:region forRegionEventType:ACPRegionEventTypeEntry];
}

- (void) locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region {
    [ACPPlaces processRegionEvent:region forRegionEventType:ACPRegionEventTypeExit];
}

ProcessGeofencingEvent(Android)

동시에 모든 Geofences 작업을 GeofencingEvent 처리할 수 있습니다.
구문
public static void processGeofenceEvent(final GeofencingEvent geofencingEvent);

Android geofence 이벤트 수신을 위해 등록된 IntentService 앱에서 이 메서드를 호출합니다.
public class GeofenceTransitionsIntentService extends IntentService {

    public GeofenceTransitionsIntentService() {
        super("GeofenceTransitionsIntentService");
    }

    protected void onHandleIntent(Intent intent) {
        GeofencingEvent geofencingEvent = GeofencingEvent.fromIntent(intent);
        // Call the Places API to process information
        Places.processGeofenceEvent(geofencingEvent);
    }
}

가까운 관심 영역 검색

콜백에서 주변 POI의 순서가 지정된 목록을 반환합니다. 이 메서드의 오버로드된 버전은 결과 네트워크 호출에 문제가 발생하면 오류 코드를 반환합니다.

GetNearlyPointsOfInterest(Android)

다음은 이 메서드에 대한 구문입니다.
구문
public static void getNearbyPointsOfInterest(final Location location, final int limit,
                                             final AdobeCallback<List<PlacesPOI>> callback);

public static void getNearbyPointsOfInterest(final Location location, final int limit,
                                             final AdobeCallback<List<PlacesPOI>> callback,
                                             final AdobeCallback<PlacesRequestError> errorCallback);

다음은 이 메서드의 코드 샘플입니다.
// getNearbyPointsOfInterest without an error callback
Places.getNearbyPointsOfInterest(currentLocation, 10, new AdobeCallback<List<PlacesPOI>>() {
    @Override
    public void call(List<PlacesPOI> pois) {
        // do required processing with the returned nearbyPoi array
        startMonitoringPois(pois);
    }
});

// getNearbyPointsOfInterest with an error callback
Places.getNearbyPointsOfInterest(currentLocation, 10,
    new AdobeCallback<List<PlacesPOI>>() {
        @Override
        public void call(List<PlacesPOI> pois) {
            // do required processing with the returned nearbyPoi array
            startMonitoringPois(pois);
        }
    }, new AdobeCallback<PlacesRequestError>() {
        @Override
        public void call(PlacesRequestError placesRequestError) {
            // look for the placesRequestError and handle the error accordingly
            handleError(placesRequestError);
        }
    }
);

GetNearlyPointsOfInterest(iOS)

구문
+ (void) getNearbyPointsOfInterest: (nonnull CLLocation*) currentLocation
                             limit: (NSUInteger) limit
                          callback: (nullable void (^) (NSArray<ACPPlacesPoi*>* _Nullable nearbyPoi)) callback;

+ (void) getNearbyPointsOfInterest: (nonnull CLLocation*) currentLocation
                             limit: (NSUInteger) limit
                          callback: (nullable void (^) (NSArray<ACPPlacesPoi*>* _Nullable nearbyPoi)) callback
                     errorCallback: (nullable void (^) (ACPPlacesRequestError result)) errorCallback;

// getNearbyPointsOfInterest without an error callback
[ACPPlaces getNearbyPointsOfInterest:location
                               limit:10     
                            callback:^(NSArray<ACPPlacesPoi*>* nearbyPoi) {
    // do required processing with the returned nearbyPoi array
    [self startMonitoringPois:nearbyPOI];
}];

// getNearbyPointsOfInterest with an error callback
[ACPPlaces getNearbyPointsOfInterest:location limit:10
    callback:^(NSArray<ACPPlacesPoi *> * _Nullable nearbyPoi) {
        // do required processing with the returned nearbyPoi array
        [self startMonitoringPois:nearbyPOI];
    } errorCallback:^(ACPPlacesRequestError result) {
        // look for the error and handle accordingly
        [self handleError:result];
    }
];

현재 관심 장치 지점 검색

장치가 현재 있는 것으로 알려진 POI 목록을 요청하고 콜백에서 반환합니다.

GetCurrentPointsOfInterest(Android)

다음은 이 메서드에 대한 구문입니다.
구문
public static void getCurrentPointsOfInterest(final AdobeCallback<List<PlacesPOI>> callback);

다음은 이 메서드의 코드 샘플입니다.
Places.getCurrentPointsOfInterest(new AdobeCallback<List<PlacesPOI>>() {
    @Override
    public void call(List<PlacesPOI> pois) {
        // use the obtained POIs that the device is within
        processUserWithinPois(pois);        
    }
});

GetCurrentPointsOfInterest(iOS)

구문
다음은 이 메서드에 대한 구문입니다.
+ (void) getCurrentPointsOfInterest: (nullable void (^) (NSArray<ACPPlacesPoi*>* _Nullable userWithinPoi)) callback;

다음은 이 메서드의 코드 샘플입니다.
[ACPPlaces getCurrentPointsOfInterest:^(NSArray<ACPPlacesPoi*>* userWithinPoi) {
    // do required processing with the returned userWithinPoi array
    [self processUserWithinPois:userWithinPoi];
}];

장치의 위치 가져오기

장치 위치를 위치 확장명으로 요청합니다.
위치 확장 기능은 호출을 통해 제공된 위치만 알고 GetNearbyPointsOfInterest 있습니다.

GetLastKnownLocation(Android)

구문
다음은 이 메서드에 대한 구문입니다.
public static void getLastKnownLocation(final AdobeCallback<Location> callback);

다음은 이 메서드의 코드 샘플입니다.
Places.getLastKnownLocation(new AdobeCallback<Location>() {
    @Override
    public void call(Location lastLocation) {
        // do something with the last known location
        processLastKnownLocation(lastLocation);        
    }
});

GetLastKnownLocation(iOS)

구문
다음은 이 메서드에 대한 구문입니다.
+ (void) getLastKnownLocation: (nullable void (^) (CLLocation* _Nullable lastLocation)) callback;

다음은 이 메서드의 코드 샘플입니다.
[ACPPlaces getLastKnownLocation:^(CLLocation* lastLocation) {
    // do something with the last known location
    [self processLastKnownLocation:lastLocation];
}];

클라이언트측 데이터 지우기

지우기(Android)

공유 상태, 로컬 저장소 및 메모리 내 위치 확장 기능에 대한 클라이언트측 데이터를 지웁니다.
구문
다음은 이 메서드에 대한 구문입니다.
public static void clear();

다음은 이 메서드의 코드 샘플입니다.
Places.clear();

clear(iOS)

공유 상태, 로컬 저장소 및 메모리 내 위치 확장 기능에 대한 클라이언트측 데이터를 지웁니다.
구문
다음은 이 메서드에 대한 구문입니다.
+ (void) clear;

다음은 이 메서드의 코드 샘플입니다.
[ACPPlaces clear];

위치 인증 상태 설정

setAuthorizationStatus(Android)

Places v1.4.0부터 사용 가능
위치 확장 프로그램에서 인증 상태를 설정합니다.
제공된 상태는 # 공유 상태에 저장되며 참조용으로만 사용됩니다. 이 메서드를 호출해도 이 장치의 실제 위치 인증 상태에 영향을 주지 않습니다.
구문
다음은 이 메서드에 대한 구문입니다.
public static void setAuthorizationStatus(final PlacesAuthorizationStatus status);

다음은 이 메서드의 코드 샘플입니다.
Places.setAuthorizationStatus(PlacesAuthorizationStatus.ALWAYS);

setAuthorizationStatus(iOS)

ACPPlaces v1.3.0부터 사용 가능
위치 확장 프로그램에서 인증 상태를 설정합니다.
제공된 상태는 # 공유 상태에 저장되며 참조용으로만 사용됩니다. 이 메서드를 호출해도 이 장치의 실제 위치 인증 상태에 영향을 주지 않습니다.
장치 인증 상태가 변경되면 사용자의 locationManager:didChangeAuthorizationStatus: 방법이 CLLocationManagerDelegate 호출됩니다. 이 방법 내에서 새 CLAuthorizationStatus 값을 ACPPlays API로 전달해야 setAuthorizationStatus: 합니다.
구문
다음은 이 메서드에 대한 구문입니다.
+ (void) setAuthorizationStatus: (CLAuthorizationStatus) status;

다음은 이 메서드의 코드 샘플입니다.
- (void) locationManager: (CLLocationManager*) manager didChangeAuthorizationStatus: (CLAuthorizationStatus) status {    
    [ACPPlaces setAuthorizationStatus:status];
}