For a client of ours we've created an app which has to be available by the 11th of October. The app is already available in the iOS App store but Google Play seems to be a problem.
I have added the package to the release track on the 26th of September, hoping it would be reviewed & published shortly after which, luckily, it did. I can use a direct link to the app (taken from the play console) which indicates it is published correctly. The console does not list any errors. Device and country settings have been double checked and all seems to be correct.
Google support has been contacted a few days ago but, unfortunately, there is still no reply from them.
With the deadline coming closer i'm getting less sleep each night.
Does anyone have any experience with this particular issue and hopefully a solution?
Notes
AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.kunstmuseum.kunstmuseum"
android:versionCode="1"
android:versionName="1.0">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
android:name=".MainApplication"
android:allowBackup="true"
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
<service android:name="io.invertase.firebase.messaging.RNFirebaseMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<service android:name="io.invertase.firebase.messaging.RNFirebaseInstanceIdService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter>
</service>
</application>
build.gradle
apply plugin: "com.android.application"
apply plugin: "com.google.firebase.firebase-perf"
apply plugin: 'io.fabric'
import com.android.build.OutputFile
project.ext.react = [
entryFile: "index.js",
// Sometimes (like if you use Android API<17) adb forwards don't work, so you need a bundle in the dev APK
bundleInDebug: project.hasProperty("bundleInDebug") ? project.getProperty("bundleInDebug") : false,
]
apply from: "../../node_modules/react-native/react.gradle"
/**
* Set this to true to create two separate APKs instead of one:
* - An APK that only works on ARM devices
* - An APK that only works on x86 devices
* The advantage is the size of the APK is reduced by about 4MB.
* Upload all the APKs to the Play Store and people will download
* the correct one based on the CPU architecture of their device.
*/
def enableSeparateBuildPerCPUArchitecture = false
/**
* Run Proguard to shrink the Java bytecode in release builds.
*/
def enableProguardInReleaseBuilds = false
android {
compileSdkVersion rootProject.ext.compileSdkVersion
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
defaultConfig {
applicationId "com.kunstmuseum.kunstmuseum"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 5
versionName "1.4"
// Needed to support API<21, though there is a small chance proguard shrinks things sufficiently
multiDexEnabled true
}
splits {
abi {
reset()
enable enableSeparateBuildPerCPUArchitecture
universalApk false // If true, also generate a universal APK
include "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
}
}
signingConfigs {
release {
if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) {
storeFile file(MYAPP_UPLOAD_STORE_FILE)
storePassword MYAPP_UPLOAD_STORE_PASSWORD
keyAlias MYAPP_UPLOAD_KEY_ALIAS
keyPassword MYAPP_UPLOAD_KEY_PASSWORD
}
}
}
buildTypes {
release {
minifyEnabled enableProguardInReleaseBuilds
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
signingConfig signingConfigs.release
}
}
// applicationVariants are e.g. debug, release
applicationVariants.all { variant ->
variant.outputs.each { output ->
// For each separate APK per architecture, set a unique version code as described here:
// http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits
def versionCodes = ["armeabi-v7a":1, "x86":2, "arm64-v8a": 3, "x86_64": 4]
def abi = output.getFilter(OutputFile.ABI)
if (abi != null) { // null for the universal-debug, universal-release variants
output.versionCodeOverride =
versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
}
}
}
}
dependencies {
implementation project(':react-native-zip-archive')
implementation project(':react-native-proximity')
implementation project(':react-native-webview')
implementation project(':rn-fetch-blob')
implementation project(':react-native-video')
implementation project(':react-native-svg')
implementation project(':react-native-sound')
implementation project(':react-native-shake')
implementation project(':react-native-audio-jack')
implementation project(':@react-native-community_async-storage')
implementation project(':react-native-gesture-handler')
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation "com.facebook.react:react-native:+" // From node_modules
/* ----------------------------
* REACT NATIVE FIREBASE
* ---------------------------- */
// Library as defined in settings.gradle
implementation project(path: ':react-native-firebase')
// Required dependencies
//noinspection GradleCompatible
implementation "com.google.firebase:firebase-core:16.0.9"
implementation "com.google.android.gms:play-services-base:16.1.0"
/* -------------------------
* OPTIONAL FIREBASE SDKS
* ------------------------- */
implementation('com.google.firebase:firebase-ads:15.0.1') {
// exclude `customtabs` as the support lib version is out of date
// we manually add it as a dependency below with a custom version
exclude group: 'com.android.support', module: 'customtabs'
}
// Authentication
implementation "com.google.firebase:firebase-auth:17.0.0"
// Analytics
implementation "com.google.firebase:firebase-analytics:16.5.0"
// Performance Monitoring
implementation "com.google.firebase:firebase-perf:17.0.0"
// Remote Config
implementation "com.google.firebase:firebase-config:17.0.0"
// Cloud Storage
implementation "com.google.firebase:firebase-storage:17.0.0"
// Dynamic Links
implementation "com.google.firebase:firebase-dynamic-links:17.0.0"
// Real-time Database
implementation "com.google.firebase:firebase-database:17.0.0"
// Cloud Functions
implementation "com.google.firebase:firebase-functions:17.0.0"
// Cloud Firestore
implementation "com.google.firebase:firebase-firestore:19.0.2"
// Cloud Messaging / FCM
implementation "com.google.firebase:firebase-messaging:18.0.0"
// Crashlytics
implementation('com.crashlytics.sdk.android:crashlytics:2.9.9@aar') {
transitive = true
}
/* --------------------------------
* OPTIONAL SUPPORT LIBS
* -------------------------------- */
// Needed to support API<21, though there is a small chance proguard shrinks things sufficiently
implementation "com.android.support:multidex:1.0.3"
// For Firebase Ads
//noinspection GradleCompatible
implementation "com.android.support:customtabs:27.1.1"
// For React Native Firebase Notifications
implementation 'me.leolin:ShortcutBadger:1.1.22@aar'
// For animated GIF support
implementation 'com.facebook.fresco:animated-gif:1.10.0'
}
// Run this once to be able to run the application with BUCK
// puts all compile dependencies into folder libs for BUCK to use
task copyDownloadableDepsToLibs(type: Copy) {
from configurations.compile
into 'libs'
}
apply plugin: 'com.google.gms.google-services'
If you can't find your app on some Android devices, it's possible that those devices aren't supported or are excluded by your app. Learn how to review your app's device compatibility and excluded devices. Also, make sure that the Android devices you're using are supported for use with Google Play.
Standard publishing: Updates to existing apps are processed and published as soon as possible. By default, your app will use standard publishing. Certain apps may be subject to extended reviews, which may result in review times of up to 7 days or longer in exceptional cases.
How long does it take to publish an app on Google Play? Google says the review process could take up to 7 days or even longer. But usually, it takes up to 2 days. Please, keep in mind that it may take a few days to fill in all the necessary information in the Google Developer account before submitting the application.
To set up your Android app for indexing by Google, use the Android App Links Assistant in Android Studio or follow these steps: Create deep links to specific content in your app by adding intent filters in your app manifest. Verify ownership of your app content through a website association.
I have the same problem. After two weeks of search page refreshing, I wrote to support. Here's an answer:
I understand that you're concerned about your app's visibility on the Play store.
Please note, we show a limited number of search results in Google Play to ensure the best user experience. If your app's search rank for a specific term is too low, your app will not display in results. Keep in mind, however, that your app is always available by direct link https://play.google.com/store/apps/details?id=com.johnpopov.bredogenerator&gl=vg, which you can share with users as you actively market your app.
Many factors go into the Google Play search results, and while you can’t control all of them, you can try to find the app by searching pname:com.johnpopov.bredogenerator at play.google.com/store/apps. This is a tip that helps you verify if your app is correctly included in the search index.
As long as you can find the app with the prefix of pname, you can be assured that the app is indexed.
So, I guess the only way is to have more ad installs with direct link.
You should use English description for your app along with other locales. It shows me Dutch, which may affect search result.
Also, Search Result depends on several factors like Downloads, Review and so on. Thanks
I had the same problem with my app, so I sent a message to Google Support addressing this issue.
Unfortunately if it's a new app they said it could take up several days (up to 2 weeks) for the algorithms to detect the app and properly include it on search results. The way to speed up the process is getting more installs and reviews of your app through direct link install.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With