I had submitted a Teams App for approval. The approval has Failed with primary reason being "We could not install your app"
I would like to know how exactly the app is tested. I had submitted a zip file containing the manifest.json as part of the submission. How is the validation team going about using the zip file and manifest.json? I am able to install the app(bot) without any issues with my test accounts for 1:1 chats. If the validation team can let us know the steps they are following to test the app, then we can try replicating those to see if we get the same error.
The testing procedure in the Microsoft documentation is as mentioned in this link: https://msdn.microsoft.com/en-us/microsoft-teams/botsadd#adding-a-bot-for-11-chat-only
Is the validation team is trying to sideload the app into a team as a result of which they are seeing an error on installation. The app is not meant for use in teams. It is for use in 1:1 chats only. Listing the steps that the validation team is following will be of much help!
All Teams apps must be packaged and sideloaded per instructions on MSDN:
Packaging: https://msdn.microsoft.com/en-us/microsoft-teams/createpackage
Sideloading: https://msdn.microsoft.com/en-us/microsoft-teams/sideload
The 1:1 testing link you refer to is only for that: local testing. For apps submitted to the store, you need to follow the above steps.
In other words, sideload the same app package you want to upload to the store. Does it load?
A couple things to check:
To ensure your manifest is well structured, use the schema Intellisense tip mentioned here: https://msdn.microsoft.com/en-us/microsoft-teams/schema
There is a known issue with description.full length - keep it under 255 characters for now.
Related
We created an app and uploaded the bundle from dev1 developer account.
The app is in draft stage as can be seen in the screenshot below
We created the internal testing track and send the link to 4 friends to install and provide feedback.
Later we decided we want to publish/release the app from a different developer account (dev2)
We paused the internal track , uninstalled the app and requested google support to delete the app. However support is saying that as the application has 'install statistics' they cannot delete the application at this time.
Question 1: As per https://support.google.com/googleplay/android-developer/answer/9023647 it should be possible to delete a draft. Am I misunderstanding draft status somehow?
Question 2: Is there something I can do to reset the install statistics. I could not find clear meaning of 'App must have 0 lifetime installs'. From literal meaning it appears if any one installs it even once, then it can never be deleted.
Question 3: If it is not possible to delete the app, is following workaround inline with google's policies
We leave the application as is in dev1 account (i.e. not published, internal testing track paused) .
We also unhook this version of the application from the back end server.
There after we publish the app from a different account (dev2) with new package name.
I have a query regarding, How to Proactively Install / Push Apps in Teams for Multiple Users ?.
We have added our Bot Application as part of Teams App Catalogue, and I followed below document regarding Manage App Setup Policies in Microsoft Teams to install apps:
https://learn.microsoft.com/en-US/microsoftteams/teams-app-setup-policies?WT.mc_id=TeamsAdminCenterCSH#install-apps
Though above link clearly states that it automatically installs apps for users, but when we follow above link it only adds application as part of Teams App Catalogue.
So just wanted to know that does installation here mean, only adding in App List and not installing as such on user machine ?.
The other method we can follow is to create a custom script and use Graph API queries as described in below link:
https://learn.microsoft.com/en-us/microsoftteams/platform/graph-api/proactive-bots-and-messages/graph-proactive-bots-and-messages#proactive-app-installation-in-teams
So wanted to know as per Microsoft, what is the recommended way of Pushing Bot App to multiple users on MS Teams. Can this be handled with Teams Admin Center ?.
Any help or guidance on the approach to achieve proactive app installation in Teams would be great.
Thanks In Advance!!!..
Both of these approaches should work fine. App Setup Policies is the easiest though as you don't need to write any code, but be aware that it can take a while for the policy to apply (I think up to a day or even two). There's a way to force it to update, I think if the user signs out of Teams entirely and signs back in.
I tried with Teams Admin Center and tested 2 scenarios:
1.) For User Already Logged In
2.) For New User Logging the First Time
The policies take time to be applied / be effective for users (not immediate). In my testing, I logged in after ~2 hours for New User and waited ~2 days for already logged in User. We have to test the same for your respective environment. Also these are not Standard Timelines, and we have Test in our environment accordingly.
So here I am again, exploring new Google platform and hunting down information and docs.
I'm trying to build a skeleton of a flow before I write any business logic code with actual use of the APIs, and as expected from Google, this process is excruciatingly painful.
I've tried to follow this doc:
https://developers.google.com/gsuite/marketplace/listing
Packaged the zip, put the flag DOMAIN_INSTALLABLE flag as was instructed in order for the app to be installible from the marketplace. In the dashboard of PRICING & DISTRIBUTION I've selected Private and added testers to the list of testers.
Now when I click View in Chrome Web Store (seen in image) it takes me to the extensions web store, and not to the marketplace store.
How can I get to the GSuite Marketplace flow, rather than the extension flow? Do I need to alter my manifest.json in some way that is not mentioned in the docs?
Thanks
it's true that the publishing flow is too complicated now. We are working on improvements and in the future everything will be in one place.
Unfortunately G Suite Marketplace does not support trusted testers (yet), that's why it doesn't show up.
What you might be able to do, is modify the url a bit after you clicked on 'View in Chrome Web Store'.
Just remove everything after the webstore id
I use this url:
https://chrome.google.com/webstore/detail/xxxxxx
xxxx should be your webstore id
You should be able to show your unlisted app in the Gsuite Marketplace, where you can initiate the install flow.
It works for me, but my test app
I've got an application that does user provisioning for Google apps (specialty provisioning).
I got to thinking, instead of going into the developer console for each customer currently using the application that it may make sense to publish the app in the market place.
Is this appropriate to do? Also, there are limits on each api key on how many requests can be done. Would a new api key get generated for each customer installing from the marketplace? Is there anything else I need to be concerned on this?
I didn't fully understand your questions so i'll try to answer the best I can.
Yes, it would be easier for your customers, especially new customers, to find your app in Marketplace. From there they can install it easier.
Not sure what you meant by "instead of going into the developer console for each customer currently using the application". Do you create a new console project for each customer?
Are you using the Provisioning API? This API is being deprecated and it will stop working by April 20, 2015. Instead you should use the Directory API.
What do you mean with "API Key"? Is it Project ID? When users install the app, the app will use the same Project ID.
You should keep in mind that there are quotas for using Google services that will go against that Project ID.
I set up Google Play Games Services through the Google Play Developer Console by following the instructions here.
I went through the troulbeshooting guide here.
If i run my app through eclipse, it can connect fine to Play Games. However now the update is released and if I download it from the Play Store it cannot connect.
I verified that my SHA1 from the android export matches what is in the developer console. I even tried linking a new app with the SHA1 and it says: "This client ID is globally unique and is already in use."
I am now panicking because my game is live and can't connect. Help!
EDIT:
I added my client ID through the Google Play Developer Console, not the Google Developer Console. I removed the Client ID that was in the Google Developer Console.
Edit:
I cannot add a new client in GDC, i get an error about "duplicate fingerprint":
Have you tried deleting the console project related with your play service game installed application ?
Before altering / adding new API clients, make sure that you have checked the following:
IS your play games project published?
Or, are the accounts you are using for testing included on the testers list?
Are you signing your app correctly? If you are using your debug keystore in a released game, the app will not correctly be able to authenticate.
At any rate, deleting clients could fix working apps if you have already published and I'd hate to give you advice that breaks stuff. That said, if you're sure you need to create / recreate your client, move on.
The reason you are encountering the "This client ID is globally unique and is already in use." issue is that there exists a client with the same package name and SHA-1 hash in any Google Developer console project (not necessarily a Google Play Games project, not necessarily the current project, and not necessarily a project for your account if you are working on teams). This is because the combination of package name and SHA-1 hash must be unique for authentication.
At any rate, it's possible that the project still has a client (for Android) created that needs to be removed. This means that you must either remove the "bad" client from the developer console, re-sign your app with a new keystore, or use a different package name.
Option 1 - Removing clients
Although this is the most destructive option, it may be a good approach if you already removed clients from the Play Games Developer console and don't want to change your configuration.
Access your project from https://console.developers.google.com because this will give you a superset of the clients created from the play games console and will have an according project. Select the APIs & Auth -> Credentials section. From here, remove any Android clients you intend to replace.
Return to https://play.google.com/apps/publish and select your games project. You should now be able to add another client.
Option 2 - Create a new keystore
This is best covered in the Android documentation. After changing your keystore, you will be able to add another client using the new keystore signature.
Option 3 - Change the package name
You must update com.yourname.app with something other than com.yourname.app. This means renaming folders in your Android project, changing includes and package namespaces, and updating your project's AndroidManifest.xml.
After changing any of these, you should be able to create a working Google API project and get your app ready.
Have you only one account?
"This client ID is globally unique and is already in use."
Maybe someone is using your sha1... or you with another account