Google Android App Content forms

Google has been asking various information about your apps to provide correct information to the end user, you should provide these information timely and correctly as otherwise there is a risk of app being Rejected as well.

Here there is a guide (if you published app using Androapp wordpress plugin) to fill some of those forms.  Before we go into details, we wanted to explain that androapp as such doesn’t collect any user data and most of these is collected for advertising, analytics via the SDKs we add. Here are some of the SDKs we use in androapp

SDKS

implementation 'com.google.dagger:dagger-android:2.35.1'
implementation platform('com.google.firebase:firebase-bom:30.0.1')
compile 'com.github.castorflex.smoothprogressbar:library:1.0.0'
implementation 'com.google.android.gms:play-services-ads:21.0.0'
compile 'com.google.android.ads.consent:consent-library:1.0.8'
compile 'com.google.android.gms:play-services-location:19.0.1'
compile "com.google.firebase:firebase-core"
compile "com.google.firebase:firebase-messaging"
compile 'com.squareup.retrofit2:retrofit:2.3.0'
compile 'androidx.cardview:cardview:1.0.0'
compile('com.mikepenz:materialdrawer:5.5.0@aar') {
    transitive = true
}
compile 'com.nineoldandroids:library:2.4.0'
compile 'com.github.ksoichiro:android-observablescrollview:1.6.0'
compile 'com.squareup.picasso:picasso:2.5.2'
compile('com.appnext.sdk:ads:2.6.5.473')
compile 'com.appnext.sdk:banners:2.6.5.473'
compile( name:'androidappslider', ext:'aar')
compile 'com.mikepenz:fontawesome-typeface:4.7.0.1@aar'
implementation "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava"

Permissions

Also the list of permissions we added in manifest file, We don’t know the exact purpose of each one of these, they are added mostly while adding some integrations and some of these may be obsolete.

<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />

<!-- GCM requires this permission to recieve and register. -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />

<!-- Network State Permissions to detect Internet status -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<uses-permission android:name="android.permission.VIBRATE" />

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<!-- if you want to load images from a file OR from the internet -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

With that here are our suggestions to fill the forms, remember these are just the suggestions to the best of our knowledge, not legally binding in any way, if you have doubts consult the sdk providers directly.

  1. Advertising ID
Android 13 (API 33) introduces changes to advertising ID

Apps that use advertising ID and target Android 13 or later must declare the com.google.android.gms.permission.AD_ID permission in their app manifest. If you don’t include this permission, your advertising identifier will be zeroed out, any attempts to access the identifier will receive a string of zeros instead of the identifier. Learn more

Here we use Ads & analytics sdk’s, which already declared the required permission in the manifest file.

We suggest to select Yes here, feel free to select No if you don’t use those features, in that case any attempt to load advertising Id will get all 0’s.

2. Location permissions

Let us know why your app accesses location in the background. Learn more
Android P or older: Does your app access location in the background in APKs or app bundles targeting Android 9 (Pie) or older (SDK level 28 or lower)? Learn more
Here we are targeting 32 also we don’t access the location in the background, so safe to select No here.

3. COVID-19 contact tracing and status apps

Select third option here

4. Government apps

Is your app developed by or on behalf of a government? For example, a national health, city parking, or state licensing app.

Again Safe to select No unless you have the government App.

5. Data safety

In this questionnaire, you’ll be asked to provide information about the user data collected or shared by your app. The information you provide will be shown on your store listing to help users better understand your app’s privacy, security, and data handling practices before they download it.

This is the most cumbersome of them all.

Step1: Some information example, firebase id, coarse location, device/advertising ids are indeed collected and there is no way for end user to delete them individually, with that we believe here is the best options for data collection & security screen

Step 2: 

Select Approximate Location, App Interactions (in App Activity), Diagnostics (in App Info & Performance), Device or other IDs.

Step 3:

Now you need to fill the form individually for all the selected items in step 2, we believe below form represents the best state and is true for all the data collected by the SDKs.

 

 

How to find Google-Services File for Existing Project

Now you will need to add the content of the file in Account Settings tab for push notification to work via AndroApp WordPress Plugin.

Follow these steps to download the file.

  1. Go to https://console.firebase.google.com/
  2. Select the project for the website.
  3. Click on the android app OR the left box with number of box.
  4. Click on the settings icon for the android app for the website.
  5. Scroll down and you will see the option to download the google-services.json file, click on the down arrow to download the file
  6. This file content will look something like this
  7. Open the file and copy paste the content in text box in Account Setting tab

Supporting Latest Admob SDK

We recently updated Admob SDK, which also need admob application ID, thus you will have to update this in AndroApp->Account Settings tab and create a new apk from AndroApp->Look & Feel section.

Follow these steps to update application id

  1. Go to https://support.google.com/admob/answer/7356431
  2. Find the application id by following the instructions in above link.
  3. Login to your wordpress admin dashboard and go to AndroApp->Account Settings tab
  4. update your application id here and click Save.
  5. Go to Look & Feel tab
  6. Generate new apk.
  7. Test if Admob ads are showing on this apk (ensure that you enter correct ad ids in Account & Settings tab).
  8. Publish this new apk to Google Play Store.

Please do note there are other reasons for ads not being shown i.e. no inventory, new account, payment section not completed etc.

  1. You should ensure that you fill payment info in your Google Admob account
  2. Test Ads after 24 hours of creating new app/Ad.
  3. Test with test ads https://developers.google.com/admob/android/test-ads
  4. Ensure that your entered admob application id in Account Settings tab and you are on app version 22.00.

 

 

Adding support for Firebase Http v1 Apis for Push Notification

Push notifications were not working for the new firebase accounts because new firebase projects only supports http v1 apis while we were using v0 apis in androapp.

We added the support for http v1 api recently in 21.00 version of androapp plugin. You don’t need to do anything if push notification is working fine for you already except to ensure that v0 is selected in Firebase Api Settings section on AndroApp->Account Settings tab.

Otherwise follow this guide to use firebase http v1 api.

How to Download Firebase Service Account Key

This key is needed to authorize sending push notifications from your server to your app users, this key is needed for http v1 firebase apis.

Follow these steps to get the key for your account.

  1. Go to https://console.firebase.google.com
  2. Select the project for which you want to create the key
  3. Select the settings icon for the android app (most probably you might just have one app).
  4. Click on Service Accounts tab and click on Generate new private key to download the new key.
  5. keep this file safe in your server.
  6. Download this file to your server and update the file path in textbox in Firebase Api Settings section on AndroApp->Account Settings tab on your wordpress admin dashboard.
  7. you might need to enable Firebase Cloud Messaging api from  https://console.developers.google.com/apis/api/fcm.googleapis.com/overview?project={project_number}
  8. replace {project_number} from Google Api you extracted earlier, i.e. 370901340170 from 1:370901340170:android:ce70542cdae49cac
  9. Create a new APK and test the push notifications, go here for troubleshooting push notification.

Android App Bundle

Google is going to allow only Android App Bundles from August 2021, we have added the Android App bundle support now, you will see two links in our emails.

  1. One is .apk link – use this to install apk file to your mobile to test before you publish your app to play store, to verify if everything is working fine.
  2. Second is .aab link, use this to upload to play store.

If you use .apk file instead of .aab to upload, we might not be able to provide support once Google mandates .aab files only.

Steps to upload .aab file to playstore.

  1. Go to Google play developer console and click on Production (on left sidebar)
  2. Click on Create New Release button on top right
  3. Click Continue where it says “Google is protecting your app signing key”
  4. Upload your .aab file.

Create firebase web app

  1. Go to https://console.firebase.google.com/
  2. Select the existing project which you might have created during android app setup by following these steps
  3. Click on Add App
  4. Select the Web App
  5. Give you web app a name – for your reference
  6. And click on Register App button
  7. Copy the script code in the next step (just the selected one in below snapshot)
  8. And paste it to Firebase Config box in Web Push Notifications -> Account Settings tab

Push Notification Support for Custom Post Types

We have recently launched Push Notification support for custom post types in our AndroApp WordPress Plugin.

What is Custom Post Type?

Before we tell more about our changes let us see what are custom post types?

Let’s say you have a quotes website than you can create a custom post type quote,  similar to post OR page. This will help you with SEO with quote in every url OR you might want to create different post types to segregate the Posts for various reasons.

You can use this custom post type UI plugin to create a new custom post type, once you do that you will get the option to add new posts for that custom post type in wordpress admin panel.

For example, i created quotes as custom post type and i see this in my admin panel

AndroApp Settings

When you upgrade AndroApp plugin to 19.01 or more, you shall also see push notifications for custom post types, head over to AndroApp->Account Settings tab to manage this behavior.

You can select the post types for which you don’t want to send push notifications

Why we stopped IOS App Support

  1. Apple Store charges $100 per year. which is not economical for most of our clients.
  2. It is very difficult to test IOS apps, you can’t install directly with a link, thus we can’t share the app before our client go through various complex steps to give us the required files to generate their app.
  3. We could not automate IOS build process due to various complex steps and it requires lot of manual efforts to generate IOS build.
  4. Apple does frequent releases (for xcode, swift) which are not backward compatible, making it difficult for us.
  5. Rejection rate: Apple rejected around 20-30% of the apps, which is not good for our clients, after all the hard work they put in following the complex statements.

With dropping IOS support, we want to increase our focus on Android and we just released few important features with 18.00 version.

** If you already created IOS app, that should continue to work without any issues, but you will not receive any new updates on IOS from us.

Push Notifications are not working on IOS

This is to troubleshoot if push notifications are not working on IOS while they are working fine on Android.

Checkout this link first for push notifications are not working on Android app.


believing that your push notifications are working on Android, please check following to ensure they work for IOS

  1. Create auth keys(.p8 files) for push notification https://androapp.mobi/blog/create-apn-auth-keys-ios-push-notification/396 and upload them to your firebase project https://androapp.mobi/blog/upload-apn-auth-keys-firebase-project/402
  2. Check the bundle id used while creating app id and package name while creating firebase app for IOS
    1. if it is not the same, you need to create new firebase app with the bundle id used for app, update it in the account & settings tab, trigger an Android build (so that we get the new id at our server)
    2. send an email to us mentioning that you have changed firebase app id and would like to get the new app for the same.