Greetings of the day !! I have an Application which I am going to deploy on Google Play. Recently I came across App Indexing. I have a query regarding this. My Application is purely native and there is no any Web-View used yes all the data are coming through dynamically fro web service. My Question is
Can I add app indexing code into my Application Main Launcher class ?
This is my Manifest. Where should i paste app indexing code ? please guide me.
<application
android:name=".MyApplication"
android:allowBackup="true"
android:allowClearUserData="true"
android:enabled="true"
android:icon="#drawable/ic_launcher"
android:label="#string/app_name"
android:theme="#android:style/Theme.NoTitleBar" >
<receiver
android:name=".MyBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="com.MyKidzDay" />
</intent-filter>
</receiver>
<service android:name=".MyIntentService" />
<activity
android:name=".SplashScreen"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
App Indexing currently requires that the content on the app has a corresponding web page which is indexed by Google.
As mentioned by you, since there is no corresponding website for your app content, the regular app-indexing procedure won't work for you. You will have to first contact Google and let them know about your "app-only" content.
More information here - https://developers.google.com/app-indexing/app-only
Related
Our cloud application sends SMS reminders to about 50 people (not employees, not strangers, but known close associates). The reminder currently says something along the lines of "Reply Y or N".
Now we have a mobile app in Android that we are planning to distribute to them, and we want to send a reminder that says "Click on the link bbsrep://smsstreamline.bluebridge.com/respond/ and fill in the form".
My problem is that when I install the app onto the device through Android Studio, and then send an SMS to the device saying "Please go to bbsrep://smsstreamline.bluebridge.com/shortreport/", the SMS does not recognise the string as a link.
Is that because the Android Installer from my PC doesn't register the scheme? Or is all my formatting askew?
The complete manifest for the mobile app reads:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.bluebridge.smsstreamline">
<application
android:allowBackup="true"
android:icon="#mipmap/ic_launcher"
android:label="#string/app_name"
android:roundIcon="#mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="#style/Theme.SMSStreamline">
<activity
android:name=".activity_senderphone"
android:exported="false" />
<activity
android:name=".Respond"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE"/>
<data android:host="smsstreamline.bluebridge.com"
android:pathPattern=".*"
android:pathPrefix="/shortreport/"
android:scheme="bbsrep" />
</intent-filter>
</activity>
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>```
I've searched through heaps of SO answers, and tried a dozen different formats, but am too much of a newbie in Java land to work it out.
Jack
I know it is a redundant question but I tried to solve the problem but with no success.
I published an App in Google Play Store a week ago. But I'm still not able to find it in the search. I tried to search by App name, package name and by the developer name and it is not there. When I click on the developer name I get only my other App. The App name is not in English and there are few apps have similar keywords. I have contact Google but I didn't get any result till now. Any suggestion about how to track such an issue? Should I change package name or delete the App and republish it?
I can only access to my App using the URL that is provided in the Google Play Console.
Here is the manifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="-----------">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PROFILE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<application
android:name=".PUSH_UP_NOTIFICATION"
android:allowBackup="true"
android:icon="#mipmap/doc_luncher_icon2"
android:label="#string/app_name"
android:roundIcon="#mipmap/doc_luncher_icon2_round"
android:supportsRtl="true"
android:theme="#style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".State_Activity" />
<activity android:name=".GetDoctorInfoActivity" />
<meta-data
android:name="com.parse.SERVER_URL"
android:value="#string/back4app_server_url" />
<meta-data
android:name="com.parse.APPLICATION_ID"
android:value="#string/back4app_app_id" />
<meta-data
android:name="com.parse.CLIENT_KEY"
android:value="#string/back4app_client_key" />
<meta-data
android:name="com.parse.push.gcm_sender_id"
android:value="id:-------" />
<activity android:name=".ViewDoctors" />
<activity android:name=".SignUpActivity" />
<activity android:name=".LoginActivity" />
<activity android:name=".DoctorManagingActivity" />
<activity android:name=".GetAppointmentActivity" />
<activity android:name=".ShowPatientQueue" />
<activity android:name=".SearchForDoctorActivity" />
<activity android:name=".AboutActivity" />
<activity android:name=".ContactUsActivity" />
<activity android:name=".PatientAppointmentsActivity" />
<service android:name="com.parse.PushService" />
<receiver
android:name="com.parse.GcmBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.SEND">
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="---------------" />
</intent-filter>
</receiver>
<receiver
android:name="com.parse.ParsePushBroadcastReceiver"
android:exported="false">
<intent-filter>
<action android:name="com.parse.push.intent.RECEIVE" />
<action android:name="com.parse.push.intent.OPEN" />
<action android:name="com.parse.push.intent.DELETE" />
</intent-filter>
</receiver>
<activity android:name=".ResetPasswordActivity" />
</application>
</manifest>
I'm using Parse and Firebase for push notification, so most of the Permissions are for them.
If you can't find it with this link (add your application id at the end of it)
https://play.google.com/store/apps/details?id=[APPLICATION_ID]
Than you have not published your app correctly.
Go to the play store console -> all apps and check if "published" is mentioned on the right side of your app entry.
Also go to the release dashboard and check what is mentioned there.
Finally check if you missed something by going through that checklist here: https://developer.android.com/distribute/best-practices/launch/launch-checklist
It is possible that you simply forgot to configure some stuff like age restrictions etc
For those who may face the same issue and avoid asking to not get negative rating!
Here is how I have solved mine:
I have contacted Google support several times, and I have received several premade emails about new Apps with low ranking and needing time . However, I insisted that it is not the case, so the support team has escalated the problem to their engineers ("as they said"). After couple of days I get this email from them:
Hi again,
Thanks for your patience while our team investigated this issue.
I received word today to ask you to do the following for your app:
Select the app in the Play Console Navigate to Store Presence >
Pricing & Distribution Click "Manage countries" Scroll to the bottom
and un-check "Rest of the world" Re-check "Rest of the world" Click
Submit Update
Once you've done this for all four apps, they should start to show up
in search results again within a few hours.
And after following the instruction, now I can find my app as first in the search result.
I've followed the steps in the android documentation Here to implement linking in my application. I dont really need any fancy parameter passing, all I want is when the user clicks a link on the browser that my app opens. All I did was modify my AndroidManifest. Here is the relevant part
<application
android:name=".MainApplication"
android:allowBackup="true"
android:label="#string/app_name"
android:icon="#mipmap/ic_launcher"
android:theme="#style/AppTheme">
<activity
android:name=".MainActivity"
android:label="#string/app_name"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
android:windowSoftInputMode="adjustResize"
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter android:label="filter_react_native">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="u2player" android:host="open.my.app" />
</intent-filter>
</activity>
I am using react-native-navigation and trying to browse from either the chrome browser or the native browser to any of u2player:// u2player://open.my.app u2player://open.my.app/ doesn't work. I have also binded the url event from the Linking module but nothing works. I restarted, uninstalled, etc.
Help appreciated
Try using branch. It solves most of the problem that you are facing and it also has a very clean documentation. Please go through and let me know if you have any issues
i want to add the MiniMob Ads in my android application. I have read the full documentation from the http://www.minimob.com/integration-guide.html for minimob sdk, but i still dont get it.
Now i have two queries:
We have to give the app url either of the android market or some other when we create new app using the MiniMob sdk. So how can we give that url like 1st upload the app without that minimob integration and get the url of the app and then again upload with the minimob integration.
And the 2nd thing is we have to just give that app id, app key and package name in the manifest and add the jar file in lib. and rest some code which i shown below in that activity where we want to show these Ads. Am i wright ??
<!-- MiniMob Manifest declaration start -->
<activity android:exported="false"
android:name="com.minimob.android.OptinActivity"
android:configChanges="orientation|keyboardHidden"
android:theme="\#android:style/Theme.Translucent" />
<activity
android:taskAffinity=""
android:name="com.minimob.android.PushAds"
android:configChanges="orientation|keyboardHidden"
android:theme="\#android:style/Theme.Translucent.NoTitleBar"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<receiver android:name="com.minimob.android.DeliveryReceiver"
android:exported="false"/>
<receiver android:name="com.minimob.android.MessageReceiver"
android:exported="false"/>
<receiver android:name="com.minimob.android.BootReceiver"
android:exported="false">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.HOME" />
</intent-filter>
</receiver>
<meta-data android:name="MINIMOB_APPID" android:value="id:$appid" />
<meta-data android:name="MINIMOB_APPKEY" android:value="key:$appkey" />
<meta-data android:name="MINIMOB_APPHOST"
android:value="http://mpm.minimob.com/mobile/serve.asp" />
<meta-data
android:name="MINIMOB_ACTION" android:value="com.minimob.android.PushService$appid" />
<service android:name="com.minimob.android.PushService" android:exported="false">
<intent-filter>
<action android:name="com.minimob.android.PushService$appid" />
</intent-filter>
</service>
<!-- MiniMob Manifest declaration end -->
Regarding the app URL, it is there so we can have access to an app for a number of reasons (e.g. troubleshooting). If your app is not publicly available yet you can temporarily enter a random URL and update with the correct URL later when the app has been accepted in Google Play or another app store.
About your second query, please do the things below everytime you want to integrate the Minimob SDK in an app, as it is custom built for each app and instructions will slightly differ.
Go to the Applications page in Minimob and register your app
Click on the "Download SDK" button next to your app
Open the "Instructions.txt" file
The steps are pretty much the ones you have mentioned (copy the .jar file, copy-paste the permissions and declarations in the manifest, add call in your main activity that starts the Minimob SDK).
I just created my first Android app, all works fine, but all of the activities are shown on my Android menu. What did I do wrong?
Screenshot: imgur.com/9CmXU
I want to have one icon, directing to MainActivity, not all activities
<!-- language-all: lang-html -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.myApps.birthdaymeter"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
<application
android:icon="#drawable/my_logo"
android:label="#string/app_name"
android:theme="#style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="#string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".BirthdayMeter"
android:label="#string/title_activity_birthday_meter" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".AboutWindow"
android:label="#string/title_activity_about_window" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".ShowResult"
android:label="#string/title_activity_show_result" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
This is my manifest, changing logo didn't help
The <intent-filter> tag is used to describe the type of Intents that each Activity will respond to. The "android.intent.action.MAIN" action says that this Activity is an entrance point for your Application (think the main method that a java program requires). The "android.intent.category.LAUNCHER" category tells the OS to display the Activity in your list of Applications. Adding the DEFAULT category is ok, but effectively the same as omitting the <intent-filter> tag completely (which I find to make for much cleaner and easier to read code). You should only be using the <intent-filter> tag with these two actions and categories on the Activity that starts when a user opens your app. If wanted an Activity within your application to be able to respond to some special intents, you would use the tag to define which it responds to.
Here's a link to the google dev pages to help you learn more about Intent Filters.
http://developer.android.com/guide/components/intents-filters.html
Here's the documentation for the <intent-filter> tag. It's not the easiest to understand though.
http://developer.android.com/guide/topics/manifest/intent-filter-element.html
And here's the docs for the Manifest file and the Intent class. Both of these are good for reference if you're not sure about which tags to use in your Manifest. Good luck!
http://developer.android.com/guide/topics/manifest/manifest-intro.html
http://developer.android.com/reference/android/content/Intent.html
You phrased your question extremely generally, so I am not sure what to answer. It seems like you haven't called nameOfActivity.this.finish() when you launched another activity
If you post your manifest file I can help a little more, but it looks to me like you have not declared your activities correctly.
It should be setup somewhat like this:
<application android:icon="#drawable/icon" android:label="#string/app_name">
<activity android:name="Activity1"></activity>
<activity android:name="Activity2"></activity>
<activity android:name="Activity3"></activity>
</application>
Essentially, create an application declaration, and then include each activity within it.