How do you install and automatically update application builds on Android TV for testers? - android-tv

I'm looking to install and automatically/one button update very early development builds of an application to Android TV devices in my household. I've initially tried Google Play using an internal track, but it turns out this is reviewed by a human initially and because of how incomplete the application is it was rejected. I do not want to get bogged down in design/etc. to get past the Play reviewers, especially with the current 7 day~ turn around time.
I found Firebase App Distribution, which seems like a decent choice for the kind of testing I want to achieve, but the set up process seems very mobile centric, and talks about clicking links in emails etc. which is not doable on Android TV.
My goals are:
Get my not production ready application installed and automatically/one button press updated on Android TV
I've tried:
Google play store internal track, rejected because of how "not production ready" it is
Firebase App Distribution, but the tester registration process involves emails/flows not available on TV
So I guess my questions are:
What are my options for installing and automatically updating signed test builds on Android TV?
Is it possible to use Firebase App Distribution with Android TV apps? How do you register?
Currently I'm either having to get the devices near a laptop to adb install the APK, or pushing the APK to a network share and using a file manager on the TV devices to manually install and update the app.

Related

Firebase not reporting android activity

We are using Firebase for push notifications for Android and iOS, and all the notifications are working perfectly.
But when I log into firebase, and try to see the activity in “Streamview”, I see only iOS activity, and nothing for Android.
I do see the activity in Cloud messaging’s Report section, for both iOS and Android.
The application we have built is built using Xamarin forms.
One thing to note from the Firebase console is that it doesn’t appear as though the console recognizes that SDK setup was fully complete.
When going into the link where it says “Continue SDK Setup”.
Finally, when proceeding to step #4 it tries to verify that there has been communication between the app and Google’s servers and it doesn’t seem to find anything and it just sits there looking.
Notifications appear to work, but the app just doesn’t seem to be registering as being used under the Android side.
Any pointers in this direction will be very helpful.
i don't have any idea what is wrong here.
I want to watch complete report of my push notifications sending count, for both platform Android and iOS. but i am getting only iOS report in stream view tab not for Android.
I made the comment above and now I have found an answer, at least for my situation. I had added Xamarin.Firebase.Core to the PCL project as the documentation suggests. Later I saw documentation for Android Java that showed Firebase Core being added to the gradle file at the app level. So I added Xamarin.Firebase.Core NuGet package to the Android project also and now I can see data for Android in the Firebase Console.

Google Analyitcs with gms version 11.4.0 or higher is not working with instant apps when run on Nought Devices

We want to transfer data from instant app to installed app using Cookie API. Cookie API needs to have a play services version 11.4.0 or more. It works on lollipop, marshmallow and Oreo devices but crashes on Nought devices only showing following exception.
java.lang.NullPointerException: Attempt to invoke interface method 'void android.app.job.IJobScheduler.cancel(int)' on a null object reference.
It crashes when we use GoogleAnalytics.getInstance(getContext()) to get the Google Analytics Instance. But it works on all platforms except Nought.
I believe this is the same as this issue.
If that's the case, then this should fix it.
This is normally fixed in Google Play services for Instant Apps version 2.3. However, when you provision your device with Android Studio, you no longer receive OTA updates. You can check that from the version number (Android Studio provisioned version contains "sdk").
Try uninstalling Google Play services for Instant Apps. Then turn off Instant Apps and turn it on again. It should restore the final version (2.6-release), which contains the fix.
Deploying from the IDE will overwrite it still though.
So once it's updated, you can also remove the forced provision from the Edit Configuration dialog.
This was my issue with Firebase Analytics and I got the same error. So try that out and let me know if it helps.

Enterprise build for apple watch

I am trying to create enterprise build for apple watch project by xcode 6.3
I tried to build by archive and by auto-build (shenzhen tool)
When I run it at iPhone, it crashes immediately but with ad-hoc build it's work fine.
I've found that Xcode Automatic selections do not work properly for code signing and provisioning profile when used with Apple Watch; sometimes it makes the wrong choice and you only notice when it has problems installing and launching.
For each of the App, App Extension, and Watch App, select the code signing certificate and provisioning profile explicitly (not automatic) in the pop up list.
For issues upon launch on the device (from spring board) the device console gives good information. Install iOS Console, from lemonjar.com to easily see such information.

App won't uninstall from Smartwatch 2

I've deployed an Android app that interfaces with the Sony Smartwatch 2, and generally, it's working well. However, I have a user reporting that when he uninstalls the app from his phone, the watch component is not uninstalled.
I understand that the un/installation of the two should be linked, and in my testing (and for most of my users), that works fine. What might this user try to force the app to uninstall from the watch?
The user could be right. I've observed the issue only once for ca. twenty (20) installing/uninstalling rounds. However I did not found the way to reproduce it and I can't state what circumstances can cause such behaviour.
Did you've got information from the user on what phone, Android release, Smart Connect or SmartWatch 2 software version this issue occurred?
The only thing he can do to remove Wearable Widgets instance from SmartWatch is to reset the watch (Settings -> Reset SmartWatch).

Do I need two Provisioning Profiles?

I've got a Provisioning Profile for distribution com.mycomapnyname.myappname
Now I want to test my app in my iPad and I did all steps- Get certificate - Add my device - create an AppId - and finally create a Development Profile called My Applications (to sets all apps), so I've got a Distribution Profile and a development Profile.
The bundle identifier for distribution is com.mycomapnyname.myappname
The bundle identifier for developer is com.mycomapnyname.*
In Library Provisioning Profiles I've got both.
In Ipad Provisioning profile I've got just My Applications Profile
When I try to run it on my iPad I set in Targets - Build Settings:
Code Signing / Debug / Any iOS SDK = iPhone developer matching with My Applications
Code Signing / Distribution / Any iOS SDK = iPhone distribution identity
in Targets / Info:
Bundle identifier: com.mycomapnyname.myappname
Finally when I want to run my project (setting to run it on my iPad) I've got the error:
"A valid provisioning profile for this executable was not found."
It's a king of mess for me, can anyone help me to be able to run in on my device?
I run other app on my device, but following a tutorial and creating a new app, but I can't run my own app in my device for testing.
Thanks in advance ;-)
No you don't unless you like to setup wild cards for each app which is confusing.
Try this it may help. In xcode go to organizer and then select provisioning profile section. Try to refresh that. It will connect to Dev portal and download your current profiles. Then with your device connected try clicking on the name of the device and make sure your device gets detected by xcode. If it says use for developing click on that and it will also refresh the provisioning profile on your device. That should re sync everything. If this dies not work let me know and I'll get on my Mac and see how I can help you more.
Adrian

Resources