How test an app link to an instant app as a closed test - google-play-services

I have tested successfully a debug version of an instant app that is called by an app link, e.g., https://domain/?q=1234567. I have created a release version and signed it with a "Create new" key. Upload to a new Closed Testing release fails, however, because the Bundle is signed "with the wrong key".
What am I doing wrong in trying to test a release version without Publishing publicly? Do I have to go forward to Publish and rely on my previous debug testing of the app link or is there a way to verify the app link operation in closed testing?"

It took a lot of digging, but I found the answer here:
https://developer.android.com/studio/run/rundebugconfig
It is the documentation for "Create and edit run/debug configurations".
It says:
URL - Launch a URL that matches an intent filter in your app's
manifest. When selected, the URL field appears below, where you can
enter the URL.
You must fill in this field to launch an Android Instant App. You may
also use this to test your Android App Links.
This confirms that my successful testing of my app link to initiate my instant app proves it will work in release form when it is published.

Related

How to set "Your name"

I cannot find any documentation or examples so I'm looking for guidance. When my Instant app is downloaded it shows up in Settings>Google>Google Play Instant with the app name and below that "Your Name". Other apps have found how to set "Your Name", for example, The NYTimes - Crossword has "The New York Times Company".
Is there a variable in a Manifest or a gradle file that needs to be filled?
I found out from Google Developer Support that the problem occurs if Instant Apps Dev Manager is installed and/or when the app is sideloaded.
The fix was to Uninstall IA Dev Manager, Clear App Data for my Instant App then re-execute the download from the Play Store. Checking Settings>Google>Google Play Instant the Instant App appears and the company name from my listing of the app with the Play Store shows up underneath. There is no Manifest or gradle attribute to supply; it comes from the Play Store automatically - if it's not blocked.

Error (4800004) authorizing web app

I was debugging my app in my personal Google play services account but the company I am working on has already got their Google play services account so I changed and DELETED (deleting api credentials and unpublished it) the game. I have managed to register a new android app but when I try to register a web app I get the error #4800004 (An unexpected error has occurred. Try again later).
What should I do?
It can take approx 7 days for your old package to be removed. You will not be able to add a new one until that happens.
Your options:
Wait 7 days and try again.
Rename your package.
Alternately: You cannot have two apps with the same package details. Are your two apps conflicting with each other?
From the github post, it was mentioned that you maybe re-registering an app with the same package name. You can check if your project was already registered in the console. Projects that you have deleted will take effect after the 7th day.
For further information, you can also try to check this page. It may also have something to do with SHA1 Signing Certificate Fingerprint from android studio.
You need to make sure that the LaunchURL that you provide includes the protocol (for example: http://) in addition to the domain. If you do not provide the protocol, google appears to automatically add https://, but this led to the error posted in the question for me.

React native, do I need to send updates through app store?

Title pretty much explains it. Does it render JS from an external codebase so I can simply push new updates through git, or do I need to actually push the changes through App Store?
This is my previous answer, which is getting downvoted into oblivion because it didn't predict something cool like CodePush coming to React Native :)
React Native compiles to an iOS binary. Updates need to be sent to the
App Store, unless you're simply using React Native for its WebView
and rendering an existing webpage on the client.
Updated 6/2/16
It looks like Microsoft has a sweet plugin for CodePush found here that lets you push changes remotely to your React Native app without having to send the update through the App Store.
Here's a quote from the README docs:
NOTE: While Apple's developer agreement fully allows performing
over-the-air updates of JavaScript and assets (which is what enables
CodePush!), it is against their policy for an app to display an update
prompt. Because of this, we recommend that App Store-distributed apps
don't enable the updateDialog option when calling sync, whereas Google
Play and internally distributed apps (e.g. Enterprise, Fabric,
HockeyApp) can choose to enable/customize it.
I'm actually working on a project (with the React Native Playground team - https://rnplay.org/about) that will allow you do live update your apps JS on the fly without submitting an update to the App Store. It's called Reploy, http://reploy.io
We will be open-sourcing the first portion of it very soon (the updater module). There will also be a service that will help you to manage your updates and even deploy your app to TestFlight and the App Store when needed (App Store updates are still needed when adding a new native module or static assets).
Also, just so you know, Apple has allowed this type of auto-updating via item 3.3.2 in the "iOS Developer Program Requirements" document, it says:
3.3.2 An Application may not download or install executable code. Interpreted
code may only be used in an Application if all scripts, code and interpreters are
packaged in the Application and not downloaded. The only exception to the
foregoing is scripts and code downloaded and run by Apple's built-in WebKit
framework or JavascriptCore, provided that such scripts and code do not change
the primary purpose of the Application by providing features or functionality that are
inconsistent with the intended and advertised purpose of the Application as
submitted to the App Store.
https://developer.apple.com/programs/ios/information/iOS_Program_Information_4_3_15.pdf
You could push an update to a remote user if you had linked to an external bundle and had the IP / correct ports forwarded, however Apple do not allow this for released AppStore apps.
For beta testing remote apps you might want to try exponent http://exp.host/
Update---
For completeness, it should be noted that if you are part of the Apple Enterprise program you do not need to publish Apps to the AppStore at all, you can post them to end users via a download link.
I work on a project called AppHub that lets you update JavaScript and images without re-submitting to the App Store. The iOS SDK will be open source, but for now you can use the hosted service to manage new builds of your app.

How to remove code signing in Xcode?

I've created an iOS7 project in Xcode 5. It's a very simple app. I zipped it and sent it to another developer. When they open it, they get these messages:
No matching code signing identity found
No code signing identities (i.e.certificate and private key pairs)
matching "iPhone Developer" were found. Xcode can resolve this issue
by downloading a new provisioning profile from the Member Center.
How do they get around this? The app isn't going to be submitted to the app store.
Is this happening because they have not linked Xcode to their online developer account? Isn't an online developer account free?
The other developer can ignore that message if the intention is to run the app on the Simulator. But you must use code signing in order to run an app from Xcode on a device, even for testing purposes, even if the app is never going to be submitted to the App Store. And that costs $99/year. End of story.
You could turn your account into a Company account and put this developer on your company; that way the developer is covered under your $99.
Or, if you just want to send the app to someone for testing and you don't need them to run the app directly from Xcode on a device, you can create an Ad Hoc build targeted to their device.
And of course the developer can look at your code, test on the simulator, and run your previously built Ad Hoc build on the device - but not run from Xcode on the device, i.e. the developer can not build for a device without someone paying that $99/year fee.

Trouble generating MASReceipt during development

I am working on developing a Mac application that has an in app purchase. I have done this before on iOS, but I cannot get it to work with the Mac app. After doing some research it looks like I will have to get and validate a receipt from the Mac App Store before this will work.
I believe that I have followed the steps to do this correctly,
1.) Build the app in Xcode.
2.) Launch the app through finder
3.) When prompted sign in with a TestUser account created in iTunesConnect
4.) The app closes with the error message
“AppName” is damaged and can’t be opened. Delete “AppName” and download it again from the App Store.
When I open up the bundle though I do not see the _MASReceipt/receipt folder and file - and I am still getting invalid product identifiers from StoreKit.
These steps seems to work for me the last time this happened:
Log out from Mac App Store.
Force quit storeagent and softwareupdated processes.
Try double-clicking the app to start it again.