Dependent app configuration Wear Os, gradle vs manifest for distribution - android

Dependent app configuration Wear Os, gradle vs manifest for distribution
Hello, I need help, this is the first time that I see apps for Wear Os by Google, in this case I made an app dependent on the one on the phone.
Add the settings from the phone and wear app but when you go to "Advanced Settings" -> "Version types" -> Add "Wear Os by Google" and accept the Wear policies, it will be revised and rejected.
The only message I get by mail is the following
Publishing status: Rejected
Your app has not been accepted into Wear OS. This does not affect your app’s status on Google Play.
Eligibility Issue
Does not mention Wear OS
Your app does not mention Wear OS in the store listing. Please refer to the Wear OS by Google app quality guidelines for more information.
So it seems to me that you need some particular configurations either in the manifest or in gradle that I am ignoring, it should be noted that I have been guided by the official documentation but I have not had a satisfactory result.
Thanks in advance!

Related

Can a Flutter app be proposed on the Huawei AppGallery?

Some Huawei mobile devices don't have the Google Play Store and have the Huawei AppGallery instead. Since Flutter is for cross-platform development (iOS and Android), it may be desirable to propose Flutter developed apps through the Huawei AppGallery.
The Huawei devices without the Google Play Store are still using Android and the applications to upload to the Huawei AppGallery must have the apk extension (just like in the Google Play Store). These are hunches that at least some Google Play Store applications can be proposed on the Huawei AppGallery. However, I did not find any proof or confirmation of this. Nor any clear perimeter for this compatibility. For example, some services may not work or may not be accepted on the Huawei AppGallery for technical or legal reasons. One part of this perimeter is the use of Flutter to develop the application.
So, my question is, can a Flutter developed application be compatible with the Huawei AppGallery and if so, under which conditions?
Edit after first app publication 2020 04 13
My first Flutter app has just been published on the Huawei AppGallery. This answers the first part of the question.
Still, as this app is quite minimalist, this doesn't answer the most important part which is: under which conditions can a Flutter app be published on the Huawei AppGallery?
As long as your application complies with the regulations of AppGallery, there should not be any problem it.
https://developer.huawei.com/consumer/en/doc/30202
AppGallery does not have any restriction on the language application developed with, no need to worry about it; flutter, cordova, react.native, xamarin they are fine.
Just a point to take care. If you are using SDKs or services those depend on Google Play services, when you have published your application on AppGallery, it will be visible only for Huawei devices supports Google Play Services.
There are no restrictions on the Flutter apps. They can be released on HUAWEI AppGallery.
How to release an app:
Register and sign in to your HUAWEI Developer account, go to AppGallery Connect, create a new app, and upload the APK.
Set languages and basic app information, such as app name, introduction, screenshots, and app category.
Select your business model (free or premium), release countries and regions, and a link to the privacy statement.
Confirm that all of the information provided is correct, and submit your app for review.
As #captaink said, please also refer to AppGallery Review Guidelines.
If your app has integrated GMS Kit, these capabilities provided via GMS are not available on Huawei phones with HMS. If you want your app to run on these phones, integrate Huawei Mobile Services (HMS).
Huawei has provided some HMS Core kit plugins for Flutter. They have been published to public open source communities. You can also find them on GitHub.
Account Kit plugins for Flutter
Ads Kit plugins for Flutter
Analytics Kit plugins for Flutter
AR Kit plugin for Flutter
In-App Purchases Kit plugin for Flutter
Location Kit plugins for Flutter
Map Kit plugins for Flutter
Push Kit plugins for Flutter
Scan Kit plugin for Flutter
Site Kit plugins for Flutter
In theory, yes it could. Huawei uses an OS called Harmony OS.
The Arc compiler in Harmony OS supports all the major programming languages including C/, C++, Java, JavaScript and Kotlin.
Flutter compiles Dart code to native device code (Java, and Kotlin for Android and Swift for iOS). Huawei is making an Arc compiler that supposedly makes it easy to turn Android apps to Harmony OS apps. What does this mean for Flutter and the AppGallery? I'm not sure.
So to your question, in theory, yes it could but I would just recommend coding your own app in one of the languages mentioned above and using the Arc compiler to put it on Huawei's AppGallery.
UPDATE:
So apparently you can just put an APK on the Huawei App Gallery: https://developer.huawei.com/consumer/en/doc/distribution/app/30204. Since you can obviously make APKs in Flutter, I don't see why not.
Update on this subject:
we received the communication from Huawei technical staff to delete all Google Play Services in the app and substitute them with theirs Huawei Mobile Services, before the end of November 2020.
It seems that after this date they don't accept Google Play Services inside the apps. Don't know if app published before will still be there after.

Google Play Security Issues?

This is my first time submitting an app to the Google Play store, so I'm not very experienced with the process at all. After struggling for a bit to get it to build correctly, I was finally able to upload an app bundle and send it in for review. A few minutes later I got an email saying my app was "vulnerable to Intent Redirection" and recommended the following article for support: https://support.google.com/faqs/answer/9267555. The problem is I don't understand much of what the article is saying! As far as I know, I haven't messed with anything like this. I've only downloaded the base NDK and SDK stuff from Unity Hub, and I haven't changed any of the code in Android Studio at all. I asked Google for support, and they said:
"We’ve identified that your app is using the AliPay SDK or library, which facilitates the transmission of phone number information without meeting the prominent disclosure guidelines. If necessary, you can consult your SDK provider(s) for further information or please upgrade AliPay SDK version to 15.5.5 or higher."
Please help! Is there an easy fix to this that I'm missing somehow? I don't even know what AliPay is, as I said I'm a total beginner here. In case it's useful info to have, I'm using Unity 2019.2.13f1 on a Macbook Pro running High Sierra 10.13.6.
Well, do what the message says "upgrade AliPay SDK version to 15.5.5 or higher".
Just go to Android Studio and open your build.gradle file then update that lib version. It will be marked with a yellow line, that means that lib has an update. Focus on that line, then do Alt + Click then Enter, now sync and you've done. Upload the new apk.

Can't install my app on wear

I tried to add a wear module to my existing app, tried a lot of solutions, but can't figure out why my app is not being installed on my watch.
What I tried :
First, Manual packaging with my app : https://developer.android.com/training/wearables/apps/packaging.html
But I quickly decided not to go through this.
Then I decided to go to gradle include, so to the build.gradle of app, I added the following to the end of dependencies :
debugWearApp project(path:':wear', configuration: 'flavor1Debug')
releaseWearApp project(path:':wear', configuration: 'flavor1Release')
To the build.gradle of wear, I added the following to the beginning of dependencies :
wearApp project(':wear')
Then, in android{} section of wear build.gradle, just after buildToolsVersion, I added the following :
publishNonDefault true
What I have seen :
No problem to install the wear app to the wear using bluetooth debug of the wear
Then, when I install a generate a release version of my app, I can see in raw, that it has been added a file android_wear_micro_apk.apk to res/raw which is my watch app.
I also saw a file android_wear_micro_apk.xml in res/xml with, from what I guess between hexa codes, the description of wear app.
Then I compare signatures :
keytool -list -printcert -jarfile mobile_app.apk
keytool -list -printcert -jarfile wear_app.apk
Using the wear app generated in res/raw. They exactly have the same signature. Then I compared :
aapt dump badging mobile_app.apk
aapt dump badging wear_app.apk
They have exact same package names and version codes and names.
So, from that :
Apk of wear is correctly added
Apk of wear is working if installed on the wear using adb and bluetooth debug
Both apk have same version code, version name, and package name
Wear is not requiring any permission
Phone is requesting following permissions
android.permission.ACCESS_NETWORK_STATE
android.permission.INTERNET
com.android.vending.BILLING
com.google.android.c2dm.permission.RECEIVE
android.permission.VIBRATE
android.permission.WRITE_EXTERNAL_STORAGE
android.permission.BLUETOOTH
android.permission.BLUETOOTH_ADMIN
com.samsung.accessory.permission.ACCESSORY_FRAMEWORK
com.samsung.android.providers.context.permission.WRITE_USE_APP_FEATURE_SURVEY
com.samsung.WATCH_APP_TYPE.Companion
com.samsung.wmanager.ENABLE_NOTIFICATION
I'm really wondering what I could have forgotten.
Thanks for any help
According to one of Google’s Android Developer Advocates, Android Wear 2.0 will require completely standalone watch and phone apps, and abandons the system used since the first version of Android Wear that automatically installs Android Wear apps based on the apps you have on your phone.
He puts it plainly in reply to another developer in the Android Wear Developers Google+ community (emphasis ours):
A Wear 2.0 user must visit the Play Store on their watch to install
apps. There is no auto-install like on Wear 1.X. Wear 2.0 apps get
full network access and can be installed completely separately from
the handheld app so the focus is much more on standalone Wear apps
than the handheld centric 1.X Wear apps.
But what about apps built solely for your watch? Well, there's a whole
store worth of apps that go beyond simple notifications and live on
the watch itself. Rather oddly, these still have to be installed
through your smartphone. For now, at least - the new Android Wear 2.0
update will include functionality for standalone apps.
Forum
On the watch:
Settings, Un-pair with phone. (Old release of AW may say Factory
reset.)
Do not set up the watch yet.
On the phone:
In Android Wear use the Disconnect... option.
In Android Wear, use Settings, Device settings and touch the watch
name, Touch FORGET WATCH.
Settings, Bluetooth. If you still see the watch, touch Forget... the
watch so it no longer appears in the list of paired devices.
Settings, Device, Apps, select Google Play Services. Clear cache and
Clear data. Uninstall updates.
Settings, Device, Apps, select Google App. Clear cache and Clear
data. Also Uninstall updates.
Settings, Device, Apps, select Android Wear. Clear cache and Clear
data. Also Uninstall updates.
Play Store, Apps, My apps, touch the Update all button.
You may want to check permissions declared in your app. As mentioned in Requesting Permissions on Android Wear regarding mismatching permission models between wearable and handset app,
If your handset app begins using the Android 6.0 (API level 23) model but your wearable app does not, the system downloads the Wear app, but does not install it. The first time the user launches the app, the system prompts them to grant all pending permissions. Once they do so, it installs the app. If your app, for example a watch face, does not have a launcher, the system displays a stream notification asking the user to grant the permissions the app needs.
The suggested solutions in these SO posts might also help:
Android Wear App not installed
Android Wear app not installing through handset

How to test device compatibility?

My app is not compatible for my device through Play Store.
I am constantly testing on my device and it works properly.
How can I learn what is not compatible?
1.1 I have only 1 'uses-feature', for 'android.hardware.telephony' and it is 'required="false"'
1.2 My 'compileSdkVersion' = 23, 'minSdkVersion' = 16, 'targetSdkVersion' = 23
1.3 My device is Nexus 5 with Android 6.0
How can I test if a fix works without uploading to the store? Currently I can install and run the app on my device through Android Studio but not through the Play Store.
You can write unit tests that run on your device/emulator to get the features available on the device/emulator and compare them with your app's required features.
The PackageManager.getSystemAvailableFeatures() method will be helpful in that case.
Another approach is to check the output of the aapt tool by the SDK to see the permissions and features defined by your app, these permissions and features dumped by the tool are those who GooglePlay will use to filter your app.
https://developer.android.com/guide/topics/manifest/uses-feature-element.html#testing
The aapt tool may be useful in some cases, but the easiest way I've found to test device support is to upload an APK to a closed track in the Play Store Console (under Release management > App releases > Create closed track > Manage):
Then check the device catalog (under Release management > Device catalog):
I had previously excluded a ton of devices from the compatible-screens part of my manifest. I was able to test that the new APK corrected this by clicking on one of the devices in the catalog and expanding the "Track-level status" section on the next page:

Missing 64-bit support / Missing Push Notification Entitlement Phone

I am trying to submit my app and I keep getting this issue. I have updated the Phonegap and cordova but still get his issue. I have also regenerated the app using command line after the update but no luck.
Email below.
Dear developer,
We have discovered one or more issues with your recent delivery for .
Your delivery was successful, but you may wish to correct the
following issues in your next delivery:
Missing Push Notification Entitlement - Your app appears to include
API used to register with the Apple Push Notification service, but the
app signature's entitlements do not include the "aps-environment"
entitlement. If your app uses the Apple Push Notification service,
make sure your App ID is enabled for Push Notification in the
Provisioning Portal, and resubmit after signing your app with a
Distribution provisioning profile that includes the "aps-environment"
entitlement. See "Provisioning and Development" in the Local and Push
Notification Programming Guide for more information. If your app does
not use the Apple Push Notification service, no action is required.
You may remove the API from future submissions to stop this warning.
If you use a third-party framework, you may need to contact the
developer for information on removing the API.
Missing 64-bit support - Beginning on February 1, 2015 new iOS apps
submitted to the App Store must include 64-bit support and be built
with the iOS 8 SDK. Beginning June 1, 2015 app updates will also need
to follow the same requirements. To enable 64-bit in your project, we
recommend using the default Xcode build setting of “Standard
architectures” to build a single binary with both 32-bit and 64-bit
code.
After you’ve corrected the issues, you can use Xcode or Application
Loader to upload a new binary to iTunes Connect.
Regards,
The App Store team
Goto developer site & enable push notification In your ptovisioning profile for production , recompile with latest provisioning profile & resubmit it.
Regarding 64 bit support have you changd active architecture setting from build setting it should be standard atchitecture.
Found out that this is just a warning message. The App got accepted!
Missing Push Notification Entitlement - Did not matter as I did not use the notification functionality.
Missing 64-bit support - You have to have the latest version of phonegap
Thanks for your help guys

Categories

Resources