@adobe/react-native-aepmessaging 5.0.0 → 5.1.0-beta.1
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/.babelrc +1 -1
- package/RCTAEPMessaging.podspec +25 -7
- package/README.md +109 -9
- package/android/build.gradle +87 -22
- package/android/gradle.properties +5 -0
- package/android/src/main/AndroidManifest.xml +0 -2
- package/android/src/main/AndroidManifestNew.xml +2 -0
- package/android/src/main/java/com/adobe/marketing/mobile/reactnative/messaging/RCTAEPMessagingModule.java +267 -200
- package/android/src/main/java/com/adobe/marketing/mobile/reactnative/messaging/RCTAEPMessagingPackage.java +27 -25
- package/android/src/main/java/com/adobe/marketing/mobile/reactnative/messaging/RCTAEPMessagingUtil.java +131 -0
- package/dist/Messaging.d.ts +62 -0
- package/dist/Messaging.js +112 -0
- package/dist/Messaging.js.map +1 -0
- package/{js → dist}/index.js +1 -1
- package/dist/index.js.map +1 -0
- package/dist/models/Message.d.ts +46 -0
- package/dist/models/Message.js +73 -0
- package/dist/models/Message.js.map +1 -0
- package/dist/models/MessagingDelegate.d.ts +30 -0
- package/{js → dist}/models/MessagingDelegate.js +1 -1
- package/dist/models/MessagingDelegate.js.map +1 -0
- package/{js → dist}/models/MessagingEdgeEventType.js +1 -1
- package/dist/models/MessagingEdgeEventType.js.map +1 -0
- package/dist/models/MessagingProposition.d.ts +8 -0
- package/dist/models/MessagingProposition.js +24 -0
- package/dist/models/MessagingProposition.js.map +1 -0
- package/dist/models/MessagingPropositionItem.d.ts +6 -0
- package/dist/models/MessagingPropositionItem.js +23 -0
- package/dist/models/MessagingPropositionItem.js.map +1 -0
- package/ios/src/RCTAEPMessaging-Bridging-Header.h +15 -0
- package/ios/src/RCTAEPMessaging.mm +50 -0
- package/ios/src/RCTAEPMessaging.swift +283 -0
- package/ios/src/RCTAEPMessagingConstants.swift +22 -0
- package/ios/src/RCTAEPMessagingDataBridge.swift +41 -0
- package/package.json +3 -3
- package/src/Messaging.ts +147 -0
- package/{ts → src}/index.ts +1 -1
- package/src/models/Message.ts +84 -0
- package/src/models/MessagingDelegate.ts +47 -0
- package/{ts → src}/models/MessagingEdgeEventType.ts +1 -1
- package/src/models/MessagingProposition.ts +32 -0
- package/src/models/MessagingPropositionItem.ts +23 -0
- package/tsconfig.json +2 -2
- package/ios/RCTAEPMessaging.xcodeproj/project.pbxproj +0 -304
- package/ios/src/RCTAEPMessaging.h +0 -20
- package/ios/src/RCTAEPMessaging.m +0 -196
- package/js/Messaging.d.ts +0 -32
- package/js/Messaging.js +0 -80
- package/js/Messaging.js.map +0 -1
- package/js/index.js.map +0 -1
- package/js/models/Message.d.ts +0 -43
- package/js/models/Message.js +0 -80
- package/js/models/Message.js.map +0 -1
- package/js/models/MessagingDelegate.d.ts +0 -25
- package/js/models/MessagingDelegate.js.map +0 -1
- package/js/models/MessagingEdgeEventType.js.map +0 -1
- package/ts/Messaging.ts +0 -99
- package/ts/models/Message.ts +0 -82
- package/ts/models/MessagingDelegate.ts +0 -41
- /package/{js → dist}/index.d.ts +0 -0
- /package/{js → dist}/models/MessagingEdgeEventType.d.ts +0 -0
package/.babelrc
CHANGED
package/RCTAEPMessaging.podspec
CHANGED
|
@@ -1,22 +1,40 @@
|
|
|
1
1
|
require "json"
|
|
2
|
+
|
|
2
3
|
package = JSON.parse(File.read(File.join(__dir__, "package.json")))
|
|
4
|
+
folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32'
|
|
3
5
|
|
|
4
6
|
Pod::Spec.new do |s|
|
|
5
7
|
s.name = "RCTAEPMessaging"
|
|
6
8
|
s.version = package["version"]
|
|
7
9
|
s.summary = "Messaging library for Adobe Experience Platform Mobile SDK. Written and Supported by Adobe."
|
|
8
10
|
s.author = "Adobe Experience Platform SDK Team"
|
|
9
|
-
|
|
10
11
|
s.homepage = "https://github.com/adobe/aepsdk-react-native"
|
|
11
|
-
|
|
12
12
|
s.license = "Apache 2.0 License"
|
|
13
13
|
s.platform = :ios, '11.0'
|
|
14
|
-
|
|
15
14
|
s.source = { :git => "https://github.com/adobe/aepsdk-react-native.git", :tag => "#{s.version}" }
|
|
15
|
+
s.source_files = "ios/**/*.{h,m,mm,swift}"
|
|
16
|
+
s.swift_version = '5.0'
|
|
16
17
|
|
|
17
|
-
s.source_files = "ios/**/*.{h,m}"
|
|
18
|
-
s.requires_arc = true
|
|
19
|
-
|
|
20
|
-
s.dependency "React"
|
|
21
18
|
s.dependency "AEPMessaging", "~> 4.0"
|
|
19
|
+
|
|
20
|
+
if respond_to?(:install_modules_dependencies, true)
|
|
21
|
+
install_modules_dependencies(s)
|
|
22
|
+
else
|
|
23
|
+
s.dependency "React-Core"
|
|
24
|
+
|
|
25
|
+
# Don't install the dependencies when we run `pod install` in the old architecture.
|
|
26
|
+
if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then
|
|
27
|
+
s.compiler_flags = folly_compiler_flags + " -DRCT_NEW_ARCH_ENABLED=1"
|
|
28
|
+
s.pod_target_xcconfig = {
|
|
29
|
+
"HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\"",
|
|
30
|
+
"OTHER_CPLUSPLUSFLAGS" => "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1",
|
|
31
|
+
"CLANG_CXX_LANGUAGE_STANDARD" => "c++17"
|
|
32
|
+
}
|
|
33
|
+
s.dependency "React-Codegen"
|
|
34
|
+
s.dependency "RCT-Folly"
|
|
35
|
+
s.dependency "RCTRequired"
|
|
36
|
+
s.dependency "RCTTypeSafety"
|
|
37
|
+
s.dependency "ReactCommon/turbomodule/core"
|
|
38
|
+
end
|
|
39
|
+
end
|
|
22
40
|
end
|
package/README.md
CHANGED
|
@@ -31,6 +31,30 @@ Yarn:
|
|
|
31
31
|
yarn add @adobe/react-native-aepmessaging
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
+
## Code Based Propositions - Beta
|
|
35
|
+
|
|
36
|
+
To enable code based propositions, please use the beta version of the messaging extension 5.1.0-beta.1
|
|
37
|
+
|
|
38
|
+
NPM:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
npm install @adobe/react-native-aepmessaging@5.1.0-beta.1
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Yarn:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
yarn add @adobe/react-native-aepmessaging@5.1.0-beta.1
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Additionally, add the following to your applications iOS podfile:
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
target 'YourApp' do
|
|
54
|
+
...
|
|
55
|
+
pod 'AEPMessaging', :git => 'https://github.com/adobe/aepsdk-messaging-ios.git', :branch => 'exd-cbe-beta'
|
|
56
|
+
```
|
|
57
|
+
|
|
34
58
|
## Usage
|
|
35
59
|
|
|
36
60
|
### [Messaging](https://developer.adobe.com/client-sdks/documentation/adobe-journey-optimizer)
|
|
@@ -211,15 +235,7 @@ const messagingDelegate = {
|
|
|
211
235
|
Messaging.setMessagingDelegate(messagingDelegate)
|
|
212
236
|
```
|
|
213
237
|
|
|
214
|
-
### saveMessage
|
|
215
|
-
|
|
216
|
-
Natively caches the provided `Message` object in-memory. Cached `Message` objects can used at a later time to show the cached `Message` or perform other actions on the `Message` object. This function should be called from the `shouldShowMessage` function of the custom `MessagingDelegate`.
|
|
217
238
|
|
|
218
|
-
**Syntax**
|
|
219
|
-
|
|
220
|
-
```javascript
|
|
221
|
-
saveMessage(message: Message)
|
|
222
|
-
```
|
|
223
239
|
|
|
224
240
|
**Example**
|
|
225
241
|
|
|
@@ -234,6 +250,90 @@ const messagingDelegate = {
|
|
|
234
250
|
};
|
|
235
251
|
```
|
|
236
252
|
|
|
253
|
+
### updatePropositionsForSurfaces - Beta (5.1.0-beta.1)
|
|
254
|
+
|
|
255
|
+
Dispatches an event to fetch propositions for the provided surfaces from remote.
|
|
256
|
+
|
|
257
|
+
**Syntax**
|
|
258
|
+
|
|
259
|
+
```javascript
|
|
260
|
+
updatePropositionsForSurfaces(surfaces: string[])
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
**Example**
|
|
264
|
+
|
|
265
|
+
```javascript
|
|
266
|
+
Messaging.updatePropositionsForSurfaces(["mobileapp://my-surface"])
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
### getPropositionsForSurfaces - Beta (5.1.0-beta.1)
|
|
270
|
+
|
|
271
|
+
Retrieves the previously fetched (and cached) feeds content from the SDK for the provided surfaces. If the feeds content for one or more surfaces isn't previously cached in the SDK, it will not be retrieved from Adobe Journey Optimizer via the Experience Edge network.
|
|
272
|
+
|
|
273
|
+
**Syntax**
|
|
274
|
+
|
|
275
|
+
```javascript
|
|
276
|
+
getPropositionsForSurfaces(surfaces: string[])
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
**Example**
|
|
280
|
+
|
|
281
|
+
```javascript
|
|
282
|
+
const propositions = Messaging.getPropositionsForSurfaces(["mobileapp://my-surface"])
|
|
283
|
+
console.log(propositions)
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
### getLatestMessage - Beta (5.1.0-beta.1)
|
|
287
|
+
|
|
288
|
+
Retrieves the most recently displayed message object
|
|
289
|
+
|
|
290
|
+
**Syntax**
|
|
291
|
+
|
|
292
|
+
```javascript
|
|
293
|
+
Messaging.getLatestMessage()
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
**Example**
|
|
297
|
+
|
|
298
|
+
```javascript
|
|
299
|
+
const message = Messaging.getLatestMessage()
|
|
300
|
+
console.log(message.id)
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
### getCachedMessages - Beta (5.1.0-beta.1)
|
|
304
|
+
|
|
305
|
+
Retrieves a list of all messages that have been cached in-memory
|
|
306
|
+
|
|
307
|
+
**Syntax**
|
|
308
|
+
|
|
309
|
+
```javascript
|
|
310
|
+
Messaging.getCachedMessages()
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
**Example**
|
|
314
|
+
|
|
315
|
+
```javascript
|
|
316
|
+
const messages = Messaging.getCachedMessages()
|
|
317
|
+
messages.forEach(message => message.clear())
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
### setMessageSettings - Beta (5.1.0-beta.1)
|
|
321
|
+
|
|
322
|
+
Allows setting a global setting for `shouldSaveMessage` and `shouldShowMessage`. Use a messaging delegate defined in the `setMessagingDelegate` method for more fine-grained control of message settings
|
|
323
|
+
|
|
324
|
+
**Syntax**
|
|
325
|
+
|
|
326
|
+
```javascript
|
|
327
|
+
Messaging.setMessageSettings(shouldShowMessage: boolean, shouldSaveMessage: boolean)
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
**Example**
|
|
331
|
+
|
|
332
|
+
```javascript
|
|
333
|
+
Messaging.setMessageSettings(true, false)
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
|
|
237
337
|
## Handling In App Messages using Message Object
|
|
238
338
|
|
|
239
339
|
The `Message` object passed to the `MessagingDelegate` contains the following functions to handle a message:
|
|
@@ -340,7 +440,7 @@ var message: Message
|
|
|
340
440
|
message.clear()
|
|
341
441
|
```
|
|
342
442
|
|
|
343
|
-
##
|
|
443
|
+
## Programmatically control the display of in-app messages
|
|
344
444
|
|
|
345
445
|
App developers can now create a type `MessagingDelegate` in order to be alerted when specific events occur during the lifecycle of an in-app message.
|
|
346
446
|
|
package/android/build.gradle
CHANGED
|
@@ -1,40 +1,105 @@
|
|
|
1
1
|
buildscript {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
mavenCentral()
|
|
5
|
-
}
|
|
2
|
+
// Buildscript is evaluated before everything else so we can't use getExtOrDefault
|
|
3
|
+
def kotlin_version = rootProject.ext.has("kotlinVersion") ? rootProject.ext.get("kotlinVersion") : project.properties["ReactNativeMessaging_kotlinVersion"]
|
|
6
4
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
repositories {
|
|
6
|
+
google()
|
|
7
|
+
mavenCentral()
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
dependencies {
|
|
11
|
+
classpath "com.android.tools.build:gradle:7.2.1"
|
|
12
|
+
// noinspection DifferentKotlinGradleVersion
|
|
13
|
+
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
def isNewArchitectureEnabled() {
|
|
18
|
+
return rootProject.hasProperty("newArchEnabled") && rootProject.getProperty("newArchEnabled") == "true"
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
apply plugin: "com.android.library"
|
|
22
|
+
apply plugin: "kotlin-android"
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def appProject = rootProject.allprojects.find { it.plugins.hasPlugin('com.android.application') }
|
|
26
|
+
|
|
27
|
+
if (isNewArchitectureEnabled()) {
|
|
28
|
+
apply plugin: "com.facebook.react"
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
def getExtOrDefault(name) {
|
|
32
|
+
return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties["ReactNativeMessaging_" + name]
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
def getExtOrIntegerDefault(name) {
|
|
36
|
+
return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties["ReactNativeMessaging_" + name]).toInteger()
|
|
10
37
|
}
|
|
11
38
|
|
|
12
|
-
|
|
39
|
+
def supportsNamespace() {
|
|
40
|
+
def parsed = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION.tokenize('.')
|
|
41
|
+
def major = parsed[0].toInteger()
|
|
42
|
+
def minor = parsed[1].toInteger()
|
|
43
|
+
|
|
44
|
+
// Namespace support was added in 7.3.0
|
|
45
|
+
if (major == 7 && minor >= 3) {
|
|
46
|
+
return true
|
|
47
|
+
}
|
|
13
48
|
|
|
14
|
-
|
|
15
|
-
rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
|
|
49
|
+
return major >= 8
|
|
16
50
|
}
|
|
17
51
|
|
|
18
52
|
android {
|
|
19
|
-
|
|
53
|
+
if (supportsNamespace()) {
|
|
54
|
+
namespace "com.adobe.marketing.mobile.reactnative.messaging"
|
|
20
55
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
versionName "1.0"
|
|
56
|
+
sourceSets {
|
|
57
|
+
main {
|
|
58
|
+
manifest.srcFile "src/main/AndroidManifestNew.xml"
|
|
59
|
+
}
|
|
26
60
|
}
|
|
27
|
-
|
|
28
|
-
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
compileSdkVersion getExtOrIntegerDefault("compileSdkVersion")
|
|
64
|
+
|
|
65
|
+
defaultConfig {
|
|
66
|
+
minSdkVersion getExtOrIntegerDefault("minSdkVersion")
|
|
67
|
+
targetSdkVersion getExtOrIntegerDefault("targetSdkVersion")
|
|
68
|
+
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
buildTypes {
|
|
72
|
+
release {
|
|
73
|
+
minifyEnabled false
|
|
29
74
|
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
lintOptions {
|
|
78
|
+
disable "GradleCompatible"
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
compileOptions {
|
|
82
|
+
sourceCompatibility JavaVersion.VERSION_1_8
|
|
83
|
+
targetCompatibility JavaVersion.VERSION_1_8
|
|
84
|
+
}
|
|
30
85
|
}
|
|
31
86
|
|
|
32
87
|
repositories {
|
|
33
|
-
|
|
34
|
-
|
|
88
|
+
mavenCentral()
|
|
89
|
+
google()
|
|
90
|
+
maven { url "https://plugins.gradle.org/m2/" }
|
|
91
|
+
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
|
|
35
92
|
}
|
|
36
93
|
|
|
94
|
+
def kotlin_version = getExtOrDefault("kotlinVersion")
|
|
95
|
+
|
|
37
96
|
dependencies {
|
|
38
|
-
|
|
39
|
-
|
|
97
|
+
// For < 0.71, this will be from the local maven repo
|
|
98
|
+
// For > 0.71, this will be replaced by `com.facebook.react:react-android:$version` by react gradle plugin
|
|
99
|
+
//noinspection GradleDynamicVersion
|
|
100
|
+
implementation "com.facebook.react:react-native:+"
|
|
101
|
+
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
|
102
|
+
// api "com.adobe.marketing.mobile:messaging:[2.1.0, 3.0["
|
|
103
|
+
api "com.adobe.marketing.mobile:messaging:2.3.0-cbe-beta-SNAPSHOT"
|
|
104
|
+
implementation "com.facebook.react:react-native:+"
|
|
40
105
|
}
|