Sunbird Content Specification for Bazaar Apps
Intent
Need to create an interface for enabling Access to Content on Sunbird across different apps like Read Along,Games etc.
Note: Assumption of this specification is based on the apps being able to support these intents as part of their implementation.
Documentation is categorised into multiple sections:
WorkFlow
Vendor Registration of Apps to Sunbird
Global Vendor Registration API
Local Vendor Registration by Deep Linking
Technical Specification for third party apps
Param Data Supported
Summary Event Spec
API Documentation
Intent Handling
Approaches
Work Flow
Registration of External Apps
Global Registration
{
identifier: "",
name: "",
logo: "",
appName: "",
packageId: "",
target: {
mimeType : [],
contentType : [],
.... // All content attributes
},
appDetails: {
organization: ""
}
}
Local Registration By Deep Link (Only Restricted to that particular device)
Registering by Deep link inside Sunbird
sunbird://register?name: "Google Corporation", logo: "https://<domain-url>", appName: "Google Bolo", packageId: "com.google.bolo",target:”{}”,appDetails:”{}”
Sunbird Third Party App Interaction
{
referrerPackageId : "com.google.bolo",
referenceID : "App generated Code",
mimeType : "",
vendorCode : "",
contentUrl : "",
profileContext: "{handle:'',avatar:''}"
}
{
"edata": {
"type": "",
"mode": "",
"starttime": Long,
"endtime": Long,
"timespent": Double,
"pageviews": Long,
"interactions": Long,
"envsummary": [{
"env": String,
"timespent": Double,
"visits": Long
}],
"eventssummary": [{
"id": String,
"count": Long
}],
"pagesummary": [{
"id": String,
"type": String,
"env": String,
"timespent": Double,
"visits": Long
}]
}
}
Vendor registration of Apps to Sunbird
Global Vendor Registration API
Each Vendor can be registered as part of Global Configuration for Sunbird to have app links being enabled.
Vendor CRUD API (or) Form Configuration Supported.
Local Vendor Registration by Deep Linking
Enabling of Deep link in Sunbird for local registration restricted to device.
Device hears for deep links to register vendor apps locally (Restricted to particular device).Steps
Vendor app needs to call a deep link of Sunbird app.
Sunbird App as part of handling deep link will try to persist vendor information locally on app’s data.
Any subsequent invocation of intent from Sunbird will show globally registered apps for Sunbird along with locally registered apps in devices.
deeplink Url :
sunbird://register?name: "", logo: "", appName: "", packageId: "",target:”{}”,appDetails:”{}”
Parameter | DataType | Description |
---|---|---|
name (M) | String | Name of the vendor |
logo (M) | String | App logo Url |
appName (M) | String | App Name |
packageId (M) | String | PackageID of the app |
target (M) | String | Targeted content query |
appDetails (O) | String | App details |
extra (O) | String | Misceallaneous Information to be sent |