App Clip - "Bad JSON Content" Domain URL Status

Hello All,

  • The issue:

After uploading the app version which is containing the app clip target to App Store Connect & checking TestFlight tab -> this build details -> Build MetaData -> App Clip -> Domain Status -> View Status, it keeps giving me "Bad JSON Content" for my build domain either for CACHE STATUS or DEBUG STATUS. It seems that my AASA file couldn't be validated for some reason that I don't know. 

  • Steps I tried to solve the issue by them :

1- Add the associated domain twice, one with prefix appclips: & the other one with applinks: prefix for both parent & app clip targets.
2- Update the AASA file to include supporting for iOS 13+ & upload this file to the .well-known directory.
3- On server, force type to 'application/json' in the .htaccess file in the .well-known directory.

  • My Configurations:

Server Side
1- The Content-Type for the AASA file is set to application/json.
2- Server allows AASA-Bot and CFNetwork as user agents.
3- AASA file is uploaded on the .well-known directory on this server without any redirects.

Xcode Side
Invocation url domain is added to both app clip & parent targets’ Associated Domains as the following: appclips:fully-qualified-domain applinks:fully-qualified-domain

Web App Side
Requesting this url https://fully-qualified-domain is redirecting to either https://fully-qualified-domain/login if the user is not logged in or to https://fully-qualified-domain/home if the user is already logged in.

Any help is appreciated, thanks in advance!

I have a very similar issue.  I've got an app currently in the store that is:

  •   a) showing App Clip Domain Status = "Bad JSON Content", and 
  •   b) won't allow Advanced App Clip Experiences due to the App Clip Experience URL = "This URL is not contained in your app's associated domains."
  •   c) unable to recognize an App Clip Code

Here's my debugging steps:

This is the contents of my .well-known dir:

root:~/dvn8/ROOT/.well-known$ more apple-app-site-association 
{
	"appclips": {
		"apps": { ["myappbundle.myreversedomain.Dvn8.Clip"] }
	},
}

With each attempt to View Status of the "Bad JSON Content", I see 2 calls to apple-app-site-association - both of which return HTTP Status 200:

44.232.70.210 - - [17/Jun/2022:12:03:38 -0700] "GET /.well-known/apple-app-site-association HTTP/1.1" 200 80 "-" "AASA-Bot/1.0.0"
44.232.70.210 - - [17/Jun/2022:12:03:38 -0700] "GET /apple-app-site-association HTTP/1.1" 200 80 "-" "AASA-Bot/1.0.0"

With respect to creating an Advanced App Clip Experience in App Store Connect (“Edit Advanced Experiences”), and the error "This URL is not contained in your app's associated domains", my entitlements are as follows:

myMainApp.entitlements
*   com.apple.developer.associated-domains: ( "appclips:dvn8.app" )
*   com.apple.developer.associated-appclip-app-identifiers: ( "myappbundle.myreversedomain.Dvn8.Clip" )

myAppClip.entitlements
*   com.apple.developer.associated-domains: ( "appclips:dvn8.app" )
*   com.apple.developer.parent-application-identifiers: ( "myappbundle.myreversedomain.Dvn8" )

When I create an App Clip Code using the command line generator, and then I point any of my test devices at the code, I consistently get “No useable data found”.  Of course, when running the App Clip from Xcode - it works beautifully.  I just can’t figure out what I’m missing to get the Experience defined in App Store Connect, and why the App Clip Code doesn’t have useable data.

Many thanks for any thoughts on what I’m might be missing!!!

Here's how my AASA file looks like, I wish anybody helps me to find out where's the problem.

{
	"applinks": {
		"apps": [],
		"details": [{
				"appID": "1234567890.com.example.app1",
				"paths": ["/path1"],
				"appIDs": ["1234567890.com.example.app1"],
				"components": [{
					"/": "/path1"
				}]
			},
			{
				"appID": "1234567890.com.example.app2",
				"paths": ["/path2/*"],
				"appIDs": ["1234567890.com.example.app2"],
				"components": [{
						"/": "/path2/*"
					},
					{
						"/": "*"
					}
				]
			}
		]
	},
	"appclips": {
		"apps": [
			"1234567890.com.example.app2.Clip"
		]
	}
}
App Clip - "Bad JSON Content" Domain URL Status
 
 
Q