2

According to this article (20 August, 2018) from Android Blog we can publish instant apps without associated URL:

Today, we've made it easier to build instant games and apps by removing the URL requirement. Previously, in order to publish an instant game you had to create a web destination for it. The website also had to be connected to the instant game through intent filters and digital asset links verification.

Now, it is no longer required to add URL-based intent filters to your instant game. People will be able to access the instant experience through a 'Try Now' button in the Play Store or Play Games apps, via deep link API, and in the future through the app ads.

I've followed the latest Android guide to enable instant experience in my game. The guide doesn't mention anything about required URL verification. The app works on local device, but when I try to publish it to internal test track, I see the following error:

Your Instant App APKs do not declare at least one web 'intent-filter' element with the attribute 'android:autoVerify' set to true in the Android Manifest.

Is it possible to publish instant app without associated URL? Like it's explained in the Android blog post with standard intent filter below:

<intent-filter>
   <action android:name="android.intent.action.MAIN" />
   <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

Probably Google has updated all guides but has forgotten to remove this check during instant app publishing? I hope so, because I don't want to create a web-site to be able to publish instant version of my game.

Standy
  • 76
  • 5
  • Not sure if this could be the reason, but do you have any other intent filters handling URLs? – Hassan Ibraheem Jan 16 '19 at 15:38
  • @HassanIbraheem exactly! Thank you so much, my fault. The issue was with my custom intent filter that I use for firebase dynamic links. After I removed the intent filter, I was able to publish instant app to Google Play Console. Thank you! – Standy Jan 18 '19 at 11:24

2 Answers2

2

You can create an app with instant experience without associated URL. This sample.

For an app with instant experience you no longer need the com.android.instantapp plugin unless you want to use dynamic feature modules at this point.

When onDemand modules leave beta, you can start using the com.android.dynamic-feature plugin in combination with the PlayCore API to download a module.

Until then you'll have to use the com.android.feature and com.android.instantapp plugin to download multiple feature modules.

Ben Weiss
  • 17,182
  • 6
  • 67
  • 87
  • Thank you for the clarification. My case is simple. I have only base module and no dynamic features. With Android Studio 3.3.x it is possible to just add the following to the base module Manifest.xml file to make it instant. So I have removed installed and instant modules that were created based on previous version of instructions from Google. – Standy Jan 16 '19 at 16:26
  • Ideal video to understand new approach to create instant ready bundles - https://www.youtube.com/watch?v=L9J2e5PYXNg – Standy Jan 16 '19 at 16:32
  • @Standy: Absolutely. That's exactly what I did for the Android Dev Summit app. – Ben Weiss Jan 18 '19 at 11:58
  • thank you :) One more small question. According to documentation instant app should be started automatically after click on banner. I have created standard advertising campaign for Android app on Google Ads. I see ad of my app during search in Google Play Store, but when I click on it, it opens just app details page, where I need to click "Try Now". The only way I can get instant run if I click on my own link with parameter "&launch=true". Is it a limitation of urlless implementation? – Standy Jan 19 '19 at 16:43
  • Appending the paramater is the way the app launch is intended to work. – Ben Weiss Jan 21 '19 at 11:56
0

Yes, it is possible to create an instant app without associated URL, just follow the official instructions from Google.

Many thanks to @HassanIbraheem who has pointed me to the right direction. My problem was with one more intent filter for firebase dynamic links with http and https schemas that I use in the app in addition to standard intent filter. It was used only for tests, thus I was able to delete it. After I removed the intent filter, I was able to publish instant app to Google Play Console without associated URL.

Standy
  • 76
  • 5