Production-oriented Android app (Kotlin + ARCore) that launches AR from an App Link QR campaign URL, then tracks a can label using ARCore Augmented Images and overlays a cylinder model using fixed can dimensions.
- Android App Link deep-link handling (
https://yourdomain.com/campaign?product=thumsup300) - ARCore session lifecycle management with camera permission handling
- Augmented Image tracking using
augmented_image.imgdb - Runtime fallback: if
.imgdbcannot be deserialized, builds DB fromassets/can_label.png - Cylinder pose anchored at detected label pose, updated each frame
- Overlay with tracking state, position, quaternion, and Euler angles
- Height:
0.1063 m - Diameter:
0.066 m - Radius:
0.033 m
- Open project in Android Studio (latest stable).
- Sync Gradle.
- Build and run on an ARCore-supported Android device.
Use ARCore tool (arcoreimg) to create augmented_image.imgdb from the label image.
Example:
arcoreimg build-db \
--input_image_list_path=/absolute/path/images.txt \
--output_db_path=/absolute/path/app/src/main/assets/augmented_image.imgdbimages.txt format:
thumsup_can_label|/absolute/path/app/src/main/assets/can_label.png|0.20
- Third field (
0.20) is physical width in meters.
adb shell am start -a android.intent.action.VIEW \
-d "https://yourdomain.com/campaign?product=thumsup300"- QR is used for activation only (deep link), not tracking.
- Tracking is based on can label image features via ARCore Augmented Images.