@parrotnavy/rn-native-updates 0.9.1 → 0.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
4
4
|
import { Platform } from 'react-native';
|
|
5
|
-
import { addUpdateListener, checkPlayStoreUpdate, completeInAppUpdate, getCurrentVersion, needUpdate, openStore, startInAppUpdate } from "../api.js";
|
|
5
|
+
import { addUpdateListener, checkPlayStoreUpdate, completeInAppUpdate, getCurrentBuildNumber, getCurrentVersion, getPackageName, needUpdate, openStore, startInAppUpdate } from "../api.js";
|
|
6
6
|
import { AppUpdateError, AppUpdateErrorCode, InstallStatus, UpdateAvailability } from "../types.js";
|
|
7
7
|
export function useAppUpdate(options) {
|
|
8
8
|
const [isChecking, setIsChecking] = useState(false);
|
|
@@ -22,29 +22,23 @@ export function useAppUpdate(options) {
|
|
|
22
22
|
setIsChecking(true);
|
|
23
23
|
setError(null);
|
|
24
24
|
try {
|
|
25
|
-
const result = await needUpdate({
|
|
26
|
-
country: options?.country,
|
|
27
|
-
forceRefresh: true
|
|
28
|
-
});
|
|
29
|
-
if (!mountedRef.current) return;
|
|
30
|
-
setIsUpdateAvailable(result.isNeeded);
|
|
31
|
-
setLatestVersion(result.latestVersion);
|
|
32
|
-
setStoreUrl(result.storeUrl);
|
|
33
25
|
if (Platform.OS === 'android') {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
26
|
+
const info = await checkPlayStoreUpdate();
|
|
27
|
+
if (!mountedRef.current) return;
|
|
28
|
+
setPlayStoreInfo(info);
|
|
29
|
+
const isAvailable = info.updateAvailability === UpdateAvailability.UPDATE_AVAILABLE;
|
|
30
|
+
setIsUpdateAvailable(isAvailable);
|
|
31
|
+
setLatestVersion(isAvailable && info.availableVersionCode ? info.availableVersionCode.toString() : getCurrentBuildNumber().toString());
|
|
32
|
+
setStoreUrl(`https://play.google.com/store/apps/details?id=${getPackageName()}`);
|
|
33
|
+
} else {
|
|
34
|
+
const result = await needUpdate({
|
|
35
|
+
country: options?.country,
|
|
36
|
+
forceRefresh: true
|
|
37
|
+
});
|
|
38
|
+
if (!mountedRef.current) return;
|
|
39
|
+
setIsUpdateAvailable(result.isNeeded);
|
|
40
|
+
setLatestVersion(result.latestVersion);
|
|
41
|
+
setStoreUrl(result.storeUrl);
|
|
48
42
|
}
|
|
49
43
|
} catch (e) {
|
|
50
44
|
if (!mountedRef.current) return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useEffect","useRef","useState","Platform","addUpdateListener","checkPlayStoreUpdate","completeInAppUpdate","getCurrentVersion","needUpdate","openStore","startInAppUpdate","AppUpdateError","AppUpdateErrorCode","InstallStatus","UpdateAvailability","useAppUpdate","options","isChecking","setIsChecking","isUpdateAvailable","setIsUpdateAvailable","currentVersion","latestVersion","setLatestVersion","storeUrl","setStoreUrl","error","setError","isDownloading","setIsDownloading","downloadProgress","setDownloadProgress","isReadyToInstall","setIsReadyToInstall","playStoreInfo","setPlayStoreInfo","subscriptionRef","mountedRef","checkUpdate","current","
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useRef","useState","Platform","addUpdateListener","checkPlayStoreUpdate","completeInAppUpdate","getCurrentBuildNumber","getCurrentVersion","getPackageName","needUpdate","openStore","startInAppUpdate","AppUpdateError","AppUpdateErrorCode","InstallStatus","UpdateAvailability","useAppUpdate","options","isChecking","setIsChecking","isUpdateAvailable","setIsUpdateAvailable","currentVersion","latestVersion","setLatestVersion","storeUrl","setStoreUrl","error","setError","isDownloading","setIsDownloading","downloadProgress","setDownloadProgress","isReadyToInstall","setIsReadyToInstall","playStoreInfo","setPlayStoreInfo","subscriptionRef","mountedRef","checkUpdate","current","OS","info","isAvailable","updateAvailability","UPDATE_AVAILABLE","availableVersionCode","toString","result","country","forceRefresh","isNeeded","e","appError","CHECK_FAILED","String","onError","handleOpenStore","UNKNOWN","handleStartUpdate","type","remove","state","installStatus","DOWNLOADING","DOWNLOADED","INSTALLED","FAILED","CANCELED","UPDATE_FAILED","handleCompleteUpdate","checkOnMount","startUpdate","completeUpdate"],"sourceRoot":"../../../src","sources":["hooks/useAppUpdate.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAppUpdate.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useAppUpdate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useAppUpdate.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useAppUpdate.ts"],"names":[],"mappings":"AAcA,OAAO,EAQL,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACxB,MAAM,UAAU,CAAC;AAElB,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,kBAAkB,CAqK9E"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@parrotnavy/rn-native-updates",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.2",
|
|
4
4
|
"description": "React Native app update checker with hooks support. Uses Play Core for Android and iTunes Lookup API for iOS.",
|
|
5
5
|
"main": "./lib/module/index.js",
|
|
6
6
|
"types": "./lib/typescript/src/index.d.ts",
|
|
@@ -5,7 +5,9 @@ import {
|
|
|
5
5
|
addUpdateListener,
|
|
6
6
|
checkPlayStoreUpdate,
|
|
7
7
|
completeInAppUpdate,
|
|
8
|
+
getCurrentBuildNumber,
|
|
8
9
|
getCurrentVersion,
|
|
10
|
+
getPackageName,
|
|
9
11
|
needUpdate,
|
|
10
12
|
openStore,
|
|
11
13
|
startInAppUpdate,
|
|
@@ -45,35 +47,30 @@ export function useAppUpdate(options?: UseAppUpdateOptions): UseAppUpdateResult
|
|
|
45
47
|
setError(null);
|
|
46
48
|
|
|
47
49
|
try {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
});
|
|
50
|
+
if (Platform.OS === 'android') {
|
|
51
|
+
const info = await checkPlayStoreUpdate();
|
|
52
|
+
if (!mountedRef.current) return;
|
|
52
53
|
|
|
53
|
-
|
|
54
|
+
setPlayStoreInfo(info);
|
|
55
|
+
const isAvailable = info.updateAvailability === UpdateAvailability.UPDATE_AVAILABLE;
|
|
56
|
+
setIsUpdateAvailable(isAvailable);
|
|
57
|
+
setLatestVersion(
|
|
58
|
+
isAvailable && info.availableVersionCode
|
|
59
|
+
? info.availableVersionCode.toString()
|
|
60
|
+
: getCurrentBuildNumber().toString(),
|
|
61
|
+
);
|
|
62
|
+
setStoreUrl(`https://play.google.com/store/apps/details?id=${getPackageName()}`);
|
|
63
|
+
} else {
|
|
64
|
+
const result = await needUpdate({
|
|
65
|
+
country: options?.country,
|
|
66
|
+
forceRefresh: true,
|
|
67
|
+
});
|
|
54
68
|
|
|
55
|
-
|
|
56
|
-
setLatestVersion(result.latestVersion);
|
|
57
|
-
setStoreUrl(result.storeUrl);
|
|
69
|
+
if (!mountedRef.current) return;
|
|
58
70
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
if (mountedRef.current) {
|
|
63
|
-
setPlayStoreInfo(info);
|
|
64
|
-
setIsUpdateAvailable(info.updateAvailability === UpdateAvailability.UPDATE_AVAILABLE);
|
|
65
|
-
}
|
|
66
|
-
} catch (e) {
|
|
67
|
-
if (mountedRef.current) {
|
|
68
|
-
setPlayStoreInfo(null);
|
|
69
|
-
const appError =
|
|
70
|
-
e instanceof AppUpdateError
|
|
71
|
-
? e
|
|
72
|
-
: new AppUpdateError(AppUpdateErrorCode.CHECK_FAILED, String(e));
|
|
73
|
-
setError(appError);
|
|
74
|
-
options?.onError?.(appError);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
71
|
+
setIsUpdateAvailable(result.isNeeded);
|
|
72
|
+
setLatestVersion(result.latestVersion);
|
|
73
|
+
setStoreUrl(result.storeUrl);
|
|
77
74
|
}
|
|
78
75
|
} catch (e) {
|
|
79
76
|
if (!mountedRef.current) return;
|