Initiating Images/360 Video Shoot | Android SDK
Initiating Image Shoot
Shoot Builder - Overview
Shoot builder is an object where all the configuration settings are set up for Spyne Android SDK. Shoot builder expects basic parameters and allows you to use advanced functionalities as well.
Step 1: Creating a shoot builder function
Shoot builder function expects 4 values,
- context is the current activity context
userId is a string value and needs to be an Email ID.- Note: Typically this should be the email id of the user currently logged in, please connect with us in case your platform doesn't support capturing an email id of the user.
- skuListener is the callback interface which you have to implement in your activity/fragment and over-ride the given methods,
- onSkuCreated: This callback is returned on project creation & returns SpyneSKUId. SpyneSKUId will be useful on fetching processed images using our Public API.
- onShootCompleted: This callback is returned on project completion. Please note, in case of reshoot, this callback is returned will extra parameter isReshoot. This parameter will be true in cases where reshoot has taken place.
- Angle is the integer value and denotes the count of exterior angles to be shot by the user.
fun onSkuCreated (skuId: String)
fun onShootCompleted(skuId: String, isReshoot: Boolean)
var builder = Spyne.ShootBuilder(
context: this,
userId: "myUniqueEmailId"
skuListener: this,
angle: 8
)
.shootType(ShootType.SHOOT)
Step 2: Add ShootID configuration to Shoot Builder
uniqueShootId expects a string value and is a mandatory key which will be saved as SKU Name or your Unique vehicle identifier.
Note: ShootID does not allow blank values and special characters.
builder.uniqueShootId(uniqueShootId: "KNDPB3A21D7000791")
Step 3: Initiating Image Shoot
val spyne = builder.build()
spyne.start()
Resuming Draft Shoot
Overview: In certain scenarios, a shoot may begin successfully, and multiple images may be captured, but the process might get interrupted due to unexpected events such as:
- App crashes
- Incoming calls
- Device restarts
- Accidental app closures
- Manual Shoot Exit
To enhance the user experience and minimize data loss, the SDK provides a Draft Shoot Resume Mechanism. This feature ensures that users can resume their shoot session from the exact point where they left off, without needing to start over.
Step 1: Initiate Draft Shoot
Initiate the SDK similarly as the image shoot initiation mentioned above.
uniqueShootId
should be exactly same as the one created earlier for the shoot you're wanting the user to resume.
Note: All other parameters will remain same as at the time of shoot creation.
builder.uniqueShootId(uniqueShootId: "KNDPB3A21D7000791")
val spyne = builder.build()
spyne.start()
Add/Reshoot (Replace) Images
Overview
The Spyne SDK provides a Add/Reshoot Flow that allows users to retake or add images of Vehicle Shoots that were previously marked as completed This feature is particularly useful in scenarios where:
- The user wants to improve clarity, framing, or lighting for better output.
- User wants to add more images to the existing shoot.
Initiate the SDK similarly as the draft image shoot initiation mentioned above.
addReplace
parameter to be added as mentioned below for this specific use case.
builder.uniqueShootId(uniqueShootId: "KNDPB3A21D7000791")
.addReplace(true)
val spyne = builder.build()
spyne.start()
QC - Reshoot Images
Overview
The Spyne SDK provides a Reshoot Flow that allows users to retake images of SKUs that were previously marked as completed but then rejected by the Spyne QC Teeam. This feature is particularly useful in scenarios where:
- The QC (Quality Check) team rejects specific images that require reshooting.
Note: This feature is only available for clients opting in for Spyne Assured.
To initiate a reshoot session, replace the following parameter as mentioned below.
Replace
builder.uniqueShootId(uniqueShootId: "myUniqueShootId")
With
builder.spyneSkuId(spyneSkuId: "sku id generated by Spyne")
And then Initiate Shoot
val spyne = builder.build()
spyne.reshoot()
Video 360 Shoot
Initiating video shoot
Step 1:Initiate Video 360 Shoot
val spyne = builder.build()
spyne.spyne.startVideoThreeSixty()
Draft Video Shoot
Step 1: Initiate Draft shoot
builder.uniqueShootId(uniqueShootId: "KNDPB3A21D7000791")
val spyne = builder.build()
spyne.startVideoThreeSixty()
Updated 16 days ago