### requestInstall (Overload 1) Source: https://developers.google.com/ar/reference/java/com/google/ar/core/ArCoreApk?hl=th Initiates installation of ARCore when needed. If ARCore is installed and compatible, returns INSTALLED. Otherwise, returns INSTALL_REQUESTED and pauses the activity for user installation. ```APIDOC ## requestInstall (Activity applicationActivity, boolean userRequestedInstall) ### Description Initiates installation of ARCore when needed. When your application launches or enters an AR mode, it should call this method with `userRequestedInstall = true`. If ARCore is installed and compatible, this function will return `ArCoreApk.InstallStatus.INSTALLED` immediately. If ARCore is not currently installed or the installed version is not compatible, the function will return `ArCoreApk.InstallStatus.INSTALL_REQUESTED` immediately. Your current activity will then pause while the user is offered the opportunity to install it. When your activity resumes, you should call this method again, this time with `userRequestedInstall = false`. This will either return `ArCoreApk.InstallStatus.INSTALLED` or throw an exception indicating the reason that installation could not be completed. ARCore-optional applications must ensure that `checkAvailability(Context)` returns one of the `SUPPORTED_...` values before calling this method. May be called prior to `Session.Session(Context)`. ### Method POST ### Endpoint N/A (Method call) ### Parameters #### Path Parameters - None #### Query Parameters - None #### Request Body - **applicationActivity** (Activity) - Your application's current activity. Used for launching an intent to display the installation user interface. - **userRequestedInstall** (boolean) - If set, override the previous installation failure message and always show the installation interface. ### Request Example ```java // When user explicitly requests AR features ArCoreApk.InstallStatus status = ArCoreApk.getInstance().requestInstall(this, true); // After activity resumes from installation prompt // ArCoreApk.InstallStatus status = ArCoreApk.getInstance().requestInstall(this, false); ``` ### Response #### Success Response (Return Value) - **ArCoreApk.InstallStatus** (enum) - Returns `INSTALLED` if ARCore is already installed and compatible, or `INSTALL_REQUESTED` if installation needs to be initiated. #### Response Example ```java ArCoreApk.InstallStatus status = ArCoreApk.getInstance().requestInstall(activity, true); if (status == ArCoreApk.InstallStatus.INSTALLED) { // ARCore is ready } else if (status == ArCoreApk.InstallStatus.INSTALL_REQUESTED) { // User will be prompted to install ARCore } ``` ### Throws - **FatalException** - if an error occurs while checking compatibility or starting installation. - **UnavailableDeviceNotCompatibleException** - if ARCore is not supported on this device. - **UnavailableUserDeclinedInstallationException** - if the user previously declined installation and userRequestedInstall is false. ``` -------------------------------- ### Request ARCore Installation (Basic) Source: https://developers.google.com/ar/reference/java/com/google/ar/core/ArCoreApk?hl=tr Initiates the installation of ARCore if it's not installed or if the installed version is incompatible. This basic version handles the user interaction flow. ```APIDOC ## requestInstall (Basic) ### Description Initiates installation of ARCore when needed. When your application launches or enters an AR mode, it should call this method with `userRequestedInstall = true`. If ARCore is installed and compatible, this function will return `ArCoreApk.InstallStatus.INSTALLED`. If ARCore is not currently installed or the installed version is not compatible, the function will return `ArCoreApk.InstallStatus.INSTALL_REQUESTED` immediately. Your current activity will then pause while the user is offered the opportunity to install it. When your activity resumes, you should call this method again, this time with `userRequestedInstall = false`. This will either return `ArCoreApk.InstallStatus.INSTALLED` or throw an exception indicating the reason that installation could not be completed. ARCore-optional applications must ensure that `checkAvailability(Context)` returns one of the `SUPPORTED_...` values before calling this method. May be called prior to `Session.Session(Context)`. ### Method POST ### Endpoint N/A (method of ArCoreApk instance) ### Parameters - **applicationActivity** (Activity) - Required - Your application's current activity. Used for launching an intent to display the installation user interface. - **userRequestedInstall** (boolean) - Required - If set, override the previous installation failure message and always show the installation interface. ### Throws - **FatalException** - if an error occurs while checking compatibility or starting installation. - **UnavailableDeviceNotCompatibleException** - if ARCore is not supported on this device. - **UnavailableUserDeclinedInstallationException** - if the user previously declined installation and `userRequestedInstall` is false. ### Request Example ```java // First call when entering AR mode ArCoreApk.InstallStatus installStatus = arCoreApi.requestInstall(activity, true); // After activity resumes (if INSTALL_REQUESTED was returned) // arCoreApi.requestInstall(activity, false); ``` ### Response - **ArCoreApk.InstallStatus** - Returns `INSTALLED` if ARCore is ready, or `INSTALL_REQUESTED` if installation flow has started. ``` -------------------------------- ### Request ARCore Installation (Basic) Source: https://developers.google.com/ar/reference/java/com/google/ar/core/ArCoreApk?hl=zh-tw Initiates the installation of ARCore if it's not installed or if the installed version is incompatible. This method should be called with `userRequestedInstall = true` when your application launches or enters AR mode. The activity may pause for user interaction during installation. ```APIDOC ## requestInstall (Basic) ### Description Initiates installation of ARCore when needed. When your application launches or enters an AR mode, it should call this method with `userRequestedInstall = true`. If ARCore is installed and compatible, this function will return `ArCoreApk.InstallStatus.INSTALLED`. If ARCore is not currently installed or the installed version is not compatible, the function will return `ArCoreApk.InstallStatus.INSTALL_REQUESTED` immediately. Your current activity will then pause while the user is offered the opportunity to install it. When your activity resumes, you should call this method again, this time with `userRequestedInstall = false`. This will either return `ArCoreApk.InstallStatus.INSTALLED` or throw an exception indicating the reason that installation could not be completed. ARCore-optional applications must ensure that `checkAvailability(Context)` returns one of the `SUPPORTED_...` values before calling this method. See our sample code for an example of how an ARCore-required application should use this function. May be called prior to `Session.Session(Context)`. ### Parameters - **applicationActivity** (Activity) - Required - Your application's current activity. Used for launching an intent to display the installation user interface. - **userRequestedInstall** (boolean) - Required - If set, override the previous installation failure message and always show the installation interface. ### Throws - **FatalException** - if an error occurs while checking compatibility or starting installation. - **UnavailableDeviceNotCompatibleException** - if ARCore is not supported on this device. - **UnavailableUserDeclinedInstallationException** - if the user previously declined installation and `userRequestedInstall` is false. ### Request Example ```java // When launching AR mode ArCoreApk.InstallStatus installStatus = ArCoreApk.getInstance().requestInstall(this, true); // After activity resumes from installation prompt // ArCoreApk.getInstance().requestInstall(this, false); ``` ### Response #### Success Response (200) - **InstallStatus** (ArCoreApk.InstallStatus) - The status of the ARCore installation request. ``` -------------------------------- ### Request ARCore Installation (Java) Source: https://developers.google.com/ar/reference/java/com/google/ar/core/ArCoreApk?hl=de Initiates the installation of ARCore when it's needed. This method can be called to prompt the user to install ARCore. Overloads allow for controlling the installation UI's behavior and the type of messages displayed to the user. ```Java public ArCoreApk.InstallStatus requestInstall(Activity applicationActivity, boolean userRequestedInstall) ``` ```Java public ArCoreApk.InstallStatus requestInstall(Activity applicationActivity, boolean userRequestedInstall, ArCoreApk.InstallBehavior installBehavior, ArCoreApk.UserMessageType messageType) ``` -------------------------------- ### Request ARCore Installation Source: https://developers.google.com/ar/reference/java/com/google/ar/core/ArCoreApk?hl=es Shows how to initiate the ARCore installation process using requestInstall. This method is used when ARCore is required but not currently installed or is outdated. ```java ArCoreApk.InstallStatus installStatus = ArCoreApk.getInstance().requestInstall(activity, true); if (installStatus == ArCoreApk.InstallStatus.INSTALL_REQUESTED) { // Installation requested, app should exit or pause AR features } ``` -------------------------------- ### Request ARCore Installation (C) Source: https://developers.google.com/ar/reference/c/group/ar-core-apk?hl=ar Initiates the download and installation of ARCore on supported devices. This function should only be called after checking ARCore availability and should be called again upon activity resume to confirm installation status. It handles cases where ARCore is not installed, outdated, or already installed. ```c ArStatus ArCoreApk_requestInstall( void *env, void *application_activity, int32_t user_requested_install, ArInstallStatus *out_install_status ) ``` -------------------------------- ### requestInstall Source: https://developers.google.com/ar/reference/java/com/google/ar/core/ArCoreApk?hl=fr Initiates the installation of the ARCore APK if it is not installed or is incompatible. ```APIDOC ## requestInstall ### Description Initiates installation of ARCore when needed. If ARCore is not installed or compatible, the activity will pause while the user is prompted to install it. ### Method public ArCoreApk.InstallStatus ### Parameters #### Path Parameters - **applicationActivity** (Activity) - Required - The current activity used for launching the installation UI. - **userRequestedInstall** (boolean) - Required - If set, overrides previous failure messages and forces the installation interface. ### Response - **Status** (ArCoreApk.InstallStatus) - Returns INSTALLED if ready, or INSTALL_REQUESTED if the process has started. ### Errors - **FatalException** - If an error occurs during compatibility check or installation start. - **UnavailableDeviceNotCompatibleException** - If ARCore is not supported on the device. - **UnavailableUserDeclinedInstallationException** - If the user previously declined installation. ``` -------------------------------- ### Method: requestInstall Source: https://developers.google.com/ar/reference/java/com/google/ar/core/ArCoreApk?hl=es Initiates the installation of ARCore with configurable installation behavior and user messaging. ```APIDOC ## METHOD requestInstall ### Description Initiates installation of ARCore when needed, with configurable behavior. This is a more flexible version of the standard requestInstall allowing control over the initial informational dialog and installation flow. ### Method public ArCoreApk.InstallStatus ### Parameters #### Path Parameters - **applicationActivity** (Activity) - Required - Your application's current activity. - **userRequestedInstall** (boolean) - Required - If set, overrides previous installation failure and forces the installation interface. - **installBehavior** (ArCoreApk.InstallBehavior) - Required - Controls cancel button visibility and dismissal behavior. - **messageType** (ArCoreApk.UserMessageType) - Required - Controls the text of the message displayed before the install prompt. ### Throws - **FatalException** - If an error occurs while checking compatibility or starting installation. - **UnavailableDeviceNotCompatibleException** - If ARCore is not supported on the device. - **UnavailableUserDeclinedInstallationException** - If the user previously declined installation and userRequestedInstall is false. ### Request Example requestInstall(activity, true, InstallBehavior.REQUIRED, UserMessageType.APPLICATION); ### Response #### Success Response - **InstallStatus** - Returns the status of the installation request (e.g., INSTALLED, INSTALL_REQUESTED). ``` -------------------------------- ### Define ArCoreApk.InstallStatus Enum Values Source: https://developers.google.com/ar/reference/java/com/google/ar/core/ArCoreApk.InstallStatus These constants represent the possible outcomes of an ARCore installation request. INSTALLED signifies the resource is ready, while INSTALL_REQUESTED signifies that the installation flow has started. ```java public static final ArCoreApk.InstallStatus INSTALLED; public static final ArCoreApk.InstallStatus INSTALL_REQUESTED; ``` -------------------------------- ### GET /ARPlaybackManager/GetUpdatedTrackData Source: https://developers.google.com/ar/reference/unity-arf/struct/Google/XR/ARCoreExtensions/TrackData?hl=pl Retrieves the TrackData associated with a specific GUID from the ARPlaybackManager. ```APIDOC ## GET /ARPlaybackManager/GetUpdatedTrackData ### Description Retrieves the TrackData object that was recorded to an external track. This data is retrieved using a unique identifier (GUID). ### Method GET ### Endpoint ARPlaybackManager.GetUpdatedTrackData(System.Guid trackId) ### Parameters #### Path Parameters - **trackId** (System.Guid) - Required - The unique identifier for the track data to retrieve. ### Response #### Success Response (200) - **Data** (byte[]) - The byte data array recorded via ARRecordingManager.RecordTrackData. - **FrameTimestamp** (long) - The timestamp in nanoseconds of the frame the TrackData was recorded on. ### Response Example { "Data": [10, 20, 30], "FrameTimestamp": 1634567890000 } ``` -------------------------------- ### POST requestInstall Source: https://developers.google.com/ar/reference/java/com/google/ar/core/ArCoreApk?hl=fa Initiates the installation of ARCore with configurable behavior and user messaging. ```APIDOC ## POST requestInstall ### Description Initiates installation of ARCore when needed, with configurable behavior. This method allows the application control over the initial informational dialog and ease of exiting or cancelling the installation. ### Method POST ### Endpoint ArCoreApk.requestInstall(Activity, boolean, ArCoreApk.InstallBehavior, ArCoreApk.UserMessageType) ### Parameters #### Path Parameters - **applicationActivity** (Activity) - Required - Your application's current activity. - **userRequestedInstall** (boolean) - Required - If set, overrides previous installation failure and forces the installation interface. - **installBehavior** (ArCoreApk.InstallBehavior) - Required - Controls cancel button visibility and dismissal behavior. - **messageType** (ArCoreApk.UserMessageType) - Required - Controls the text of the message displayed before the install prompt. ### Request Example requestInstall(myActivity, true, InstallBehavior.REQUIRED, UserMessageType.SHOW_USER_MESSAGE); ### Response #### Success Response (200) - **InstallStatus** (Enum) - Returns the status of the installation request. ### Errors - **FatalException**: If an error occurs while checking compatibility or starting installation. - **UnavailableDeviceNotCompatibleException**: If ARCore is not supported on this device. - **UnavailableUserDeclinedInstallationException**: If the user previously declined installation and userRequestedInstall is false. ``` -------------------------------- ### POST /requestInstall Source: https://developers.google.com/ar/reference/java/com/google/ar/core/ArCoreApk?hl=zh-tw Initiates the installation of ARCore on the device with custom behavior settings for user interaction. ```APIDOC ## POST /requestInstall ### Description Initiates installation of ARCore when needed, with configurable behavior. This method allows the application control over the initial informational dialog and ease of exiting or cancelling the installation. ### Method POST ### Endpoint /requestInstall ### Parameters #### Path Parameters - **applicationActivity** (Activity) - Required - Your application's current activity. #### Query Parameters - **userRequestedInstall** (boolean) - Required - If set, overrides previous installation failure and forces the installation interface. - **installBehavior** (ArCoreApk.InstallBehavior) - Required - Controls the presence of the cancel button and dismissal behavior. - **messageType** (ArCoreApk.UserMessageType) - Required - Controls the text of the message displayed before the install prompt. ### Request Example { "applicationActivity": "currentActivity", "userRequestedInstall": true, "installBehavior": "REQUIRED", "messageType": "USER_ALREADY_INFORMED" } ### Response #### Success Response (200) - **status** (ArCoreApk.InstallStatus) - The result of the installation request. #### Error Handling - **FatalException**: Thrown if an error occurs while checking compatibility or starting installation. - **UnavailableDeviceNotCompatibleException**: Thrown if ARCore is not supported on the device. - **UnavailableUserDeclinedInstallationException**: Thrown if the user previously declined installation and userRequestedInstall is false. ``` -------------------------------- ### ARCore ArImage Functions - Get Plane Row Stride Source: https://developers.google.com/ar/reference/c/group/ar-image?hl=es-419 Gets the number of bytes between the start of two consecutive rows of pixels within a specific plane of an ArImage. This is crucial for navigating the image data correctly. ```c void ArImage_getPlaneRowStride(const ArSession *session, const ArImage *image, int32_t plane_index, int32_t *out_row_stride); ``` -------------------------------- ### ARCore ArImage Functions - Get Plane Pixel Stride Source: https://developers.google.com/ar/reference/c/group/ar-image?hl=es-419 Gets the byte distance between the start of two consecutive pixels within a specific plane of an ArImage. This is important for correctly interpreting pixel data, especially in packed formats. ```c void ArImage_getPlanePixelStride(const ArSession *session, const ArImage *image, int32_t plane_index, int32_t *out_pixel_stride); ``` -------------------------------- ### void startRecording(RecordingConfig recordingConfig) Source: https://developers.google.com/ar/reference/java/com/google/ar/core/Session?hl=ar Initiates a new MP4 dataset recording session using the provided configuration. ```APIDOC ## void startRecording(RecordingConfig recordingConfig) ### Description Starts a new MP4 dataset file recording. Note that this may impact app performance due to overhead. ### Method METHOD ### Endpoint startRecording(RecordingConfig recordingConfig) ### Parameters #### Request Body - **recordingConfig** (RecordingConfig) - Required - Configuration object defining recording parameters. ### Response #### Success Response (void) - None ### Errors - **IllegalArgumentException**: If config is null or output is unwritable. - **IllegalStateException**: If recording is already in progress. - **RecordingFailedException**: For general recording failures. ``` -------------------------------- ### Get Translation (Output Array) Source: https://developers.google.com/ar/reference/java/com/google/ar/core/Pose?hl=ru Copies the translation vector of the Pose into a provided float array starting at a specified offset. ```java public void getTranslation( float[] dest, int offset ) ``` -------------------------------- ### POST requestInstall Source: https://developers.google.com/ar/reference/java/com/google/ar/core/ArCoreApk?hl=he Initiates the installation of ARCore with configurable installation behavior and user messaging options. ```APIDOC ## POST requestInstall ### Description Initiates installation of ARCore when needed, with configurable behavior. This method allows the application control over the initial informational dialog and ease of exiting or cancelling the installation. ### Method POST ### Endpoint ArCoreApk.requestInstall(Activity, boolean, ArCoreApk.InstallBehavior, ArCoreApk.UserMessageType) ### Parameters #### Path Parameters - **applicationActivity** (Activity) - Required - Your application's current activity. - **userRequestedInstall** (boolean) - Required - If set, overrides previous installation failure and forces the installation interface. - **installBehavior** (ArCoreApk.InstallBehavior) - Required - Controls cancel button visibility and dismissal behavior. - **messageType** (ArCoreApk.UserMessageType) - Required - Controls the text displayed before the install prompt. ### Request Example requestInstall(myActivity, true, InstallBehavior.REQUIRED, UserMessageType.SHOW_USER_MESSAGE); ### Response #### Success Response (200) - **InstallStatus** (Enum) - Returns the status of the installation request. ### Errors - **FatalException**: Thrown if an error occurs while checking compatibility or starting installation. - **UnavailableDeviceNotCompatibleException**: Thrown if ARCore is not supported on the device. - **UnavailableUserDeclinedInstallationException**: Thrown if the user previously declined installation and userRequestedInstall is false. ``` -------------------------------- ### Get ARCore Instance Source: https://developers.google.com/ar/reference/java/com/google/ar/core/ArCoreApk?hl=bn Retrieves the singleton instance of the ArCoreApk class. This instance is used to interact with ARCore functionalities such as checking availability and requesting installation. ```APIDOC ## getInstance ### Description Returns the singleton instance of ArCoreApk. ### Method GET ### Endpoint N/A (Static method) ### Response - **ArCoreApk** - The singleton instance of the ArCoreApk class. ### Request Example ```java ArCoreApk arCoreApi = ArCoreApk.getInstance(); ``` ``` -------------------------------- ### POST requestInstall Source: https://developers.google.com/ar/reference/java/com/google/ar/core/ArCoreApk?hl=bn Initiates the installation of ARCore with specific behavior configurations for the installation user interface. ```APIDOC ## POST requestInstall ### Description Initiates installation of ARCore when needed, with configurable behavior. This method allows the application control over the initial informational dialog and ease of exiting or cancelling the installation. ### Method POST ### Endpoint ArCoreApk.requestInstall(Activity, boolean, ArCoreApk.InstallBehavior, ArCoreApk.UserMessageType) ### Parameters #### Path Parameters - **applicationActivity** (Activity) - Required - Your application's current activity. - **userRequestedInstall** (boolean) - Required - If set, overrides previous installation failure and always shows the interface. - **installBehavior** (ArCoreApk.InstallBehavior) - Required - Controls cancel button presence and dismissal behavior. - **messageType** (ArCoreApk.UserMessageType) - Required - Controls the text of the message displayed before the install prompt. ### Response #### Success Response (200) - **InstallStatus** (Enum) - Returns the status of the installation request. ### Errors - **FatalException**: Thrown if an error occurs while checking compatibility or starting installation. - **UnavailableDeviceNotCompatibleException**: Thrown if ARCore is not supported on the device. - **UnavailableUserDeclinedInstallationException**: Thrown if the user previously declined installation and userRequestedInstall is false. ``` -------------------------------- ### Get AR Recording Status Source: https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARRecordingManager Retrieves the current state of the AR session recorder. This is useful for checking if a recording is in progress before attempting to start or stop one. ```csharp RecordingStatus status = arRecordingManager.RecordingStatus; ``` -------------------------------- ### Get AR Recording Status Source: https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARRecordingManager?hl=bn Retrieves the current state of the AR recording session. This is useful for checking if a recording is in progress before attempting to start or stop one. ```csharp RecordingStatus status = arRecordingManager.RecordingStatus; ``` -------------------------------- ### Initialize RecordingConfig in Java Source: https://developers.google.com/ar/reference/java/com/google/ar/core/RecordingConfig Demonstrates the basic initialization of the RecordingConfig object with a Session. This is the starting point for configuring any recording settings. ```java public RecordingConfig(Session session) ``` -------------------------------- ### requestInstall Source: https://developers.google.com/ar/reference/java/com/google/ar/core/ArCoreApk?hl=hi Initiates the installation of ARCore when needed, offering configurable behavior for user interaction and installation flow. ```APIDOC ## POST /arcore/install ### Description Initiates installation of ARCore when needed, with configurable behavior. This method allows for control over the initial informational dialog and the ease of exiting or cancelling the installation. ### Method POST ### Endpoint /arcore/install ### Parameters #### Request Body - **applicationActivity** (Activity) - Required - Your application's current activity. Used for launching an intent to display the installation user interface. - **userRequestedInstall** (boolean) - Required - If set, overrides the previous installation failure message and always shows the installation interface. - **installBehavior** (ArCoreApk.InstallBehavior) - Required - Controls the presence of the cancel button at the user education screen and if tapping outside the education screen or install-in-progress screen causes them to dismiss. - **messageType** (ArCoreApk.UserMessageType) - Required - Controls the text of the message displayed before showing the install prompt, or disables display of this message. ### Response #### Success Response (200) - **status** (ArCoreApk.InstallStatus) - The status of the ARCore installation. #### Error Response (4xx/5xx) - **error** (string) - A message describing the error. ### Throws - **FatalException** - If an error occurs while checking compatibility or starting installation. - **UnavailableDeviceNotCompatibleException** - If ARCore is not supported on this device. - **UnavailableUserDeclinedInstallationException** - If the user previously declined installation and userRequestedInstall is false. ``` -------------------------------- ### Get Translation (Array Output) Source: https://developers.google.com/ar/reference/java/com/google/ar/core/Pose?hl=ko Copies the translation vector of the Pose into a provided float array, starting at a specified offset. The array will contain the X, Y, and Z components of the translation. ```java public void getTranslation(float[] dest, int offset) ``` -------------------------------- ### startRecording Source: https://developers.google.com/ar/reference/java/com/google/ar/core/Session?hl=id Initiates a new MP4 dataset recording session with a provided configuration. ```APIDOC ## void startRecording(RecordingConfig recordingConfig) ### Description Starts a new MP4 dataset file recording. Existing files at the target path will be overwritten. ### Parameters #### Request Body - **recordingConfig** (RecordingConfig) - Required - Configuration object defining recording parameters. ### Exceptions - **IllegalArgumentException**: If config is null or output path is unwritable. - **IllegalStateException**: If recording is already in progress. - **RecordingFailedException**: For general recording failures. ``` -------------------------------- ### Get ARCore Image Plane Pixel Stride Source: https://developers.google.com/ar/reference/c/group/ar-image Retrieves the byte distance between the start of consecutive pixels within a specific plane of an ArImage. This value is always greater than 0. ```c void ArImage_getPlanePixelStride( const ArSession *session, const ArImage *image, int32_t plane_index, int32_t *out_pixel_stride ) ``` -------------------------------- ### StartRecording Source: https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARRecordingManager?hl=bn Starts a new session recording using the provided configuration. ```APIDOC ## POST /ARRecordingManager/StartRecording ### Description Starts a new recording session using the provided ARCoreRecordingConfig. If a recording is already in progress, this call will fail. ### Method POST ### Endpoint /ARRecordingManager/StartRecording ### Parameters #### Request Body - **config** (ARCoreRecordingConfig) - Required - The configuration object containing the save path and recording options. ### Request Example { "config": { "datasetPath": "/sdcard/arcore_recording.mp4", "autoStopOnPause": true } } ### Response #### Success Response (200) - **result** (RecordingResult) - Returns RecordingResult.OK if the recording started successfully. #### Response Example { "result": "OK" } ``` -------------------------------- ### Get Rotation Quaternion (Array) Source: https://developers.google.com/ar/reference/java/com/google/ar/core/Pose?hl=ko Copies the rotation quaternion of the Pose into a provided float array, starting at a specified offset. The quaternion values are written in the order {x, y, z, w}. ```java public void getRotationQuaternion(float[] dest, int offset) ``` -------------------------------- ### Get ARCore Image Plane Row Stride Source: https://developers.google.com/ar/reference/c/group/ar-image Retrieves the number of bytes between the start of consecutive rows of pixels within a specific plane of an ArImage. This value is always greater than 0. ```c void ArImage_getPlaneRowStride( const ArSession *session, const ArImage *image, int32_t plane_index, int32_t *out_row_stride ) ``` -------------------------------- ### requestInstall Source: https://developers.google.com/ar/reference/java/com/google/ar/core/ArCoreApk?hl=id Initiates the installation of ARCore when required, with options for controlling UI behavior. ```APIDOC ## POST /requestInstall ### Description Initiates installation of ARCore when needed, with configurable behavior for the installation UI and user messages. ### Method POST ### Parameters #### Request Body - **applicationActivity** (Activity) - Required - The current activity. - **userRequestedInstall** (boolean) - Required - Whether the user explicitly requested the install. - **installBehavior** (ArCoreApk.InstallBehavior) - Optional - Controls the behavior of the installation UI. - **messageType** (ArCoreApk.UserMessageType) - Optional - Controls the message displayed by the installation UI. ### Response #### Success Response (200) - **InstallStatus** (ArCoreApk.InstallStatus) - Indicates the outcome of the installation request. ``` -------------------------------- ### ArCoreApk - requestInstall Source: https://developers.google.com/ar/reference/java/com/google/ar/core/ArCoreApk?hl=zh-cn Initiates installation of ARCore when needed, with configurable behavior. ```APIDOC ## POST /arcore/requestInstall ### Description Initiates installation of ARCore when needed. This method allows for controlling the installation UI behavior and messages displayed to the user. ### Method POST ### Endpoint /arcore/requestInstall ### Parameters #### Query Parameters - **applicationActivity** (Activity) - Required - The activity context for the installation. - **userRequestedInstall** (boolean) - Required - Indicates if the user explicitly requested the installation. - **installBehavior** (ArCoreApk.InstallBehavior) - Optional - Controls the behavior of the installation UI. - **messageType** (ArCoreApk.UserMessageType) - Optional - Controls the message displayed by the installation UI. ### Response #### Success Response (200) - **installStatus** (ArCoreApk.InstallStatus) - Indicates the outcome of the installation request. ``` -------------------------------- ### Augmented Faces Feature for iOS Source: https://developers.google.com/ar/whatsnew-arcore?hl=fa Introduces the Augmented Faces feature to iOS, enabling developers to build AR experiences that track and augment facial features. This includes integration guides and quickstarts for iOS development. ```objective-c // Objective-C code snippet for Augmented Faces on iOS. // This would involve using ARKit and ARCore frameworks. // Refer to ARCore iOS documentation for implementation details. ``` -------------------------------- ### requestInstall (Overload 2) Source: https://developers.google.com/ar/reference/java/com/google/ar/core/ArCoreApk?hl=th Initiates installation of ARCore with advanced options for behavior and user message type. Provides more control over the installation process. ```APIDOC ## requestInstall (Activity applicationActivity, boolean userRequestedInstall, ArCoreApk.InstallBehavior installBehavior, ArCoreApk.UserMessageType messageType) ### Description For more control over the message displayed and ease of exiting the process, this overload of `requestInstall` can be used. It allows specifying custom installation behavior and the type of user message to display. ### Method POST ### Endpoint N/A (Method call) ### Parameters #### Path Parameters - None #### Query Parameters - None #### Request Body - **applicationActivity** (Activity) - Your application's current activity. Used for launching an intent to display the installation user interface. - **userRequestedInstall** (boolean) - If set, override the previous installation failure message and always show the installation interface. - **installBehavior** (ArCoreApk.InstallBehavior) - Defines the behavior during installation, such as whether to allow exiting. - **messageType** (ArCoreApk.UserMessageType) - Specifies the type of message to display to the user regarding installation. ### Request Example ```java ArCoreApk.InstallBehavior behavior = ArCoreApk.InstallBehavior.builder() .setAllowUserToExit(true) .build(); ArCoreApk.UserMessageType messageType = ArCoreApk.UserMessageType.FULL_PULL_INSTALL; ArCoreApk.InstallStatus status = ArCoreApk.getInstance().requestInstall( this, true, behavior, messageType ); ``` ### Response #### Success Response (Return Value) - **ArCoreApk.InstallStatus** (enum) - Returns `INSTALLED` if ARCore is already installed and compatible, or `INSTALL_REQUESTED` if installation needs to be initiated. #### Response Example ```java ArCoreApk.InstallStatus status = ArCoreApk.getInstance().requestInstall(activity, true, behavior, messageType); if (status == ArCoreApk.InstallStatus.INSTALLED) { // ARCore is ready } else if (status == ArCoreApk.InstallStatus.INSTALL_REQUESTED) { // User will be prompted to install ARCore with custom options } ``` ### Throws - **FatalException** - if an error occurs while checking compatibility or starting installation. - **UnavailableDeviceNotCompatibleException** - if ARCore is not supported on this device. - **UnavailableUserDeclinedInstallationException** - if the user previously declined installation and userRequestedInstall is false. ``` -------------------------------- ### Get Tracking State (C) Source: https://developers.google.com/ar/reference/c/group/ar-camera?hl=fr Retrieves the current motion tracking state of the camera. If the state is not AR_TRACKING_STATE_TRACKING, the camera's pose should not be used. This function is essential for ensuring reliable AR tracking and can be used in conjunction with `ArCamera_getTrackingFailureReason` to guide user actions. ```c void ArCamera_getTrackingState( const ArSession *session, const ArCamera *camera, ArTrackingState *out_tracking_state ) ``` -------------------------------- ### Get Color Correction Factors - Java Source: https://developers.google.com/ar/reference/java/com/google/ar/core/LightEstimate?hl=fr Obtains the RGB scaling factors that should be applied to the final color calculated in the fragment shader. This helps in adjusting the rendered scene's colors to match the real-world lighting conditions more accurately. The output is written into the provided float array starting at the specified offset. ```java public void getColorCorrection(float[] outColorCorrection4, int offset) { // Implementation to retrieve and populate the color correction factors. // outColorCorrection4 should have at least offset + 4 elements. } ``` -------------------------------- ### startRecording Source: https://developers.google.com/ar/reference/java/com/google/ar/core/Session?hl=ru Initiates a new MP4 dataset recording to a specified filesystem path. ```APIDOC ## startRecording ### Description Starts a new MP4 dataset file recording. Note that this may affect app performance due to overhead. ### Method void ### Endpoint startRecording(RecordingConfig recordingConfig) ### Parameters #### Request Body - **recordingConfig** (RecordingConfig) - Required - Configuration object defining recording parameters. ### Response #### Success Response - None (void) #### Errors - **IllegalArgumentException**: If config is null or path is unwritable. - **IllegalStateException**: If recording is already in progress. - **RecordingFailedException**: For general recording failures. ``` -------------------------------- ### requestInstall Source: https://developers.google.com/ar/reference/java/com/google/ar/core/ArCoreApk?hl=de Initiates the installation of ARCore when it is needed by the application. ```APIDOC ## requestInstall ### Description Initiates installation of ARCore when needed. When your application launches or enters an AR mode, it should call this method. ### Method ArCoreApk.InstallStatus ### Parameters #### Path Parameters - **applicationActivity** (Activity) - Required - Your application's current activity. - **userRequestedInstall** (boolean) - Required - If set, override the previous installation failure message and always show the installation interface. ### Response - **status** (ArCoreApk.InstallStatus) - Returns INSTALLED if ready, or INSTALL_REQUESTED if the user needs to perform an installation. ``` -------------------------------- ### ArCoreApk_requestInstallCustom Source: https://developers.google.com/ar/reference/c/group/ar-core-apk?hl=fr Initiates installation of ARCore with configurable UI behavior and messaging. ```APIDOC ## ArCoreApk_requestInstallCustom ### Description Initiates installation of Google Play Services for AR (ARCore) and required device profile data, with configurable behavior and user messaging types. ### Method Function Call ### Parameters #### Path Parameters - **env** (void*) - Required - The JNI environment pointer. - **application_activity** (void*) - Required - The current activity. - **user_requested_install** (int32_t) - Required - Boolean flag for user intent. - **install_behavior** (ArInstallBehavior) - Required - Controls if installation is required or optional. - **message_type** (ArInstallUserMessageType) - Required - Controls the message displayed by the installation UI. - **out_install_status** (ArInstallStatus*) - Required - Pointer to store the resulting installation status. ``` -------------------------------- ### Request ARCore Installation Source: https://developers.google.com/ar/reference/java/com/google/ar/core/ArCoreApk?hl=bn Initiates the installation of ARCore if it's not installed or if the installed version is incompatible. This method should be called with `userRequestedInstall = true` when your application launches or enters an AR mode. The activity may pause to allow the user to install ARCore. ```APIDOC ## requestInstall (Activity, boolean) ### Description Initiates installation of ARCore when needed. When your application launches or enters an AR mode, it should call this method with `userRequestedInstall = true`. If ARCore is installed and compatible, this function will return `ArCoreApk.InstallStatus.INSTALLED`. If ARCore is not currently installed or the installed version is not compatible, the function will return `ArCoreApk.InstallStatus.INSTALL_REQUESTED` immediately. Your current activity will then pause while the user is offered the opportunity to install it. When your activity resumes, you should call this method again, this time with `userRequestedInstall = false`. This will either return `ArCoreApk.InstallStatus.INSTALLED` or throw an exception indicating the reason that installation could not be completed. ARCore-optional applications must ensure that `checkAvailability(Context)` returns one of the `SUPPORTED_...` values before calling this method. See our sample code for an example of how an ARCore-required application should use this function. May be called prior to `Session.Session(Context)`. For more control over the message displayed and ease of exiting the process, see `requestInstall(Activity, boolean, InstallBehavior, UserMessageType)`. ### Parameters - **applicationActivity** (Activity) - Your application's current activity. Used for launching an intent to display the installation user interface. - **userRequestedInstall** (boolean) - If set, override the previous installation failure message and always show the installation interface. ### Throws - **FatalException** - If an error occurs while checking compatibility or starting installation. - **UnavailableDeviceNotCompatibleException** - If ARCore is not supported on this device. - **UnavailableUserDeclinedInstallationException** - If the user previously declined installation and `userRequestedInstall` is false. ### Request Example ```java ArCoreApk.InstallStatus installStatus = arCoreApi.requestInstall(activity, true); ``` ### Response - **ArCoreApk.InstallStatus** - The status of the ARCore installation request. ``` -------------------------------- ### C Function: ArCoreApk_requestInstallCustom Source: https://developers.google.com/ar/reference/c/group/ar-core-apk?hl=fa Initiates the installation of ARCore with customizable user interaction behaviors. ```APIDOC ## C Function: ArCoreApk_requestInstallCustom ### Description Initiates installation of Google Play Services for AR (ARCore) and required device profile data. This function provides more flexibility than `ArCoreApk_requestInstall` by allowing control over the informational dialog and installation cancellation behavior. ### Method C Function Call ### Parameters #### Path Parameters - **env** (void*) - Required - The application's JNIEnv object. - **application_activity** (void*) - Required - A JObject referencing the application's current Android Activity. - **user_requested_install** (int32_t) - Required - If set, overrides previous installation failure messages and forces the installation interface. - **install_behavior** (ArInstallBehavior) - Required - Controls the presence of the cancel button and dismissal behavior. - **message_type** (ArInstallUserMessageType) - Required - Controls the text of the message displayed before the install prompt. - **out_install_status** (ArInstallStatus*) - Required - Pointer to receive the resulting install status. ### Request Example ArStatus status = ArCoreApk_requestInstallCustom(env, activity, 1, AR_INSTALL_BEHAVIOR_OPTIONAL, AR_INSTALL_USER_MESSAGE_TYPE_USER_ALREADY_REQUESTED, &out_status); ### Response #### Success Response (AR_SUCCESS) - **out_install_status** (ArInstallStatus) - The resulting status of the installation request. #### Error Responses - **AR_ERROR_FATAL** - An error occurred during the check or request. - **AR_UNAVAILABLE_DEVICE_NOT_COMPATIBLE** - Device does not support ARCore. - **AR_UNAVAILABLE_USER_DECLINED_INSTALLATION** - User previously declined the installation. ``` -------------------------------- ### requestInstall Source: https://developers.google.com/ar/reference/java/com/google/ar/core/ArCoreApk?hl=pt-br Initiates the installation of ARCore when needed, offering flexible control over the installation process and user interaction. ```APIDOC ## POST /arcore/install ### Description Initiates installation of ARCore when needed, with configurable behavior. This method allows for control over the initial informational dialog and the ease of exiting or cancelling the installation. ### Method POST ### Endpoint /arcore/install ### Parameters #### Request Body - **applicationActivity** (Activity) - Required - Your application's current activity. Used for launching an intent to display the installation user interface. - **userRequestedInstall** (boolean) - Optional - If set, overrides the previous installation failure message and always shows the installation interface. - **installBehavior** (ArCoreApk.InstallBehavior) - Optional - Controls the presence of the cancel button at the user education screen and if tapping outside the education screen or install-in-progress screen causes them to dismiss. - **messageType** (ArCoreApk.UserMessageType) - Optional - Controls the text of the message displayed before showing the install prompt, or disables display of this message. ### Response #### Success Response (200) - **InstallStatus** (ArCoreApk.InstallStatus) - The status of the ARCore installation. #### Error Handling - **FatalException** - Thrown if an error occurs while checking compatibility or starting installation. - **UnavailableDeviceNotCompatibleException** - Thrown if ARCore is not supported on this device. - **UnavailableUserDeclinedInstallationException** - Thrown if the user previously declined installation and userRequestedInstall is false. ``` -------------------------------- ### Request ARCore Installation Source: https://developers.google.com/ar/reference/java/com/google/ar/core/ArCoreApk?hl=de Initiates the installation process for the ARCore APK. It handles user-requested installs and checks the installation status, returning the current state of the ARCore service. ```java public ArCoreApk.InstallStatus requestInstall(Activity applicationActivity, boolean userRequestedInstall) ``` -------------------------------- ### Request ARCore Installation Source: https://developers.google.com/ar/reference/java/com/google/ar/core/ArCoreApk?hl=es-419 Initiates the installation of ARCore when needed, with options to control the installation UI. ```APIDOC ## POST /arcore/requestInstall ### Description Initiates installation of ARCore when needed. This method can be used to control the behavior of the installation UI and the messages displayed to the user. ### Method POST ### Endpoint `/arcore/requestInstall` ### Parameters #### Request Body - **applicationActivity** (Activity) - Required - The current activity of the application. - **userRequestedInstall** (boolean) - Required - Indicates if the user explicitly requested the installation. - **installBehavior** (ArCoreApk.InstallBehavior) - Optional - Controls the behavior of the installation UI. - **messageType** (ArCoreApk.UserMessageType) - Optional - Controls the message displayed by the installation UI. ### Response #### Success Response (200) - **installStatus** (ArCoreApk.InstallStatus) - Indicates the outcome of the installation request. ### Response Example ```json { "installStatus": "INSTALLED" } ``` ``` -------------------------------- ### ArCoreApk_requestInstall Source: https://developers.google.com/ar/reference/c/group/ar-core-apk?hl=ja Initiates the download and installation of ARCore. ```APIDOC ## ArCoreApk_requestInstall ### Description On supported devices, initiates the download and installation of Google Play Services for AR (ARCore) and ARCore device profile data. See https://developers.google.com/ar/develop/c/enable-arcore for more details. ### Method N/A (This is a function call, not an HTTP endpoint) ### Endpoint N/A ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ```c void *env; void *application_activity; int32_t user_requested_install; ArInstallStatus *out_install_status; ArCoreApk_requestInstall(env, application_activity, user_requested_install, out_install_status); ``` ### Response #### Success Response (ArStatus) Returns `AR_SUCCESS` if the installation was initiated successfully. The outcome is stored in `out_install_status`. #### Response Example ```c // Example of how out_install_status might be set // ArInstallStatus status = AR_INSTALL_STATUS_INSTALLED; ``` ``` -------------------------------- ### POST requestInstall Source: https://developers.google.com/ar/reference/java/com/google/ar/core/ArCoreApk?hl=fa Initiates the installation of the ARCore APK if it is not present or requires an update. ```APIDOC ## POST requestInstall ### Description Initiates installation of ARCore when needed, with optional configuration for installation behavior and user messages. ### Method POST ### Endpoint ArCoreApk.requestInstall(Activity applicationActivity, boolean userRequestedInstall, ArCoreApk.InstallBehavior installBehavior, ArCoreApk.UserMessageType messageType) ### Parameters #### Path Parameters - **applicationActivity** (Activity) - Required - The current activity. - **userRequestedInstall** (boolean) - Required - Whether the user explicitly requested the install. - **installBehavior** (InstallBehavior) - Optional - Controls the behavior of the installation UI. - **messageType** (UserMessageType) - Optional - Controls the message displayed by the installation UI. ### Response #### Success Response (200) - **InstallStatus** (Enum) - Indicates the outcome of the installation request (e.g., INSTALLED, INSTALL_REQUESTED). ``` -------------------------------- ### Request Custom ARCore Installation (C) Source: https://developers.google.com/ar/reference/c/group/ar-core-apk?hl=de Initiates the installation of ARCore with configurable options for installation behavior and user messages. This allows for more tailored user experiences during the installation process. ```c ArStatus ArCoreApk_requestInstallCustom(void *env, void *application_activity, int32_t user_requested_install, ArInstallBehavior install_behavior, ArInstallUserMessageType message_type, ArInstallStatus *out_install_status) ``` -------------------------------- ### Initialize RecordingConfig Source: https://developers.google.com/ar/reference/java/com/google/ar/core/RecordingConfig?hl=ar Demonstrates how to instantiate a new RecordingConfig object using an existing ARCore session. ```java RecordingConfig config = new RecordingConfig(session); ``` -------------------------------- ### Request ARCore Installation (C) Source: https://developers.google.com/ar/reference/c/group/ar-core-apk?hl=de Initiates the download and installation of Google Play Services for AR (ARCore) on supported devices. It can be used for required or optional installations and returns the installation status. ```c ArStatus ArCoreApk_requestInstall(void *env, void *application_activity, int32_t user_requested_install, ArInstallStatus *out_install_status) ```