airbridge-react-native-sdk-restricted 4.1.6 → 4.2.0
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.
- package/.github/workflows/build.yml +191 -10
- package/airbridge-react-native-sdk-restricted.podspec +1 -0
- package/airbridge_sdk.json +2 -2
- package/android/build.gradle +8 -4
- package/android/src/main/java/co/ab180/airbridge/reactnative/AirbridgeReactNative.kt +43 -24
- package/android/src/main/java/co/ab180/airbridge/reactnative/common/AirbridgeJSON.kt +22 -0
- package/build/source/Airbridge.js +1 -1
- package/build/source/Airbridge.js.map +1 -1
- package/changelog.md +10 -0
- package/ios/AirbridgeReactNative/AirbridgeReactNative.swift +44 -3
- package/ios/copy-airbridge-json.rb +3 -2
- package/ios/create-library-info-json.rb +26 -0
- package/package.json +1 -1
- package/qa/airbridge_qa.json +1 -1
- package/qa/ios/AirbridgeQA/APNsSetting.h +11 -0
- package/qa/ios/AirbridgeQA/APNsSetting.m +20 -0
- package/qa/ios/AirbridgeQA/AppDelegate.mm +15 -0
- package/qa/ios/AirbridgeQA/Bridging-Header.h +8 -0
- package/qa/ios/AirbridgeQA/IdentifiersInteractor.m +2 -0
- package/qa/ios/AirbridgeQA/IdentifiersInteractor.swift +17 -0
- package/qa/ios/AirbridgeQA/Info.plist +1 -0
- package/qa/ios/AirbridgeQA.xcodeproj/project.pbxproj +33 -2
- package/qa/ios/Podfile.lock +51 -32
- package/qa/package-lock.json +8874 -2083
- package/qa/source/App.js +1 -1
- package/qa/source/common/FCMService.js +35 -5
- package/qa/source/pages/AppInfo.js +1 -0
- package/script/BuildQA.sh +4 -7
- package/script/ChangeRestricted.sh +1 -0
- package/source/Airbridge.ts +1 -1
package/qa/source/App.js
CHANGED
|
@@ -5,7 +5,7 @@ import { storage } from './common/Storage'
|
|
|
5
5
|
import { fcmService } from './common/FCMService'
|
|
6
6
|
import { NavigationContainer } from '@react-navigation/native'
|
|
7
7
|
import StackNavigation from './navigations/Stack'
|
|
8
|
-
import { Airbridge } from 'airbridge-react-native-sdk'
|
|
8
|
+
import { Airbridge } from 'airbridge-react-native-sdk-restricted'
|
|
9
9
|
|
|
10
10
|
import MessageDialog from './component/MessageDialog'
|
|
11
11
|
import { qaLog } from './common/QALog'
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { Platform } from 'react-native'
|
|
1
|
+
import { Platform, NativeModules } from 'react-native'
|
|
2
2
|
|
|
3
3
|
import messaging from '@react-native-firebase/messaging'
|
|
4
4
|
import { Airbridge } from 'airbridge-react-native-sdk-restricted'
|
|
5
5
|
|
|
6
6
|
import { storage } from './Storage'
|
|
7
|
+
import { qaLog } from './QALog'
|
|
7
8
|
|
|
8
9
|
class FCMService {
|
|
9
10
|
|
|
@@ -54,7 +55,7 @@ class FCMService {
|
|
|
54
55
|
}
|
|
55
56
|
|
|
56
57
|
getIosToken = async () => {
|
|
57
|
-
|
|
58
|
+
qaLog('[App] onRegister getIosToken')
|
|
58
59
|
|
|
59
60
|
try {
|
|
60
61
|
if (!messaging().isDeviceRegisteredForRemoteMessages) {
|
|
@@ -62,19 +63,48 @@ class FCMService {
|
|
|
62
63
|
}
|
|
63
64
|
|
|
64
65
|
const fcmToken = await messaging().getToken()
|
|
65
|
-
if (fcmToken
|
|
66
|
+
if (fcmToken) {
|
|
66
67
|
storage.set('fcmToken', fcmToken);
|
|
67
68
|
}
|
|
68
69
|
|
|
69
70
|
const apnsToken = await messaging().getAPNSToken()
|
|
70
|
-
|
|
71
|
+
qaLog('[App] getIosToken ApnsToken : ' + apnsToken)
|
|
71
72
|
if (apnsToken) {
|
|
72
73
|
storage.set('apnsToken', apnsToken);
|
|
73
74
|
Airbridge.registerPushToken(apnsToken)
|
|
74
75
|
}
|
|
75
76
|
}
|
|
76
77
|
catch (error) {
|
|
77
|
-
|
|
78
|
+
qaLog('[App] ios error::', error)
|
|
79
|
+
this.getApnsToken()
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
getApnsToken = async () => {
|
|
84
|
+
qaLog('[App] onRegister getApnsToken')
|
|
85
|
+
|
|
86
|
+
let shouldStop = false
|
|
87
|
+
const repeatCount = 5
|
|
88
|
+
const freq = 500
|
|
89
|
+
|
|
90
|
+
for (let i = 0; i < repeatCount; i++) {
|
|
91
|
+
setTimeout(async () => {
|
|
92
|
+
if (shouldStop) return
|
|
93
|
+
|
|
94
|
+
try {
|
|
95
|
+
const response = await NativeModules.IdentifiersInteractor.apnsToken();
|
|
96
|
+
const jsonData = JSON.parse(response);
|
|
97
|
+
const apnsToken = jsonData['data']
|
|
98
|
+
qaLog(`[App] getApnsToken ApnsToken (${i}) : ${apnsToken}`)
|
|
99
|
+
if (apnsToken) {
|
|
100
|
+
shouldStop = true
|
|
101
|
+
storage.set('apnsToken', apnsToken);
|
|
102
|
+
Airbridge.registerPushToken(apnsToken)
|
|
103
|
+
}
|
|
104
|
+
} catch (error) {
|
|
105
|
+
|
|
106
|
+
}
|
|
107
|
+
}, i * freq);
|
|
78
108
|
}
|
|
79
109
|
}
|
|
80
110
|
|
package/script/BuildQA.sh
CHANGED
|
@@ -14,12 +14,9 @@ npm run build
|
|
|
14
14
|
cd qa
|
|
15
15
|
npm clean-install
|
|
16
16
|
)
|
|
17
|
-
if [[ $BUILD_QA != ios ]] && [[ $BUILD_QA != android ]]; then
|
|
18
|
-
BUILD_QA=all
|
|
19
|
-
fi
|
|
20
17
|
|
|
21
18
|
# build ios
|
|
22
|
-
if [[ $BUILD_QA ==
|
|
19
|
+
if [[ $BUILD_QA == ios ]]; then
|
|
23
20
|
(
|
|
24
21
|
cd qa/ios
|
|
25
22
|
pod install
|
|
@@ -45,11 +42,11 @@ if [[ $BUILD_QA == all ]] || [[ $BUILD_QA == ios ]]; then
|
|
|
45
42
|
-exportPath "$BUFFER_DIRECTORY/ios-application" \
|
|
46
43
|
-exportOptionsPlist "$BUFFER_DIRECTORY/ios-application.plist" \
|
|
47
44
|
-allowProvisioningUpdates
|
|
48
|
-
cp -r "$BUFFER_DIRECTORY/ios-application/AirbridgeQA.ipa"
|
|
45
|
+
cp -r "$BUFFER_DIRECTORY/ios-application/AirbridgeQA.ipa" "build/qa/$BUILD_OUTPUT"
|
|
49
46
|
fi
|
|
50
47
|
|
|
51
48
|
# build android
|
|
52
|
-
if [[ $BUILD_QA ==
|
|
49
|
+
if [[ $BUILD_QA == android ]]; then
|
|
53
50
|
echo "$KEYSTORE" \
|
|
54
51
|
| base64 --decode \
|
|
55
52
|
> "$BUFFER_DIRECTORY/android-application.keystore"
|
|
@@ -58,7 +55,7 @@ if [[ $BUILD_QA == all ]] || [[ $BUILD_QA == android ]]; then
|
|
|
58
55
|
cd qa/android
|
|
59
56
|
./gradlew app:assembleRelease
|
|
60
57
|
)
|
|
61
|
-
cp -r 'qa/android/app/build/outputs/apk/release/app-release.apk'
|
|
58
|
+
cp -r 'qa/android/app/build/outputs/apk/release/app-release.apk' "build/qa/$BUILD_OUTPUT"
|
|
62
59
|
fi
|
|
63
60
|
|
|
64
61
|
# clean environment
|
|
@@ -23,6 +23,7 @@ perl -i -pe 's/implementation "io.airbridge:sdk-android:/implementation "io.airb
|
|
|
23
23
|
echo 'Change qa'
|
|
24
24
|
perl -i -pe 's/"airbridge-react-native-sdk"/"airbridge-react-native-sdk-restricted"/g' "$ROOT_DIRECTORY/qa/package.json"
|
|
25
25
|
perl -i -pe 's/"airbridge-react-native-sdk"/"airbridge-react-native-sdk-restricted"/g' "$ROOT_DIRECTORY/qa/package-lock.json"
|
|
26
|
+
perl -i -pe "s/from 'airbridge-react-native-sdk'/from 'airbridge-react-native-sdk-restricted'/g" "$ROOT_DIRECTORY/qa/source/App.js"
|
|
26
27
|
perl -i -pe "s/from 'airbridge-react-native-sdk'/from 'airbridge-react-native-sdk-restricted'/g" "$ROOT_DIRECTORY"/qa/source/**/*
|
|
27
28
|
perl -i -pe "s/= 'airbridge-ios-sdk'/= 'airbridge-ios-sdk-restricted'/g" "$ROOT_DIRECTORY/qa/ios/InternalLibrary/airbridge-ios-sdk.podspec"
|
|
28
29
|
perl -i -pe 's/Airbridge.zip"/AirbridgeRestricted.zip"/g' "$ROOT_DIRECTORY/qa/ios/InternalLibrary/airbridge-ios-sdk.podspec"
|
package/source/Airbridge.ts
CHANGED
|
@@ -312,7 +312,7 @@ export class Airbridge {
|
|
|
312
312
|
* @return `true` if the tracking feature of SDK tracking is enabled,`false` otherwise.
|
|
313
313
|
*/
|
|
314
314
|
static isTrackingEnabled(): Promise<boolean> {
|
|
315
|
-
return this.#dependency.switchModule.
|
|
315
|
+
return this.#dependency.switchModule.isTrackingEnabled()
|
|
316
316
|
}
|
|
317
317
|
|
|
318
318
|
// web interface
|