Skip to content

Commit 802cf59

Browse files
committed
Merge branch 'master' of github.com:tinycreative/react-native-intercom
2 parents 28afc95 + 5263917 commit 802cf59

File tree

8 files changed

+45
-18
lines changed

8 files changed

+45
-18
lines changed

README.md

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -90,15 +90,11 @@ React Native wrapper for Intercom.io. Based off of [intercom-cordova](https://gi
9090
}
9191
9292
public List<ReactPackage> getPackages() {
93-
return Arrays.<ReactPackage>asList(
94-
9593
// ...other configuration here...
9694
97-
new IntercomPackage()
95+
packages.add(new IntercomPackage());
9896
9997
// ...other configuration here...
100-
101-
);
10298
}
10399
}
104100
```
@@ -132,7 +128,8 @@ React Native wrapper for Intercom.io. Based off of [intercom-cordova](https://gi
132128
133129
//...other configuration here...
134130
135-
compile 'io.intercom.android:intercom-sdk-fcm:5.+'
131+
implementation 'io.intercom.android:intercom-sdk-base:9.+'
132+
implementation 'io.intercom.android:intercom-sdk:9.+'
136133
}
137134
```
138135
@@ -148,12 +145,12 @@ React Native wrapper for Intercom.io. Based off of [intercom-cordova](https://gi
148145
import android.content.Intent;
149146
import android.content.Context;
150147
import io.intercom.android.sdk.push.IntercomPushClient;
151-
import io.invertase.firebase.messaging.RNFirebaseMessagingService;
148+
import io.invertase.firebase.messaging.ReactNativeFirebaseMessagingService;
152149
import com.google.firebase.messaging.RemoteMessage;
153150
import android.util.Log;
154151
import java.util.Map;
155152
156-
public class MainMessagingService extends RNFirebaseMessagingService {
153+
public class MainMessagingService extends ReactNativeFirebaseMessagingService {
157154
private static final String TAG = "MainMessagingService";
158155
private final IntercomPushClient intercomPushClient = new IntercomPushClient();
159156
@@ -200,6 +197,8 @@ React Native wrapper for Intercom.io. Based off of [intercom-cordova](https://gi
200197
</application>
201198
</manifest>
202199
```
200+
201+
* make sure you have only one service intent with action com.google.firebase.MESSAGING_EVENT
203202
204203
1. Import Intercom and use methods
205204

android/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,6 @@ repositories {
3838

3939
dependencies {
4040
implementation 'com.facebook.react:react-native:+'
41-
implementation 'io.intercom.android:intercom-sdk-base:8.3.0'
41+
implementation 'io.intercom.android:intercom-sdk-base:9.+'
4242
}
4343

android/src/main/java/com/robinpowered/react/Intercom/IntercomModule.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,17 @@ public void presentCarousel(String carouselID, Promise promise) {
106106
}
107107
}
108108

109+
@ReactMethod
110+
public void presentArticle(String articleID, Promise promise) {
111+
try {
112+
Intercom.client().displayArticle(articleID);
113+
Log.i(TAG, "displayArticle");
114+
promise.resolve(null);
115+
} catch(Exception e) {
116+
promise.reject(e.toString());
117+
}
118+
}
119+
109120
@ReactMethod
110121
public void registerUnidentifiedUser(Promise promise) {
111122
try {

iOS/IntercomWrapper.m

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,13 +61,20 @@ @implementation IntercomWrapper
6161
resolve([NSNull null]);
6262
};
6363

64-
// Available as NativeModules.IntercomWrapper.registerUnidentifiedUser
64+
// Available as NativeModules.IntercomWrapper.presentCarousel
6565
RCT_EXPORT_METHOD(presentCarousel:(NSString*)carouselID resolver: (RCTPromiseResolveBlock)resolve rejector:(RCTPromiseRejectBlock)reject) {
66-
NSLog(@"registerUnidentifiedUser");
66+
NSLog(@"presentCarousel");
6767
[Intercom presentCarousel:carouselID];
6868
resolve([NSNull null]);
6969
};
7070

71+
// Available as NativeModules.IntercomWrapper.presentArticle
72+
RCT_EXPORT_METHOD(presentArticle:(NSString*)articleID resolver: (RCTPromiseResolveBlock)resolve rejector:(RCTPromiseRejectBlock)reject) {
73+
NSLog(@"presentArticle");
74+
[Intercom presentArticle:articleID];
75+
resolve([NSNull null]);
76+
};
77+
7178
// Available as NativeModules.IntercomWrapper.logout
7279
RCT_EXPORT_METHOD(logout :(RCTPromiseResolveBlock)resolve :(RCTPromiseRejectBlock)reject) {
7380
NSLog(@"logout");

index.d.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,16 @@ export function sendTokenToIntercom(token: any): Promise<void>;
2020

2121
/**
2222
* presentCarousel
23-
* @param token
23+
* @param carouselID
2424
*/
2525
export function presentCarousel(carouselID: String): Promise<void>;
2626

27+
/**
28+
* presentArticle
29+
* @param articleID
30+
*/
31+
export function presentArticle(articleID: String): Promise<void>;
32+
2733
/**
2834
* registerUnidentifiedUser
2935
* @returns {Promise<void>}

lib/IntercomClient.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,11 +87,11 @@ class IntercomClient {
8787
return IntercomWrapper.displayHelpCenter();
8888
}
8989

90-
setLauncherVisibility(visibility: String) {
90+
setLauncherVisibility(visibility) {
9191
return IntercomWrapper.setLauncherVisibility(visibility);
9292
}
9393

94-
setInAppMessageVisibility(visibility: String) {
94+
setInAppMessageVisibility(visibility) {
9595
return IntercomWrapper.setInAppMessageVisibility(visibility);
9696
}
9797

@@ -111,10 +111,14 @@ class IntercomClient {
111111
return IntercomWrapper.setBottomPadding(padding);
112112
}
113113

114-
presentCarousel(carousel: String) {
114+
presentCarousel(carousel) {
115115
return IntercomWrapper.presentCarousel(carousel);
116116
}
117117

118+
presentArticle(articleId) {
119+
return IntercomWrapper.presentArticle(articleId);
120+
}
121+
118122
addEventListener(type, handler) {
119123
if (!this._eventEmitter) {
120124
this._eventEmitter = new NativeEventEmitter(IntercomEventEmitter);

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,4 @@
3131
},
3232
"homepage": "https://github.com/tinycreative/react-native-intercom",
3333
"dependencies": {}
34-
}
34+
}

react-native-intercom.podspec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,5 @@ Pod::Spec.new do |s|
1515
s.frameworks = [ "Intercom" ]
1616
s.static_framework = true
1717
s.dependency 'React'
18-
s.dependency 'Intercom', '~> 8.1.0'
19-
end
18+
s.dependency 'Intercom', '~> 9.0.0'
19+
end

0 commit comments

Comments
 (0)