モニタAPIリファレンスを配置

Register Places Monitor Extension

プレースモニター拡張機能をコアイベントハブに登録します。

RegisterExtension(Android)

このAPIの構文とコード例を次に示します。

構文

Javaの構文を次に示します。

public static void registerExtension();

Experience PlatformSDKの残りの部分を初期化するonCreateメソッドでこのメソッドを呼び出します。

public class MobileApp extends Application {
  @Override
  public void onCreate(){
     super.onCreate();
     MobileCore.setApplication(this);
     try {
        PlacesMonitor.registerExtension();
     } catch (Exception e) {
       //Log the exception
       }
    }
 }

RegisterExtension(iOS)

このAPIの構文とコード例を次に示します。

構文

Objective-Cの構文を次に示します。

+ (void) registerExtension;

このメソッドは、AppDelegatedidFinishLaunchingWithOptions delegateメソッドで呼び出す必要があります。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    [ACPCore configureWithAppId:@"launch-appID"];    
    [ACPPlaces registerExtension];    
    [ACPPlacesMonitor registerExtension];

    [ACPCore start:^{
        // do other initialization of the SDK
    }];

    return YES;
}

拡張機能のバージョン

Places Monitor拡張機能の現在のバージョンを返す

ExtensionVersion(Android)

このAPIの構文とコード例を次に示します。

構文

public static String extensionVersion();

String placesMonitorVersion = PlacesMonitor.extensionVersion();

ExtensionVersion(iOS)

このAPIの構文とコード例を次に示します。

構文

+ (nonnull NSString*) extensionVersion;

NSString *placesMonitorVersion = [ACPPlacesMonitor extensionVersion];

開始デバイスの監視

デバイスの場所の追跡を開始し、周辺の場所を監視します。

開始(Android)

デバイスの場所を使用する権限がユーザーによって付与されていない場合は、start APIへの最初の呼び出しによって、ユーザーに許可を求めるメッセージが表示されます。

このAPIの構文とコード例を次に示します。

構文

public static void start();

PlacesMonitor.start();

開始(iOS)

重要

監視を開始するには、ロケーションサービスに必要な認証が必要です。

  • Places Serviceの認証がアプリケーションに提供されていない場合、start APIへの最初の呼び出しは、アプリケーションに対して設定されているPlaces Serviceを使用するための認証を要求します。
  • デバイスの機能に応じて、認証が提供されている場合、プレースモニターは、現在設定されているACPPlacesMonitorModeに基づいてユーザーの場所を追跡します。 デフォルトでは、モニターはACPPlacesMonitorModeSignificantChangesを使用します。
注意

SDKの初期化が終了する前に開始の監視の呼び出しが行われた場合は、無視される場合があります。

ACPCore::start:に提供されたコールバックからstartを呼び出すことで、SDKの初期化が完了したことを確認できます。

このAPIの構文とコード例を次に示します。

構文

+ (void) start;

SDKの初期化時にプレースモニターを開始する:

[ACPCore start:^{
    [ACPPlacesMonitor start];
}];

アプリの実行後にプレースモニターを起動する:

[ACPPlacesMonitor start];

デバイス監視の停止

デバイスの位置の追跡を停止します。

停止(Android)

このAPIの構文とコード例を次に示します。

構文

public static void stop();

PlacesMonitor.stop();

停止(iOS)

このAPIの構文とコード例を次に示します。

構文

+ (void) stop;

[ACPPlacesMonitor stop];

更新場所

このAPIは、デバイスの場所を即時に更新する場合に使用します。 このAPIを呼び出すと、デバイスは指定した正確さのレベルで位置を判断しようとします。 このプロセスは、拡張機能によって監視される近くのPOIも更新します。

UpdateLocation(Android)

このAPIの構文とコード例を次に示します。

構文

public static void updateLocation();

PlacesMonitor.updateLocation();

UpdateLocationNow(iOS)

構文

+ (void) updateLocationNow;

[ACPPlacesMonitor updateLocationNow];

アプリの場所の権限

このAPIを使用して、ユーザーが入力を求められ、Places Serviceでの使用を承認された場所の権限のタイプを設定できます。

SetLocationPermission(Android)

このAPIは、ユーザーに選択を求める場所の権限リクエストのタイプを設定します。

ヒント

このAPIは、Android 10以降のデバイスでのみ有効です。

ユーザーに表示する適切な認証プロンプトを設定するには、このAPIをPlacesMonitor.start()の前に呼び出します。 このメソッドを呼び出すと、アクティブに監視しながら、場所の権限レベルが要求された権限の値にアップグレードされます。 要求された認証レベルが既に提供または拒否されている場合、またはALWAYS_ALLOWからWHILE_USING_APPに権限をダウングレードしようとした場合、このメソッドは無効です。

場所の権限は、次のいずれかの値に設定できます。

  • PlacesMonitorLocationPermission.WHILE_USING_APP

    この値を指定すると、アプリケーションの使用中にのみデバイスの場所にアクセスするようユーザーに促します。 アクティビティが前景で実行されているなど、ユーザーがデバイス画面でアプリを表示している場合、アプリは使用中と見なされます。

    ヒント

    アプリのマニフェストファイルにACCESS_FINE_LOCATIONユーザー権限が設定されていることを確認します。

  • PlacesMonitorLocationPermission.ALWAYS_ALLOW

    この値は、アプリケーションがバックグラウンドになっている場合でも、デバイスの場所にアクセスするようユーザーに促します。

    ヒント

    アプリのマニフェストファイルにACCESS_BACKGROUND_LOCATIONとACCESS_FINE_LOCATIONのユーザー権限が設定されていることを確認します。

    PlacesMonitorLocationPermission.ALWAYS_ALLOW は、デフォルトの場所権限の値です。

重要

アプリケーションユーザーにWHILE_USING_APP権限が与えられた場合、ジオフェンスはオペレーティングシステムに登録されません。 その結果、プレースモニター拡張機能は、バックグラウンドで発生している地域でのトリガーの入口/出口イベントを行いません。

このAPIの構文とコード例を次に示します。

構文

public static void setLocationPermission(final PlacesMonitorLocationPermission placesMonitorLocationPermission)

WHILE_USING_APP権限をリクエストするには:

// set the location permission
PlacesMonitor.setLocationPermission(PlacesMonitorLocationPermission.WHILE_USING_APP);
// start monitoring
PlacesMonitor.start()

ALWAYS_ALLOW権限にアップグレードするには:

// upgrade the permission level
PlacesMonitor.setLocationPermission(PlacesMonitorLocationPermission.ALWAYS_ALLOW);

SetRequestAuthorizationLevel(iOS)

このAPIは、ユーザーに対してプロンプトが表示される場所の認証要求のタイプを設定します。

ユーザーに表示する適切な認証プロンプトを設定するには、[ACPPlacesMonitor start]を呼び出す前にSetRequestAuthorizationLevelを呼び出します。 ユーザーに表示する適切な認証プロンプトを設定するには、このAPIを[ACPPlacesMonitor start]の前に呼び出します。 アクティブな監視中にこのメソッドを呼び出すと、場所の認証レベルが要求された認証値にアップグレードされます。 要求された認証レベルが、既にアプリケーションユーザーによって提供または拒否されている場合、またはACPPlacesRequestAuthorizationLevelAlwaysからACPPlacesRequestAuthorizationLevelWhenInUseへの権限のダウングレードがある場合、このメソッドは無効です。

認証レベルは、次のいずれかの値に設定できます。

  • ACPPlacesRequestAuthorizationLevelWhenInUse

    アプリの使用中にPlaces Serviceを使用するユーザーの権限を要求します。 ユーザープロンプトには、アプリのInfo.plistファイルのNSLocationWhenInUseUsageDescriptionキーのテキストが含まれ、このメソッドを呼び出す場合はそのキーの存在が必要です。 詳しくは、requestWhenInUseAuthorization🔗のAppleのドキュメントを参照してください。

  • ACPPlacesRequestMonitorAuthorizationLevelAlways

    アプリがバックグラウンドにある場合でも、この列挙を使用してPlaces Serviceを要求します。 アプリのInfo.plistにNSLocationAlwaysUsageDescriptionキーとNSLocationWhenInUseUsageDescriptionキーが必要です。 これらのキーは、ユーザープロンプトで表示されるテキストを定義します。 詳しくは、requestAlwaysAuthorization🔗のAppleのドキュメントを参照してください。

ACPPlacesRequestAuthorizationLevelAlways は、デフォルトのリクエスト認証値です。

重要

ACPPlacesRequestAuthorizationLevelWhenInUse権限の使用を承認したアプリケーションは、バックグラウンドで発生している地域でトリガーの入口/出口イベントを行いません。

このAPIの構文とコード例を次に示します。

構文

+ (void) setRequestAuthorizationLevel: (ACPPlacesRequestAuthorizationLevel) requestAuthorizationLevel;

ACPPlacesRequestAuthorizationLevelWhenInUse権限をリクエストするには:

// set the request authorization level
[ACPPlacesMonitor setRequestAuthorizationLevel: ACPPlacesRequestAuthorizationLevelWhenInUse];
// start monitoring
[ACPPlacesMonitor start];

ACPPlacesRequestAuthorizationLevelAlways認証にアップグレードするには:

// set the request authorization level
[ACPPlacesMonitor setRequestAuthorizationLevel: ACPPlacesRequestAuthorizationLevelAlways];

監視モード(iOSのみ)

監視は、次のいずれかの値に設定できます。

  • ACPPlacesMonitorModeContinuous

    監視拡張機能は、場所をより頻繁に受信し、処理します。 この監視方法は、大量の電力を消費しますが、高い精度を提供します。 詳しくは、継続的な監視に関するAppleのドキュメントを参照してください。

  • ACPPlacesMonitorModeSignificantChanges

    監視拡張機能は、デバイスが以前に処理された場所からかなり離れた場所に移動した後にのみ、場所の更新を受信して処理します。 この監視方法は、継続的な監視方法よりも消費電力が少なくなります。 詳しくは、重要な監視に関するAppleのドキュメントを参照してください

SetPlacesMonitorMode(iOS)

このAPIの構文とコード例を次に示します。

構文

+ (void) setPlacesMonitorMode: (ACPPlacesMonitorMode) monitorMode;

[ACPPlacesMonitor setPlacesMonitorMode:ACPPlacesMonitorModeSignificantChanges];

このページ