{"id":5341,"date":"2020-02-26T08:55:56","date_gmt":"2020-02-26T08:55:56","guid":{"rendered":"https:\/\/itpathsolutions.com\/?p=5341"},"modified":"2020-09-29T09:40:25","modified_gmt":"2020-09-29T09:40:25","slug":"augmented-reality-development-made-easy-with-arcore","status":"publish","type":"post","link":"https:\/\/www.itpathsolutions.com\/augmented-reality-development-made-easy-with-arcore\/","title":{"rendered":"Augmented Reality Development Made Easy With ARCore"},"content":{"rendered":"<h5><b>Why ARCore?<\/b><\/h5>\n<p><span style=\"font-weight: 400;\">WWDC In June 2017, Apple revealed ARKit, a world-famous for <a href=\"https:\/\/itpathsolutions.com\/services\/ar-vr-development\/#ardevelopment\"><strong>AR application development<\/strong><\/a>. After that in a few months, Google <\/span><span style=\"font-weight: 400;\">revealed<\/span><span style=\"font-weight: 400;\"> AR Core, which was acquired from google Tango an Indoor Mapping Project. Google&#8217;s response to ARKit and ARCore is a developer platform for the design and deployment of mind-blowing Augmented reality. With help of this SDK, users&#8217; phones are able to understand the external environment. The amazing thing about this SDK is that it supports both Android and iOS devices.<\/span><\/p>\n<h5><b>In which device and platform ARCore feature is supported?<\/b><\/h5>\n<p><span style=\"font-weight: 400;\">Supported platforms: Android version 7.0 and higher is supported and on iOS 11 or higher is supported.<\/span><\/p>\n<h5><b>What are the core elements of ARCore?<\/b><\/h5>\n<h5>Motion Tracking:<\/h5>\n<p><span style=\"font-weight: 400;\">AR core figure outs the position as well as the orientation of a virtual simulated 3D object in the actual world, using the phone&#8217;s camera as well as sensor data. It is termed as object pose. When a mobile phone is running, AR Core tracks a virtual object pause in the scene. This allows him to present these items in the right aspect depending on the mobile\u2019s position.<\/span><\/p>\n<h5>Environmental Understanding:<\/h5>\n<p><span style=\"font-weight: 400;\"> By altering input from the device&#8217;s camera, the AR core encounters horizontal as well as vertical level surfaces such as a table, a floor, or a wall. These discovered surfaces are termed as planes. The AR core affixes a virtual object to the aircraft at a specified location as well as orientation. These fixed points are termed as anchors.<\/span><\/p>\n<h5>Light Evaluation:<\/h5>\n<p><span style=\"font-weight: 400;\"> The AR core understands the light of the environment. Virtual items can then be adjusted to the average fury and color to keep them in the same condition as their surroundings. This prepares virtual objects to look more realistic.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h5><b>How to create an ARCore application?<\/b><\/h5>\n<p><b>1)<\/b><span style=\"font-weight: 400;\"> You will need Android Studio 3.1 or higher. We want to create a new project with support targeting API 24: Android 7.0.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5377\" src=\"https:\/\/itpathsolutions.com\/wp-content\/uploads\/2020\/02\/image-2.png\" alt=\"\" width=\"728\" height=\"529\" srcset=\"https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/image-2.png 894w, https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/image-2-300x218.png 300w, https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/image-2-768x558.png 768w\" sizes=\"(max-width: 728px) 100vw, 728px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5378\" src=\"https:\/\/itpathsolutions.com\/wp-content\/uploads\/2020\/02\/image-1-1.png\" alt=\"\" width=\"737\" height=\"529\" srcset=\"https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/image-1-1.png 894w, https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/image-1-1-300x215.png 300w, https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/image-1-1-768x552.png 768w\" sizes=\"(max-width: 737px) 100vw, 737px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><b>2) <\/b><span style=\"font-weight: 400;\">Setup the Gradle to support JavaVersion 8, as java version 8 is necessary to build ARCore Application. Below is the line you need to place in build.gradle. After that Sync the project.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><strong>android {<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0&#8230;<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0compileOptions {<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0sourceCompatibility JavaVersion.VERSION_1_8<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0targetCompatibility JavaVersion.VERSION_1_8<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0}<\/strong><\/p>\n<p><strong>}<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><b>3)<\/b><span style=\"font-weight: 400;\"> Now you need to add ARCore dependency in project. By adding those dependencies the ARCore components will be accessible in the project. Below is the line you need to place in build.gradle.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><strong>dependencies {<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0&#8230;<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0implementation \u201ccom.google.ar.sceneform.ux:sceneform-ux:1.4.0\u201d<\/strong><\/p>\n<p><strong>}<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><b>Note: <\/b><span style=\"font-weight: 400;\">Since this is an augmented reality app, we have to ask the user for access to the camera. The Play Store uses a specific AR meta tag that filters applications for users who don&#8217;t have an ARCore-enabled device.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><b>4) <\/b><span style=\"font-weight: 400;\">Then you need to add a below meta tag in AndroidManifest.xml, which would show you app in the category of ar supported app<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><strong>&lt;uses-permission android:name=&#8221;android.permission.CAMERA&#8221; \/&gt;<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0&lt;uses-feature<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0android:name=&#8221;android.hardware.camera.ar&#8221;<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0android:required=&#8221;true&#8221; \/&gt;<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><b>5)<\/b><span style=\"font-weight: 400;\"> As you now know that the project is ready to add 3D Objects, but still one thing is remaining. Now you need to add Google Sceneform Tools Plugin in Android studio.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">After adding this plugin your android studio would be able to read 3D AR objects<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5382 size-large\" src=\"https:\/\/itpathsolutions.com\/wp-content\/uploads\/2020\/02\/image-3-1024x847.png\" alt=\"\" width=\"640\" height=\"529\" srcset=\"https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/image-3-1024x847.png 1024w, https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/image-3-300x248.png 300w, https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/image-3-768x636.png 768w, https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/image-3-1536x1271.png 1536w, https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/image-3.png 1670w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><b>6)<\/b><span style=\"font-weight: 400;\"> Now it&#8217;s time to place 3D Object inside the application. You may ask your designer\/graphics artist to create a custom 3D Obj as per your requirement. OR also can use 3D Obj which is provided by Google.<\/span><\/p>\n<p><b>Note:<\/b><span style=\"font-weight: 400;\"> The Sceneform android studio plugin supports an OBJ, and FBX, and a glTF file formats only.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><b>7)<\/b><span style=\"font-weight: 400;\"> Create sample data\/ directory inside app. The next task is right-clicking downloaded 3D Obj and select \u201cImport Sceneform Assert\u201d. Let\u2019s say for example, in-app have added Earth Object then it would look like:<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5384 size-full\" src=\"https:\/\/itpathsolutions.com\/wp-content\/uploads\/2020\/02\/image-2-2.png\" alt=\"\" width=\"1374\" height=\"254\" srcset=\"https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/image-2-2.png 1374w, https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/image-2-2-300x55.png 300w, https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/image-2-2-1024x189.png 1024w, https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/image-2-2-768x142.png 768w\" sizes=\"(max-width: 1374px) 100vw, 1374px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><b>8) <\/b><span style=\"font-weight: 400;\">Now it&#8217;s a time of implementation in code. First of all, you need to insert ARFragment in your activity\u2019s layout file.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><strong>\u00a0&lt;fragment<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0android:id=&#8221;@+id\/sceneform_fragment&#8221;<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0android:name=&#8221;com.google.ar.sceneform.ux.ArFragment&#8221;<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0android:layout_width=&#8221;match_parent&#8221;<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0android:layout_height=&#8221;match_parent&#8221;<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0app:layout_constraintBottom_toBottomOf=&#8221;parent&#8221;<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0app:layout_constraintEnd_toEndOf=&#8221;parent&#8221;<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0app:layout_constraintStart_toStartOf=&#8221;parent&#8221;<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0app:layout_constraintTop_toTopOf=&#8221;parent&#8221; \/&gt;<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">the placed 3D Object now need to render in this fragment.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5386 size-large\" src=\"https:\/\/itpathsolutions.com\/wp-content\/uploads\/2020\/02\/image-4-1024x964.png\" alt=\"\" width=\"640\" height=\"603\" srcset=\"https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/image-4-1024x964.png 1024w, https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/image-4-300x282.png 300w, https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/image-4-768x723.png 768w, https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/image-4-1536x1446.png 1536w, https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/image-4.png 1912w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><b>9)<\/b><span style=\"font-weight: 400;\"> Now task is to insert AR Obj in ARFragment, let&#8217;s say in app have button and on click of that need now to place 3D Obj in the actual world.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><strong>addObject(Uri.parse(&#8220;NOVELO_EARTH.sfb&#8221;))<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><strong>\u00a0private fun addObject(model: Uri) {<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0val frame = arFragment.arSceneView.arFrame<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0val point = getScreenCenter()<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (frame != null) {<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0val hits = frame.hitTest(point.x.toFloat(), point.y.toFloat())<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0for (hit in hits) {<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0val trackable = hit.trackable<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (trackable is Plane &amp;&amp; trackable.isPoseInPolygon(hit.hitPose)) {<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0placeObject(arFragment, hit.createAnchor(), model)<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0break<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0}<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><strong>\u00a0\u00a0private fun placeObject(fragment: ArFragment, anchor: Anchor, model: Uri) {<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0ModelRenderable.builder()<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0.setSource(fragment.context, model)<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0.build()<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0.thenAccept {<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0addNodeToScene(fragment, anchor, it)<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0.exceptionally {<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Toast.makeText(this@MainActivity, &#8220;Error&#8221;, Toast.LENGTH_SHORT).show()<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return@exceptionally null<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0}<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><b>10)<\/b><span style=\"font-weight: 400;\"> Now from the above code object is setup to load in AR Fragment, but then you need to add properties to Object. Let&#8217;s say you want it to be resizable or movable. then you need to add a node to the scene. This adds properties to 3D Object also provides a way to render in ARScene in the screen.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><strong>private fun addNodeToScene(fragment: ArFragment, anchor: Anchor, renderable: ModelRenderable) {<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0val anchorNode = AnchorNode(anchor)<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ TransformableNode means the user to move, scale and rotate the model<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0val transformableNode = TransformableNode(fragment.transformationSystem)<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0transformableNode.renderable = renderable<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0transformableNode.setParent(anchorNode)<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0fragment.arSceneView.scene.addChild(anchorNode)<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0transformableNode.select()<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0}<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><b>11) <\/b><span style=\"font-weight: 400;\">You are now set, but the most important thing is first you need to detect the floor to place objects. For that, you need to create listeners to check the scene.\u00a0<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><strong>arFragment.arSceneView.scene.addOnUpdateListener { frameTime -&gt;<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0arFragment.onUpdate(frameTime)<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0onUpdate()<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><strong>\u00a0\u00a0\/\/ Updates the tracking state<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0private fun onUpdate() {<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0updateTracking()<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ Check if the devices gaze is hitting a plane detected by ARCore<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (isTracking) {<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0val hitTestChanged = updateHitTest()<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (hitTestChanged) {<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0showFab(isHitting)<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0}<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5387 size-medium\" src=\"https:\/\/itpathsolutions.com\/wp-content\/uploads\/2020\/02\/Untitled-11-138x300.png\" alt=\"\" width=\"138\" height=\"300\" srcset=\"https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/Untitled-11-138x300.png 138w, https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/Untitled-11-473x1024.png 473w, https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/Untitled-11-768x1664.png 768w, https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/Untitled-11-709x1536.png 709w, https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/Untitled-11-945x2048.png 945w, https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/Untitled-11.png 1080w\" sizes=\"(max-width: 138px) 100vw, 138px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><b>12)<\/b><span style=\"font-weight: 400;\"> So with this are floor mesh will be detected and then you can check is Tracking live or not.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\/\/ Performs frame.HitTest and returns if a hit is detected<\/span><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0private fun updateHitTest(): Boolean {<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0val frame = arFragment.arSceneView.arFrame<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0val point = getScreenCenter()<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0val hits: List&lt;HitResult&gt;<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0val wasHitting = isHitting<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0isHitting = false<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (frame != null) {<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0hits = frame.hitTest(point.x.toFloat(), point.y.toFloat())<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0for (hit in hits) {<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0val trackable = hit.trackable<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (trackable is Plane &amp;&amp; trackable.isPoseInPolygon(hit.hitPose)) {<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0isHitting = true<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0break<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return wasHitting != isHitting<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0}<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5389 size-medium\" src=\"https:\/\/itpathsolutions.com\/wp-content\/uploads\/2020\/02\/Untitled-99-138x300.png\" alt=\"\" width=\"138\" height=\"300\" srcset=\"https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/Untitled-99-138x300.png 138w, https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/Untitled-99-473x1024.png 473w, https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/Untitled-99-768x1664.png 768w, https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/Untitled-99-709x1536.png 709w, https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/Untitled-99-945x2048.png 945w, https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/Untitled-99.png 1080w\" sizes=\"(max-width: 138px) 100vw, 138px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">So you&#8217;re all set, when you just tap the button after the phone detects the floor, then the 3D object will fall into the AR fragment and the transform properly all Object to resize or touch drag.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">I hope you enjoyed this brief intro to ARCore with android. <\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Why ARCore? WWDC In June 2017, Apple revealed ARKit, a world-famous for AR application development. After that in a few months, Google revealed AR Core, which was acquired from google Tango an Indoor Mapping Project. Google&#8217;s response to ARKit and ARCore is a developer platform for the design and deployment of mind-blowing Augmented reality. With [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":5561,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[203],"tags":[205,207,204,206,76],"post_industries":[],"post_technologies":[],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Augmented Reality Development Made Easy With ARCore<\/title>\n<meta name=\"description\" content=\"Looking for AR app development? Here&#039;s how your next AR app can be made easily with ARCORE.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/itpathsolutions.com\/augmented-reality-development-made-easy-with-arcore\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Augmented Reality Development Made Easy With ARCore\" \/>\n<meta property=\"og:description\" content=\"Looking for AR app development? Here&#039;s how your next AR app can be made easily with ARCORE.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/itpathsolutions.com\/augmented-reality-development-made-easy-with-arcore\/\" \/>\n<meta property=\"og:site_name\" content=\"Top Mobile &amp; Web Application Development Company in USA, UK, Australia &amp; India | IT Path Solutions\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/itpathsolutions\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/itpathsolutions\" \/>\n<meta property=\"article:published_time\" content=\"2020-02-26T08:55:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-09-29T09:40:25+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/Augmented-Reality-Development-Made-Easy-With-ARCore-2.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"512\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Itpathsolutions SEO\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/itpathsolutions\" \/>\n<meta name=\"twitter:site\" content=\"@itpathsolutions\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Itpathsolutions SEO\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/itpathsolutions.com\/augmented-reality-development-made-easy-with-arcore\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.itpathsolutions.com\/augmented-reality-development-made-easy-with-arcore\/\"},\"author\":{\"name\":\"Itpathsolutions SEO\",\"@id\":\"https:\/\/www.itpathsolutions.com\/#\/schema\/person\/4f40cf2da013ab39327b44a1a9fe7b87\"},\"headline\":\"Augmented Reality Development Made Easy With ARCore\",\"datePublished\":\"2020-02-26T08:55:56+00:00\",\"dateModified\":\"2020-09-29T09:40:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.itpathsolutions.com\/augmented-reality-development-made-easy-with-arcore\/\"},\"wordCount\":1166,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.itpathsolutions.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/itpathsolutions.com\/augmented-reality-development-made-easy-with-arcore\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/Augmented-Reality-Development-Made-Easy-With-ARCore-2.jpg\",\"keywords\":[\"AR App development\",\"ARCore Development\",\"Augmented Reality\",\"Augmented Reality Development\",\"Mobile app development\"],\"articleSection\":[\"Augmented Reality Development\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/itpathsolutions.com\/augmented-reality-development-made-easy-with-arcore\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.itpathsolutions.com\/augmented-reality-development-made-easy-with-arcore\/\",\"url\":\"https:\/\/itpathsolutions.com\/augmented-reality-development-made-easy-with-arcore\/\",\"name\":\"Augmented Reality Development Made Easy With ARCore\",\"isPartOf\":{\"@id\":\"https:\/\/www.itpathsolutions.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/itpathsolutions.com\/augmented-reality-development-made-easy-with-arcore\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/itpathsolutions.com\/augmented-reality-development-made-easy-with-arcore\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/Augmented-Reality-Development-Made-Easy-With-ARCore-2.jpg\",\"datePublished\":\"2020-02-26T08:55:56+00:00\",\"dateModified\":\"2020-09-29T09:40:25+00:00\",\"description\":\"Looking for AR app development? Here's how your next AR app can be made easily with ARCORE.\",\"breadcrumb\":{\"@id\":\"https:\/\/itpathsolutions.com\/augmented-reality-development-made-easy-with-arcore\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/itpathsolutions.com\/augmented-reality-development-made-easy-with-arcore\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/itpathsolutions.com\/augmented-reality-development-made-easy-with-arcore\/#primaryimage\",\"url\":\"https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/Augmented-Reality-Development-Made-Easy-With-ARCore-2.jpg\",\"contentUrl\":\"https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/Augmented-Reality-Development-Made-Easy-With-ARCore-2.jpg\",\"width\":1024,\"height\":512,\"caption\":\"AR Development\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/itpathsolutions.com\/augmented-reality-development-made-easy-with-arcore\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.itpathsolutions.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Augmented Reality Development Made Easy With ARCore\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.itpathsolutions.com\/#website\",\"url\":\"https:\/\/www.itpathsolutions.com\/\",\"name\":\"Top Mobile &amp; Web Application Development Company in USA, UK, Australia &amp; India | IT Path Solutions\",\"description\":\"Digitalizing Businesses Globally\",\"publisher\":{\"@id\":\"https:\/\/www.itpathsolutions.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.itpathsolutions.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.itpathsolutions.com\/#organization\",\"name\":\"It Path Solutions\",\"url\":\"https:\/\/www.itpathsolutions.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.itpathsolutions.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/itpathsolutions.com\/wp-content\/uploads\/2020\/05\/logo.png\",\"contentUrl\":\"https:\/\/itpathsolutions.com\/wp-content\/uploads\/2020\/05\/logo.png\",\"width\":167,\"height\":53,\"caption\":\"It Path Solutions\"},\"image\":{\"@id\":\"https:\/\/www.itpathsolutions.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/itpathsolutions\",\"https:\/\/x.com\/itpathsolutions\",\"https:\/\/www.instagram.com\/itpathsolutions\/\",\"https:\/\/www.linkedin.com\/company\/itpathsolutions\",\"https:\/\/www.pinterest.com\/itpathsolutions\/\",\"https:\/\/www.youtube.com\/c\/ITPathSolutions\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.itpathsolutions.com\/#\/schema\/person\/4f40cf2da013ab39327b44a1a9fe7b87\",\"name\":\"Itpathsolutions SEO\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.itpathsolutions.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/cf7d34d8812202c297068f5871fcc757?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/cf7d34d8812202c297068f5871fcc757?s=96&d=mm&r=g\",\"caption\":\"Itpathsolutions SEO\"},\"sameAs\":[\"https:\/\/itpathsolutions.com\",\"https:\/\/www.facebook.com\/itpathsolutions\",\"https:\/\/www.instagram.com\/itpathsolutions\/\",\"https:\/\/www.linkedin.com\/company\/itpathsolutions\",\"https:\/\/www.pinterest.com\/itpathsolutions\/\",\"https:\/\/x.com\/https:\/\/twitter.com\/itpathsolutions\",\"https:\/\/www.youtube.com\/channel\/UCeB6TlLLLZCF84h-HwOCLIQ\"],\"url\":\"https:\/\/www.itpathsolutions.com\/author\/itpathsolutions_seo\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Augmented Reality Development Made Easy With ARCore","description":"Looking for AR app development? Here's how your next AR app can be made easily with ARCORE.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/itpathsolutions.com\/augmented-reality-development-made-easy-with-arcore\/","og_locale":"en_US","og_type":"article","og_title":"Augmented Reality Development Made Easy With ARCore","og_description":"Looking for AR app development? Here's how your next AR app can be made easily with ARCORE.","og_url":"https:\/\/itpathsolutions.com\/augmented-reality-development-made-easy-with-arcore\/","og_site_name":"Top Mobile &amp; Web Application Development Company in USA, UK, Australia &amp; India | IT Path Solutions","article_publisher":"https:\/\/www.facebook.com\/itpathsolutions","article_author":"https:\/\/www.facebook.com\/itpathsolutions","article_published_time":"2020-02-26T08:55:56+00:00","article_modified_time":"2020-09-29T09:40:25+00:00","og_image":[{"width":1024,"height":512,"url":"https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/Augmented-Reality-Development-Made-Easy-With-ARCore-2.jpg","type":"image\/jpeg"}],"author":"Itpathsolutions SEO","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/itpathsolutions","twitter_site":"@itpathsolutions","twitter_misc":{"Written by":"Itpathsolutions SEO","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/itpathsolutions.com\/augmented-reality-development-made-easy-with-arcore\/#article","isPartOf":{"@id":"https:\/\/www.itpathsolutions.com\/augmented-reality-development-made-easy-with-arcore\/"},"author":{"name":"Itpathsolutions SEO","@id":"https:\/\/www.itpathsolutions.com\/#\/schema\/person\/4f40cf2da013ab39327b44a1a9fe7b87"},"headline":"Augmented Reality Development Made Easy With ARCore","datePublished":"2020-02-26T08:55:56+00:00","dateModified":"2020-09-29T09:40:25+00:00","mainEntityOfPage":{"@id":"https:\/\/www.itpathsolutions.com\/augmented-reality-development-made-easy-with-arcore\/"},"wordCount":1166,"commentCount":0,"publisher":{"@id":"https:\/\/www.itpathsolutions.com\/#organization"},"image":{"@id":"https:\/\/itpathsolutions.com\/augmented-reality-development-made-easy-with-arcore\/#primaryimage"},"thumbnailUrl":"https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/Augmented-Reality-Development-Made-Easy-With-ARCore-2.jpg","keywords":["AR App development","ARCore Development","Augmented Reality","Augmented Reality Development","Mobile app development"],"articleSection":["Augmented Reality Development"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/itpathsolutions.com\/augmented-reality-development-made-easy-with-arcore\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.itpathsolutions.com\/augmented-reality-development-made-easy-with-arcore\/","url":"https:\/\/itpathsolutions.com\/augmented-reality-development-made-easy-with-arcore\/","name":"Augmented Reality Development Made Easy With ARCore","isPartOf":{"@id":"https:\/\/www.itpathsolutions.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/itpathsolutions.com\/augmented-reality-development-made-easy-with-arcore\/#primaryimage"},"image":{"@id":"https:\/\/itpathsolutions.com\/augmented-reality-development-made-easy-with-arcore\/#primaryimage"},"thumbnailUrl":"https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/Augmented-Reality-Development-Made-Easy-With-ARCore-2.jpg","datePublished":"2020-02-26T08:55:56+00:00","dateModified":"2020-09-29T09:40:25+00:00","description":"Looking for AR app development? Here's how your next AR app can be made easily with ARCORE.","breadcrumb":{"@id":"https:\/\/itpathsolutions.com\/augmented-reality-development-made-easy-with-arcore\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/itpathsolutions.com\/augmented-reality-development-made-easy-with-arcore\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/itpathsolutions.com\/augmented-reality-development-made-easy-with-arcore\/#primaryimage","url":"https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/Augmented-Reality-Development-Made-Easy-With-ARCore-2.jpg","contentUrl":"https:\/\/www.itpathsolutions.com\/wp-content\/uploads\/2020\/02\/Augmented-Reality-Development-Made-Easy-With-ARCore-2.jpg","width":1024,"height":512,"caption":"AR Development"},{"@type":"BreadcrumbList","@id":"https:\/\/itpathsolutions.com\/augmented-reality-development-made-easy-with-arcore\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.itpathsolutions.com\/"},{"@type":"ListItem","position":2,"name":"Augmented Reality Development Made Easy With ARCore"}]},{"@type":"WebSite","@id":"https:\/\/www.itpathsolutions.com\/#website","url":"https:\/\/www.itpathsolutions.com\/","name":"Top Mobile &amp; Web Application Development Company in USA, UK, Australia &amp; India | IT Path Solutions","description":"Digitalizing Businesses Globally","publisher":{"@id":"https:\/\/www.itpathsolutions.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.itpathsolutions.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.itpathsolutions.com\/#organization","name":"It Path Solutions","url":"https:\/\/www.itpathsolutions.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.itpathsolutions.com\/#\/schema\/logo\/image\/","url":"https:\/\/itpathsolutions.com\/wp-content\/uploads\/2020\/05\/logo.png","contentUrl":"https:\/\/itpathsolutions.com\/wp-content\/uploads\/2020\/05\/logo.png","width":167,"height":53,"caption":"It Path Solutions"},"image":{"@id":"https:\/\/www.itpathsolutions.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/itpathsolutions","https:\/\/x.com\/itpathsolutions","https:\/\/www.instagram.com\/itpathsolutions\/","https:\/\/www.linkedin.com\/company\/itpathsolutions","https:\/\/www.pinterest.com\/itpathsolutions\/","https:\/\/www.youtube.com\/c\/ITPathSolutions"]},{"@type":"Person","@id":"https:\/\/www.itpathsolutions.com\/#\/schema\/person\/4f40cf2da013ab39327b44a1a9fe7b87","name":"Itpathsolutions SEO","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.itpathsolutions.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/cf7d34d8812202c297068f5871fcc757?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/cf7d34d8812202c297068f5871fcc757?s=96&d=mm&r=g","caption":"Itpathsolutions SEO"},"sameAs":["https:\/\/itpathsolutions.com","https:\/\/www.facebook.com\/itpathsolutions","https:\/\/www.instagram.com\/itpathsolutions\/","https:\/\/www.linkedin.com\/company\/itpathsolutions","https:\/\/www.pinterest.com\/itpathsolutions\/","https:\/\/x.com\/https:\/\/twitter.com\/itpathsolutions","https:\/\/www.youtube.com\/channel\/UCeB6TlLLLZCF84h-HwOCLIQ"],"url":"https:\/\/www.itpathsolutions.com\/author\/itpathsolutions_seo\/"}]}},"_links":{"self":[{"href":"https:\/\/www.itpathsolutions.com\/wp-json\/wp\/v2\/posts\/5341"}],"collection":[{"href":"https:\/\/www.itpathsolutions.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.itpathsolutions.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.itpathsolutions.com\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.itpathsolutions.com\/wp-json\/wp\/v2\/comments?post=5341"}],"version-history":[{"count":0,"href":"https:\/\/www.itpathsolutions.com\/wp-json\/wp\/v2\/posts\/5341\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.itpathsolutions.com\/wp-json\/wp\/v2\/media\/5561"}],"wp:attachment":[{"href":"https:\/\/www.itpathsolutions.com\/wp-json\/wp\/v2\/media?parent=5341"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.itpathsolutions.com\/wp-json\/wp\/v2\/categories?post=5341"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.itpathsolutions.com\/wp-json\/wp\/v2\/tags?post=5341"},{"taxonomy":"post_industries","embeddable":true,"href":"https:\/\/www.itpathsolutions.com\/wp-json\/wp\/v2\/post_industries?post=5341"},{"taxonomy":"post_technologies","embeddable":true,"href":"https:\/\/www.itpathsolutions.com\/wp-json\/wp\/v2\/post_technologies?post=5341"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}