APIリファレンスを配置

Places拡張機能のAPIリファレンスに関する情報を次に示します。

地域イベントの処理

デバイスがアプリの事前定義済みの場所サービスの領域の境界の1つを越えると、領域とイベントタイプがSDKに渡され、処理されます。

ProcessGeofence(Android)

指定されたtransitionTypeGeofenceリージョンイベントを処理します。

GeofencingEvent.getGeofenceTransition()からtransitionTypeを渡します。 現在、Geofence.GEOFENCE_TRANSITION_ENTERGeofence.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)

GeofencingEvent内のすべてのGeofencesを同時に処理します。

構文

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の順序付けられたリストを返します。 このメソッドのオーバーロードされたバージョンは、結果のネットワーク呼び出しで何か問題が発生した場合にエラーコードを返します。

GetNichlorePointsOfInterest (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);
        }
    }
);

GetNichlorePointsOfInterest (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];
}];

デバイスの場所を取得する

Places拡張機能によって、既知のデバイスの場所を要求します。

ヒント

Places拡張機能は、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)

共有状態、ローカルストレージ、およびメモリ内のPlaces拡張のクライアント側データを消去します。

構文

このメソッドの構文を次に示します。

public static void clear();

このメソッドのコードサンプルを次に示します。

Places.clear();

クリア(iOS)

共有状態、ローカルストレージ、およびメモリ内のPlaces拡張のクライアント側データを消去します。

構文

このメソッドの構文を次に示します。

+ (void) clear;

このメソッドのコードサンプルを次に示します。

[ACPPlaces clear];

場所の認証状態の設定

setAuthorizationStatus(Android)

Places v1.4.0以降で利用可能

Places拡張で認証状態を設定します。

表示されるステータスは、[場所]共有状態に保存され、参照用にのみ表示されます。
このメソッドを呼び出しても、このデバイスの実際の場所の認証状態には影響しません。

構文

このメソッドの構文を次に示します。

public static void setAuthorizationStatus(final PlacesAuthorizationStatus status);

このメソッドのコードサンプルを次に示します。

Places.setAuthorizationStatus(PlacesAuthorizationStatus.ALWAYS);

setAuthorizationStatus(iOS)

ACPPlaces v1.3.0以降で利用可能

Places拡張で認証状態を設定します。

表示されるステータスは、[場所]共有状態に保存され、参照用にのみ表示されます。
このメソッドを呼び出しても、このデバイスの実際の場所の認証状態には影響しません。

デバイス認証の状態が変わると、CLLocationManagerDelegatelocationManager:didChangeAuthorizationStatus:メソッドが呼び出されます。 このメソッド内から、新しいCLAuthorizationStatus値をACPPlaces setAuthorizationStatus: APIに渡す必要があります。

構文

このメソッドの構文を次に示します。

+ (void) setAuthorizationStatus: (CLAuthorizationStatus) status;

このメソッドのコードサンプルを次に示します。

- (void) locationManager: (CLLocationManager*) manager didChangeAuthorizationStatus: (CLAuthorizationStatus) status {    
    [ACPPlaces setAuthorizationStatus:status];
}

このページ

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now