Codepush not working from my Google Play App store version

This issue has been created since 2019-07-09.

I have successfully setup Codepush and have it working from my local react-native apps via the simulators, etc. I have tried it from my staging/production builds...and everything works.

I then put a release version (react-native run-android --variant=release) on my simulator and tested and again, it worked .

I have then published my "production" code to Google App store. Now, the version I download run from the Appstore does NOT work...it doesn't see any of the updates.

What am I missing? Is there some kind of key or other mechanism that needs to be enabled in order to work from the Google play version?

ElixirMike wrote this answer on 2019-07-09

Just another data point here. It now appears that if I sign-out / sign-back into the application, the update gets correctly applied. However, in my app, I have a button that says "Check for updates"
It runs this code:

checkforUpdates = () => {
  codePush.sync({
    updateDialog: true,
    installMode: codePush.InstallMode.IMMEDIATE
  })
}

On my local Simulator, this works...the dialog box appears and says there is a new update, do I want to install or cancel. But, my version from Google Play store does nothing. Any ideas on how I could fix this?

alexandergoncharov wrote this answer on 2019-07-09

Hi @ElixirMike,
Thanks for reporting!

There isn't any additional setting for working with Google play store. Possible you published some other version of your app. Could you please double-check it and let me know your results?

ElixirMike wrote this answer on 2019-07-09

Like I said in my second post, it appears to be working when I restart the app or log out/back in.
I have the codesync in two places. One on the main component it runs on componentDidMount. I also have a menu item that says ""Check for updates".

The menu item that calls this code for "check for updates" works on my local release version. But it does not work on my Google Play Store version.

checkforUpdates = () => {
codePush.sync({
updateDialog: true,
installMode: codePush.InstallMode.IMMEDIATE
})
}

I know I have the correct production key however, because if I start/stop the app, the code does get updated via the ComponentDidMount action.

Maybe there is a permission thing with showing that Dialog box in a prod environment?

faisal3413 wrote this answer on 2019-07-10

Hi @alexandergoncharov

I'm also facing the same issue. My iOS test flight build and android debug/release build is updating fine. It stopped updating only after publishing the android app to play store. Please have a look into this and guid me.

gaurav-chandra wrote this answer on 2019-07-11

I am also stumped with the same issue in my ionic cordova app. If I run the app outside of the playstore, it works fine but the builds which are uploaded to google play store are not executing this code. I have added the key in config.xml:

<access origin="*" />
<platform name="android">
        <preference name="CodePushDeploymentKey" value="********EBrrkzQHGoxH" />

and the code is supposed to be executed every time the app starts:

setTimeout(()=>{
					if(DiService.checkInternet()) {
						let updateDialogOptions = {
							updateTitle: "An update is available",
							optionalUpdateMessage: "An update is available. The app will auto-restart once done. App will be updated in the background.",
							appendReleaseDescription:true,
							descriptionPrefix:"v "+APP_VERSION+" Changes: ",
							mandatoryUpdateMessage : "A mandatory update is available. The app will auto-restart once done. App will be updated in the background.",
							mandatoryContinueButtonLabel:"Install Now"
						};
						codePush.sync(null, {updateDialog: updateDialogOptions, installMode: InstallMode.IMMEDIATE});
					}
				},3000);

This does not execute from the installs from app store.

To test, I ran the app on the same phone without going through play store and then installing from play store. When I installed from play store, codePush.sync never executes.

gaurav-chandra wrote this answer on 2019-07-13

Any update on this?

gaurav-chandra wrote this answer on 2019-07-13

I was able to capture the code-push error on app from google play store:

[CodePush] Could not get binary hash.Error: Could not get binary hash. 

perhaps this would help.

gaurav-chandra wrote this answer on 2019-08-05

There is some binary hash error so install this plugin:
https://github.com/jp-uq/cordova-plugin-asset-manifest. After this it solved the problem.

faisal3413 wrote this answer on 2019-09-22

Hi @alexandergoncharov , do you have any update on this issue ? please respond.

alexandergoncharov wrote this answer on 2020-07-03

Hi all,
I'm sorry for that big delay.

Could please someone provide a demo app with reproducing issue and reprosteps? I would like to reproduce and investigate it. It will really helpful in an investigation.

gaurav-chandra wrote this answer on 2020-07-03

@alexandergoncharov this is not happening anymore with the latest version of the plugin. The bug was filed last year and after that you guys have updated the plugin. This was happening with "code-push": "^2.0.6" at my end but using "code-push": "^3.0.1"does not produce this bug.

Krasavinigor wrote this answer on 2020-07-14

Hi there!
@ElixirMike, @faisal3413
Do you have any issues now?

Krasavinigor wrote this answer on 2020-07-23

Hi @ElixirMike, @faisal3413,

I'm going to close this issue for now as I haven't heard from you in a while, unfortunately.
Please feel free to reopen it if you have any questions.

More Details About Repo
Owner Name microsoft
Repo Name code-push
Full Name microsoft/code-push
Language TypeScript
Created Date 2015-09-30
Updated Date 2022-08-11
Star Count 4183
Watcher Count 132
Fork Count 461
Issue Count 4

YOU MAY BE INTERESTED

Issue Title Created Date Comment Count Updated Date
CP/M version of the tests 1 2021-11-07 2022-08-07
MFEKglif must preserve point `smooth` in .glif files and allow users input into its value 0 2021-12-31 2022-07-11
NSW Traffic ? Parking ? 1 2020-10-09 2022-07-25
reCaptcha enterprise support 1 2021-06-22 2022-06-25
enPR transcription is interpreted as IPA 2 2022-04-17 2022-07-15
No sense parsing for {{ru-verb-alt-ё}} template 2 2022-04-09 2022-08-03
Settings schema 'org.gnome.settings-daemon.plugins.xsettings' does not contain a key named 'antialiasing' 1 2022-05-15 2022-08-05
Support specifying AES authentication keys explicitly 1 2021-10-21 2022-08-06
can't import certificate on YubiHSM 2 11 2021-11-29 2022-08-06
Freeze after hitting "Send Selection to AE" button and INSANE RAM usage 1 2021-04-14 2022-08-06
4.6的题目,完全没必要提取左公因子,或者消除左递归 4 2017-01-11 2022-07-31
Allow disabling certain rules 7 2016-01-04 2022-07-25
SDRAM Test Core & Final Poll 1 2021-01-08 2022-04-09
Multiple files overlap and thumbnail on left corner. 3 2021-09-19 2022-08-13
Images are not shown 7 2021-06-04 2022-07-22
Error while making a call. Message: size is too accurate 0 2022-01-02 2022-07-25
Can't remove invalid parameter index column 4 2021-12-09 2022-08-05
问题:Mac arm 架构 vscode下载go tools失败,显示dial tcp 142.251.42.241:443: i/o timeout\n" 3 2022-02-23 2022-03-20
atuin outputs (everything?) into stderr 5 2022-05-24 2022-07-24
DFX 0.8.0 creates index.js while Agent looks for CANISTERNAME.js 1 2021-08-10 2022-08-06
Hyperlink URLs in the simulator 0 2021-08-11 2022-07-31
Can't remove rules from split by field 1 2022-02-02 2022-08-10
Test site (floweditor.nyaruka.com) is not working from some time 0 2022-03-16 2022-07-31
Hide location functions when `locations` feature flag not set 0 2021-09-27 2022-07-31
/usr/lib/xorg/Xorg.wrap: Only console users are allowed to run the X server 2 2021-11-11 2022-07-24
Could someone help me with this CORS issue? 5 2021-08-24 2022-07-27
Clicking into block always moves cursor to the beginning 2 2022-01-28 2022-02-02
Attempting to add Spyder to an Anaconda venv would require me to downgrade Tensorflow 4 2022-02-22 2022-08-06
NumberInput does not handle zero after comma correctly 0 2022-04-13 2022-08-01
Please add a function to somehow pull subs option override and according to their timing 10 2022-03-03 2022-08-11
Icon Request: Reaper and Qmmp 6 2021-08-04 2022-07-27
Add possibility to delete a tag. 1 2022-04-19 2022-07-28
xxx is potentially unsafe 1 2022-04-19 2022-07-28
Please push tag used to produce 1.0.12 1 2021-05-26 2022-07-19
Memory allocation regression with Ref 2 2021-12-10 2022-07-23
[Feature] Unsigned assembiles? 1 2021-09-20 2022-08-09
[err] The specified host is unknown 3 2020-08-27 2022-08-01
Failed to create span writer 1 2022-05-07 2022-07-30
HELP WANTED panic: invalid Go type when GetTrace by grpc api_v2 2 2022-05-07 2022-08-11
Can't parse Terraform variable field: `nullable` 0 2022-03-02 2022-07-15
afl-fuzz may fail with "Error(waitpid): No child processes" 3 2021-11-18 2022-07-28
`Cors`: returns 401 response for requests from the same origin 1 2022-02-18 2022-08-04
CompressionLayer: `accept-encoding` header parsed incorrectly 6 2022-02-06 2022-08-04
It's unclear how to hook ServeDir in 4 2022-03-05 2022-08-04
chore(deps): bump @types/node from 14.14.45 to 16.4.10 1 2021-08-02 2022-07-15
Support aws.profile JVM system property 1 2021-08-25 2022-07-26
'ParallelEnv' object has no attribute '_device_id' 1 2022-07-28 2022-08-07
LWG-3595 Exposition-only classes proxy and postfix-proxy for `common_iterator` should be fully `constexpr` 1 2021-10-08 2022-07-11
I can't change TTCL logo url 2 2022-01-26 2022-07-19
【3.14.0】create_and_start_task 接口请求失败 0 2021-12-29 2022-08-10