[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-10-31 UTC."],[[["\u003cp\u003e\u003ccode\u003eArCoreApk.UserMessageType\u003c/code\u003e controls the message displayed to the user during ARCore installation.\u003c/p\u003e\n"],["\u003cp\u003eIt offers three predefined message types: \u003ccode\u003eAPPLICATION\u003c/code\u003e, \u003ccode\u003eFEATURE\u003c/code\u003e, and \u003ccode\u003eUSER_ALREADY_INFORMED\u003c/code\u003e, catering to different installation scenarios.\u003c/p\u003e\n"],["\u003cp\u003eThese enums dictate whether the message informs users about an app or feature requiring ARCore, or if the user has already been informed about the requirement.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can leverage these types to customize user prompts during the ARCore installation process, ensuring clarity and context.\u003c/p\u003e\n"]]],["`ArCoreApk.UserMessageType` controls the installation UI message. It inherits methods from `java.lang.Enum` and `java.lang.Object`. Key actions include comparing, describing, and retrieving information about enum types. There are three enum values: `APPLICATION`, which displays a message about the app requiring ARCore; `FEATURE`, which states a feature needs ARCore; and `USER_ALREADY_INFORMED`, which skips the user education dialog because the application has already informed the user of ARCore's necessity.\n"],null,["# ArCoreApk.UserMessageType\n\n`\npublic static final enum\n`**ArCoreApk.UserMessageType**`\n` \nControls the message displayed by the installation UI. \n\nInherited Methods\n-----------------\n\nFrom `class\njava.lang.Enum` \n\n|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ` final `[Object](https://developer.android.com/reference/java/lang/Object)` ` | clone`()` |\n| ` final int ` | compareTo`(`[ArCoreApk.UserMessageType](/ar/reference/java/com/google/ar/core/ArCoreApk.UserMessageType)` arg0)` |\n| ` int ` | compareTo`(`[Object](https://developer.android.com/reference/java/lang/Object)` arg0)` |\n| ` final Optional\u003cEnumDesc\u003c`[ArCoreApk.UserMessageType](/ar/reference/java/com/google/ar/core/ArCoreApk.UserMessageType)`\u003e\u003e ` | describeConstable`()` |\n| ` final boolean ` | equals`(`[Object](https://developer.android.com/reference/java/lang/Object)` arg0)` |\n| ` final void ` | finalize`()` |\n| ` final `[Class](https://developer.android.com/reference/java/lang/Class)`\u003c`[ArCoreApk.UserMessageType](/ar/reference/java/com/google/ar/core/ArCoreApk.UserMessageType)`\u003e ` | getDeclaringClass`()` |\n| ` final int ` | hashCode`()` |\n| ` final `[String](https://developer.android.com/reference/java/lang/String)` ` | name`()` |\n| ` final int ` | ordinal`()` |\n| ` `[String](https://developer.android.com/reference/java/lang/String)` ` | toString`()` |\n| ` static \u003cT extends `[Enum](https://developer.android.com/reference/java/lang/Enum)`\u003cT\u003e\u003e T ` | valueOf`(`[Class](https://developer.android.com/reference/java/lang/Class)`\u003cT\u003e arg0, `[String](https://developer.android.com/reference/java/lang/String)` arg1)` |\n\nFrom `class\njava.lang.Object` \n\n|---------------------------------------------------------------------------------|-------------------------------------------------------------------------------------|\n| ` `[Object](https://developer.android.com/reference/java/lang/Object)` ` | clone`()` |\n| ` boolean ` | equals`(`[Object](https://developer.android.com/reference/java/lang/Object)` arg0)` |\n| ` void ` | finalize`()` |\n| ` final `[Class](https://developer.android.com/reference/java/lang/Class)`\u003c?\u003e ` | getClass`()` |\n| ` int ` | hashCode`()` |\n| ` final void ` | notify`()` |\n| ` final void ` | notifyAll`()` |\n| ` `[String](https://developer.android.com/reference/java/lang/String)` ` | toString`()` |\n| ` final void ` | wait`(long arg0, int arg1)` |\n| ` final void ` | wait`(long arg0)` |\n| ` final void ` | wait`()` |\n\nFrom `interface\njava.lang.constant.Constable` \n\n|-----------------------------------------------|-----------------------|\n| ` abstract Optional\u003c? extends ConstantDesc\u003e ` | describeConstable`()` |\n\nFrom `interface\njava.lang.Comparable` \n\n|------------------|------------------------------------------------------------------------------------------------------------------|\n| ` abstract int ` | compareTo`(`[ArCoreApk.UserMessageType](/ar/reference/java/com/google/ar/core/ArCoreApk.UserMessageType)` arg0)` |\n\nEnum Values\n-----------\n\n#### public\nstatic\nfinal\nArCoreApk.UserMessageType\nAPPLICATION\n\n### APPLICATION\n\n```java\npublic static final ArCoreApk.UserMessageType APPLICATION\n``` \nDisplay a localized message like \"This application requires ARCore...\".\n\n#### public\nstatic\nfinal\nArCoreApk.UserMessageType\nFEATURE\n\n### FEATURE\n\n```java\npublic static final ArCoreApk.UserMessageType FEATURE\n``` \nDisplay a localized message like \"This feature requires ARCore...\".\n\n#### public\nstatic\nfinal\nArCoreApk.UserMessageType\nUSER_ALREADY_INFORMED\n\n### USER_ALREADY_INFORMED\n\n```java\npublic static final ArCoreApk.UserMessageType USER_ALREADY_INFORMED\n``` \nApplication has explained why ARCore is required prior to calling requestInstall(), skip user\neducation dialog."]]