How to configure Web Page Kiosk with Android Management API - android-management-api

I have tried deploying a web page as a kiosk app on a fully managed device enrolled via QR code. following the example configuration at
https://developers.google.com/android/management/policies/dedicated-devices#kiosk_mode
resulting in the following policy json:
"applications": [
{
"packageName": "com.google.enterprise.webapp.<my-webapp-id>",
"installType": "KIOSK",
"defaultPermissionPolicy": "GRANT"
},
{
"packageName": "com.android.chrome",
"installType": "FORCE_INSTALLED",
"managedConfiguration": {
"URLBLacklist": ["*"],
"URLWhitelist": ["<my-webapp-host>"]
},
"defaultPermissionPolicy": "GRANT"
}
]
Upon deploying a device with the policy it produces the following compliance error
​"nonComplianceDetails": [
{
"nonComplianceReason": "INVALID_VALUE",
"packageName": "com.google.enterprise.webapp.<my_webapp_id>",
"settingName": "persistentPreferredActivities"
}
]
And produces the following error info on the device "persistentPreferredActivities 4"
How would I resolve this error and fix this policy deployment?

When you set the installType of an app to KIOSK then you should no longer use persistentPreferredActivities in the policy as mentioned in the documentation. You may also want to start using the new managed configuration keys of Chrome (URLBLacklist to URLBlocklist and URLWhitelist to URLAllowlist as the older naming convention was deprecated in v101).

Related

Publishing Power App to Team Store Invalid App Manifest File

I was tasked to develop a power app and publish to Microsoft Team Store (Organization Only). I have done the application development.
When I try to publish the App to App store , I got to know that team app manifest file need to be done. So I used guide can created the manifest file as bellow.
{
"$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.7/MicrosoftTeams.schema.json",
"manifestVersion": "1.7",
"version": "1.0.0",
"id": "c3396bee-dcd6-4d8e-a683-23f16a23d0b8",
"packageName": "MyAppPackage",
"developer": {
"name": "API Team",
"websiteUrl": "https://www.myOrg.com",
"privacyUrl": "https://myOrg.com/privacy",
"termsOfUseUrl": "https://myOrg.com/toc"
},
"name": {
"short": "my App Name",
"full": "my app Long Name"
},
"description": {
"short": "my app short descrption.",
"full": "My app long description."
},
"icons": {
"outline": "icon-outline.png",
"color": "icon-color.png"
},
"accentColor": "#FFBB00",
"permissions": [
"identity",
"messageTeamMembers"
],
"validDomains": [
"virtusa.com"
],
"defaultInstallScope": "personal",
"powerAppInfo": {
"powerAppId": "c3fd6bee-dcd6-gf8e-a683-23ere6a23d0b8",
"entityId": "00000000-0000-0000-0000-000000000000",
"webUrl": "power app url"
}
}
When I validate this in Developer Portal I'm getting bellow validation issue
Property "defaultInstallScope" has not been defined and the schema does not allow additional properties.
Property "powerAppInfo" has not been defined and the schema does not allow additional properties.
So I removed these properties and resubmitted, then app is properly validating, once I imported to Dev Portal and preview in teams I get bellow
Unfortunately I do not get any installation option as a personal app in team app store.
I have tried different app manifest version but still the same.
I'm trying to host the app as personal app for team in my org. before doing that I use developer portal to validate and priview.
the app should able to access by users in org (can publish to app sore)

Android Management API Google Playstore iFrame changes don't reflect on managed devices

I've noticed that in the embedded Google Play Store iFrame for my organization, that if I add apps to a collection that are approved, those apps don't show up different in either Whitelist or Blacklist play store mode. Where are these app collections supposed to be reflected on the managed devices? If I am in Whitelist mode, I was expecting that approved applications within the Google Play store iFrame would become available to the managed devices with a policy containing Whitelist mode. Is this not how it works?
Here is a really simple policy that we were using for testing:
{
"name": "enterprises/ORGANIZATION/policies/Whitelist",
"version": "18",
"systemUpdate": {
"type": "POSTPONE"
},
"addUserDisabled": true,
"removeUserDisabled": true,
"locationMode": "LOCATION_USER_CHOICE",
"networkEscapeHatchEnabled": true,
"playStoreMode": "WHITELIST"
}
You need to make sure the apps you want to be included in the whitelist
is added in your policies by using "installType: “Available”
To simplify adding these applications to your policy, your solution should use the iFrame in SELECT mode as outline in the integration guide.
Your policy should look like this
{
"name": "enterprises/ORGANIZATION/policies/Whitelist",
"version": "18",
"systemUpdate": {
"type": "POSTPONE"
},
"addUserDisabled": true,
"removeUserDisabled": true,
"locationMode": "LOCATION_USER_CHOICE",
"networkEscapeHatchEnabled": true,
"playStoreMode": "WHITELIST",
"applications": [
{
"packageName": "com.linkedin.android",
"installType": "AVAILABLE"
},
{
"packageName": "com.android.chrome",
"installType": "AVAILABLE"
},
{
"packageName": "com.dropbox.android",
"installType": "AVAILABLE"
}
]
}

MS Teams Bot - task/fetch URL not loading in web/desktop app but loading in android app

I'm trying to display an URL upon invoke (task/fetch) via MS Teams bot. The URL is loading and working perfectly fine on android/ios app. But it is not loading at all in web/desktop app. The app has been in production for some time now and I recently updated the app manifest with valid domains for making the URLs load in Teams.
Also I tried the same manifest/backend with another test app and URLs are loading fine in web/mobile app. Not sure what am I missing here.
Please find below my task/fetch response and manifest details.
task/fetch response
{
"task": {
"type": "continue",
"value": {
"title": "Task Module Test",
"height": 1200,
"width": 1000,
"url": "https://www.contoso.com/msteams/taskmodules/newcustomer",
"fallbackUrl": "https://www.contoso.com/msteams/taskmodules/newcustomer"
}
}
}
My App Manifest (have edited some sensitive info but the structure of the manifest is intact)
{
"$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.8/MicrosoftTeams.schema.json",
"manifestVersion": "1.8",
"version": "1.0.0",
"showLoadingIndicator": true,
"id": "some-id",
"packageName": "com.example.bots.msteams",
"developer": {
"name": "Test",
"websiteUrl": "https://www.example.com",
"privacyUrl": "https://www.example.com/policy",
"termsOfUseUrl": "https://www.example.com/terms"
},
"icons": {
"color": "color.png",
"outline": "outline.png"
},
"name": {
"short": "Test Short",
"full": "Test Long"
},
"description": {
"short": "Short desc",
"full": "Long desc"
},
"accentColor": "#FFFFFF",
"bots": [
{
"botId": "some-id",
"scopes": [
"personal"
],
"supportsFiles": true,
"isNotificationOnly": false
}
],
"permissions": [
"identity",
"messageTeamMembers"
],
"validDomains": [
"www.contoso.com"
]
}
URL successfully loading on Phone app
URL not loading on web/desktop app
Happy to provide any other info if needed!
Ok, found the fix (but I have no clue why it works). I removed showLoadingIndicator property from the manifest and the URLs are loading fine now.
I couldn't find much help on what that property does from MS docs.
Glad that you found the solution and thanks for posting it back to help other community members.
When you set showLoadingIndicator to true, as a mandatory step you need to call microsoftTeams.appInitialization.notifySuccess() to notify Teams that your app has successfully loaded.
The behavior on mobile clients is not configurable through the native loading indicator property. Mobile clients show this indicator by default across content pages and iframe-based task modules.
Here is documentation on Show Loading Indicator.

Can't add work file to a Company-owned devices for work and personal use

I've created a token with this policy:
{
"name": "enterprises/LC0261d9zr/policies/CompanyOwnedWorkProfilePolicy1",
"version": "1",
"applications": [
{
"packageName": "com.google.android.gm",
"installType": "FORCE_INSTALLED",
"defaultPermissionPolicy": "GRANT"
},
{
"packageName": "com.google.android.apps.docs",
"installType": "AVAILABLE"
}
],
"passwordRequirements": {
"passwordMinimumLength": 6,
"passwordQuality": "ALPHABETIC"
},
"usbFileTransferDisabled": true,
"bluetoothDisabled": true,
"personalUsagePolicies": {
"cameraDisabled": true,
"screenCaptureDisabled": true,
"maxDaysWithWorkOff": 3,
"personalPlayStoreMode": "BLACKLIST"
}
},
and set "allowPersonalUsage": "PERSONAL_USAGE_ALLOWED",
I got enrollment token successfully, and use DPC indentifier to register a device.
But at last, the device shows :
Can't add work profile : A work profile can't be added to this device.If you have questions,contact your admin.
Can someone tell me what's the problem?
Thanks in advance.
PS: I've successfully set the device as Company-owned devices for work use only.
After factory-reset, and I wanna set the device to Company-owned devices for work and personal use,I met this problem.
My phone's system is 8.0
I've also tried to use another enrollment token with policy below to set the device as Personally-owned devices,get the same result.
{
"name": "enterprises/LC0261d9zr/policies/PersonalyOwnedProfilePolicy1",
"version": "1",
"applications": [
{
"packageName": "com.google.android.gm",
"installType": "FORCE_INSTALLED",
"defaultPermissionPolicy": "GRANT"
},
{
"packageName": "com.google.android.apps.docs",
"installType": "AVAILABLE"
}
],
"passwordRequirements": {
"passwordMinimumLength": 6,
"passwordQuality": "ALPHABETIC"
}
}

Office365 connect to office button not working for Microsoft Teams. Getting 500 error

I had created an Office365 Connector for my Microsoft Teams app. Earlier it was working perfect, I was getting notifications in my channel.
Now it has stopped working. I am getting "Something went wrong" error with message "An unexpected error has occurred". something went wrong
Any help regarding this would be appreciated. I am really stuck.
Manifest content :
{
"$schema": "https://statics.teams.microsoft.com/sdk/v1.0/manifest/MicrosoftTeams.schema.json",
"manifestVersion": "1.0",
"version": "1.1",
"id": "8471589f-f521-4d69-8d59-6a207b9e1b7b",
"packageName": "com.microsoft.teams.corrus",
"developer": {
"name": "Corrus",
"websiteUrl": "https://corrus.com/",
"privacyUrl": "https://corrus.com/terms/",
"termsOfUseUrl": "https://corrus.com/terms/"
},
"icons": {
"color": "corrus_logo.png",
"outline": "corrus_logo_outline.png"
},
"name": {
"short": "Corrus",
"full": "Corrus"
},
"description": {
"short": "A work management platform to work collaboratively and accomplish goals.",
"full": "Corrus is a work management tool for small teams to collaborate and manage projects in a cloud application. You can create tasks, build workflows and work with different stakeholders in one workspace. It helps teams align their processes and scale better as it enables them to break their goals and work into manageable blocks, create an action plan or a workflow, increase productivity and gain visibility within the team."
},
"accentColor": "#8170FF",
"configurableTabs": [
{
"configurationUrl": "https://app.corrus.com/#/tabsConfig",
"canUpdateConfiguration": true,
"scopes": [
"team"
]
}
],
"connectors": [
{
"connectorId": "8471589f-f521-4d69-8d59-6a207b9e1b7b",
"scopes": [
"team"
]
}
],
"permissions": [
"identity",
"messageTeamMembers"
],
"validDomains": [
"app.corrus.com",
"corrus.com"
]
}
There was an issue when we try to configure connector for newly created team. This issue has been fixed.
Note: Adding this as answer from comments section for visibility.

Resources