From 6234f9668da231dd18f6336065cfee5dad73e072 Mon Sep 17 00:00:00 2001 From: wesleyorbin Date: Mon, 27 Jun 2022 13:35:34 -0400 Subject: [PATCH] Release version 1.36.0 --- AppboyProject/AppboyProject.js | 2 -- AppboyProject/ios/Podfile.lock | 30 +++++++++---------- AppboyProject/yarn.lock | 2 +- CHANGELOG.md | 10 ++++++- __tests__/index.test.js | 13 -------- android/build.gradle | 8 ++--- .../appboy/reactbridge/AppboyReactBridge.java | 30 +++++-------------- .../AppboyReactBridge/AppboyReactBridge.m | 10 ------- index.d.ts | 13 -------- index.js | 17 ----------- package.json | 2 +- react-native-appboy-sdk.podspec | 2 +- 12 files changed, 38 insertions(+), 101 deletions(-) diff --git a/AppboyProject/AppboyProject.js b/AppboyProject/AppboyProject.js index c2b34ce..82fe6e7 100644 --- a/AppboyProject/AppboyProject.js +++ b/AppboyProject/AppboyProject.js @@ -426,7 +426,6 @@ class AppboyProject extends Component { } }); ReactAppboy.setPhoneNumber('9085555555'); - ReactAppboy.setAvatarImageUrl('https://raw.githubusercontent.com/Appboy/appboy-react-sdk/master/braze-logo.png'); ReactAppboy.setEmailNotificationSubscriptionType(ReactAppboy.NotificationSubscriptionTypes.UNSUBSCRIBED); ReactAppboy.setPushNotificationSubscriptionType(ReactAppboy.NotificationSubscriptionTypes.SUBSCRIBED); ReactAppboy.addAlias('arrayattr', 'alias-label-1'); @@ -602,7 +601,6 @@ class AppboyProject extends Component { ReactAppboy.logContentCardImpression(cardId); // ReactAppboy.logContentCardDismissed(cardId); } - ReactAppboy.logContentCardsDisplayed(cardId); } }).catch(function () { console.log("Content Cards Promise Rejected"); diff --git a/AppboyProject/ios/Podfile.lock b/AppboyProject/ios/Podfile.lock index 411e8ed..71edac5 100644 --- a/AppboyProject/ios/Podfile.lock +++ b/AppboyProject/ios/Podfile.lock @@ -1,17 +1,17 @@ PODS: - - Appboy-iOS-SDK (4.4.2): - - Appboy-iOS-SDK/UI (= 4.4.2) - - Appboy-iOS-SDK/ContentCards (4.4.2): + - Appboy-iOS-SDK (4.4.4): + - Appboy-iOS-SDK/UI (= 4.4.4) + - Appboy-iOS-SDK/ContentCards (4.4.4): - Appboy-iOS-SDK/Core - SDWebImage (< 6, >= 5.8.2) - - Appboy-iOS-SDK/Core (4.4.2) - - Appboy-iOS-SDK/InAppMessage (4.4.2): + - Appboy-iOS-SDK/Core (4.4.4) + - Appboy-iOS-SDK/InAppMessage (4.4.4): - Appboy-iOS-SDK/Core - SDWebImage (< 6, >= 5.8.2) - - Appboy-iOS-SDK/NewsFeed (4.4.2): + - Appboy-iOS-SDK/NewsFeed (4.4.4): - Appboy-iOS-SDK/Core - SDWebImage (< 6, >= 5.8.2) - - Appboy-iOS-SDK/UI (4.4.2): + - Appboy-iOS-SDK/UI (4.4.4): - Appboy-iOS-SDK/ContentCards - Appboy-iOS-SDK/Core - Appboy-iOS-SDK/InAppMessage @@ -226,8 +226,8 @@ PODS: - React-jsinspector (0.66.4) - React-logger (0.66.4): - glog - - react-native-appboy-sdk (1.35.1): - - Appboy-iOS-SDK (~> 4.4.2) + - react-native-appboy-sdk (1.36.0): + - Appboy-iOS-SDK (~> 4.4.4) - React - React-perflogger (0.66.4) - React-RCTActionSheet (0.66.4): @@ -296,9 +296,9 @@ PODS: - React-perflogger (= 0.66.4) - RNCPicker (2.2.1): - React-Core - - SDWebImage (5.12.3): - - SDWebImage/Core (= 5.12.3) - - SDWebImage/Core (5.12.3) + - SDWebImage (5.12.6): + - SDWebImage/Core (= 5.12.6) + - SDWebImage/Core (5.12.6) - Yoga (1.14.0) DEPENDENCIES: @@ -410,7 +410,7 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/ReactCommon/yoga" SPEC CHECKSUMS: - Appboy-iOS-SDK: 4a7dfe908639da81e5e85849355f6066b58b4cc6 + Appboy-iOS-SDK: b05b957ab645d0a9a43d3f35195ad69202b89edc boost: a7c83b31436843459a1961bfd74b96033dc77234 DoubleConversion: 831926d9b8bf8166fd87886c4abab286c2422662 FBLazyVector: e5569e42a1c79ca00521846c223173a57aca1fe1 @@ -429,7 +429,7 @@ SPEC CHECKSUMS: React-jsiexecutor: 94ce921e1d8ce7023366873ec371f3441383b396 React-jsinspector: d0374f7509d407d2264168b6d0fad0b54e300b85 React-logger: 933f80c97c633ee8965d609876848148e3fef438 - react-native-appboy-sdk: a78720affbaae9a727f1f1da7486c47b3c776bb5 + react-native-appboy-sdk: 9f82be787457b1e21ac8b2d54cbbeb82802dd406 React-perflogger: 93075d8931c32cd1fce8a98c15d2d5ccc4d891bd React-RCTActionSheet: 7d3041e6761b4f3044a37079ddcb156575fb6d89 React-RCTAnimation: 743e88b55ac62511ae5c2e22803d4f503f2a3a13 @@ -443,7 +443,7 @@ SPEC CHECKSUMS: React-runtimeexecutor: dec32ee6f2e2a26e13e58152271535fadff5455a ReactCommon: 57b69f6383eafcbd7da625bfa6003810332313c4 RNCPicker: cb57c823d5ce8d2d0b5dfb45ad97b737260dc59e - SDWebImage: 53179a2dba77246efa8a9b85f5c5b21f8f43e38f + SDWebImage: a47aea9e3d8816015db4e523daff50cfd294499d Yoga: e7dc4e71caba6472ff48ad7d234389b91dadc280 PODFILE CHECKSUM: 068da3374f0d37fa26c7066353aaf77e4e493a52 diff --git a/AppboyProject/yarn.lock b/AppboyProject/yarn.lock index 54053bb..37e4f2f 100644 --- a/AppboyProject/yarn.lock +++ b/AppboyProject/yarn.lock @@ -5178,7 +5178,7 @@ react-is@^16.13.1, react-is@^16.8.4: integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== "react-native-appboy-sdk@file:..": - version "1.35.1" + version "1.36.0" react-native-codegen@^0.0.7: version "0.0.7" diff --git a/CHANGELOG.md b/CHANGELOG.md index 0a06bb6..0ee0acf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +# 1.36.0 + +##### ⚠ Breaking +- Updated the native Android bridge to [Braze Android SDK 21.0.0](https://github.com/Appboy/appboy-android-sdk/blob/master/CHANGELOG.md#2100). +- Updated the native iOS bridge to [Braze iOS SDK 4.4.4](https://github.com/Appboy/appboy-ios-sdk/blob/master/CHANGELOG.md#444). +- Removed `setAvatarImageUrl()`. +- Removed `logContentCardsDisplayed`. This method was not part of the recommended Content Cards integration and can be safely removed. + # 1.35.1 ##### Fixed @@ -17,7 +25,7 @@ # 1.34.0 ##### ⚠ Breaking -- Updated the native Android bridge to [Braze Android SDK 18.0.1](https://github.com/Appboy/appboy-android-sdk/blob/master/CHANGELOG.md#1801git). +- Updated the native Android bridge to [Braze Android SDK 18.0.1](https://github.com/Appboy/appboy-android-sdk/blob/master/CHANGELOG.md#1801). ##### Fixed - Fixed an issue with Content Card types. Thanks @jtparret! diff --git a/__tests__/index.test.js b/__tests__/index.test.js index d5ec286..40a9372 100644 --- a/__tests__/index.test.js +++ b/__tests__/index.test.js @@ -31,7 +31,6 @@ jest.mock('NativeModules', () => { logPurchase: jest.fn(), setCountry: jest.fn(), setHomeCity: jest.fn(), - setAvatarImageUrl: jest.fn(), setDateOfBirth: jest.fn(), setTwitterData: jest.fn(), setFacebookData: jest.fn(), @@ -42,7 +41,6 @@ jest.mock('NativeModules', () => { logContentCardClicked: jest.fn(), logContentCardDismissed: jest.fn(), logContentCardImpression: jest.fn(), - logContentCardsDisplayed: jest.fn(), requestFeedRefresh: jest.fn(), requestImmediateDataFlush: jest.fn(), enableSDK: jest.fn(), @@ -176,11 +174,6 @@ test('it calls AppboyReactBridge.logContentCardImpression', () => { expect(NativeModules.AppboyReactBridge.logContentCardImpression).toBeCalledWith(id); }); -test('it calls AppboyReactBridge.logContentCardsDisplayed', () => { - ReactAppboy.logContentCardsDisplayed(); - expect(NativeModules.AppboyReactBridge.logContentCardsDisplayed).toBeCalled(); -}); - test('it calls AppboyReactBridge.requestFeedRefresh', () => { ReactAppboy.requestFeedRefresh(); expect(NativeModules.AppboyReactBridge.requestFeedRefresh).toBeCalled(); @@ -231,12 +224,6 @@ test('it calls AppboyReactBridge.requestContentCardsRefresh', () => { expect(NativeModules.AppboyReactBridge.requestContentCardsRefresh).toBeCalled(); }); -test('it calls AppboyReactBridge.setAvatarImageUrl', () => { - const url = "braze.com"; - ReactAppboy.setAvatarImageUrl(url); - expect(NativeModules.AppboyReactBridge.setAvatarImageUrl).toBeCalledWith(url); -}); - test('it calls AppboyReactBridge.setDateOfBirth', () => { const year = 2011; const month = 11; diff --git a/android/build.gradle b/android/build.gradle index c4b7e1b..c3897dc 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -5,12 +5,12 @@ def safeExtGet(prop, fallback) { } android { - compileSdkVersion safeExtGet('compileSdkVersion', 31) - buildToolsVersion safeExtGet('buildToolsVersion', '31.0.0') + compileSdkVersion safeExtGet('compileSdkVersion', 33) + buildToolsVersion safeExtGet('buildToolsVersion', '33.0.0') defaultConfig { minSdkVersion safeExtGet('minSdkVersion', 16) - targetSdkVersion safeExtGet('targetSdkVersion', 31) + targetSdkVersion safeExtGet('targetSdkVersion', 33) versionCode 1 versionName '1.0' } @@ -22,6 +22,6 @@ android { } dependencies { - api 'com.appboy:android-sdk-ui:18.0.1' + api 'com.appboy:android-sdk-ui:21.0.0' api 'com.facebook.react:react-native:+' } diff --git a/android/src/main/java/com/appboy/reactbridge/AppboyReactBridge.java b/android/src/main/java/com/appboy/reactbridge/AppboyReactBridge.java index ce96dfe..336b29a 100644 --- a/android/src/main/java/com/appboy/reactbridge/AppboyReactBridge.java +++ b/android/src/main/java/com/appboy/reactbridge/AppboyReactBridge.java @@ -4,12 +4,10 @@ import androidx.annotation.NonNull; -import com.appboy.Appboy; import com.appboy.enums.CardCategory; import com.appboy.enums.Gender; import com.appboy.enums.Month; import com.appboy.enums.NotificationSubscriptionType; -import com.appboy.events.BrazeSdkAuthenticationErrorEvent; import com.appboy.events.FeedUpdatedEvent; import com.appboy.events.IEventSubscriber; import com.appboy.events.SimpleValueCallback; @@ -25,6 +23,7 @@ import com.appboy.ui.activities.AppboyFeedActivity; import com.braze.Braze; import com.braze.BrazeUser; +import com.braze.events.BrazeSdkAuthenticationErrorEvent; import com.braze.events.ContentCardsUpdatedEvent; import com.braze.models.inappmessage.IInAppMessage; import com.braze.models.inappmessage.IInAppMessageImmersive; @@ -432,16 +431,6 @@ public void onSuccess(@NonNull BrazeUser brazeUser) { }); } - @ReactMethod - public void setAvatarImageUrl(final String avatarImageUrl) { - Braze.getInstance(getReactApplicationContext()).getCurrentUser(new SimpleValueCallback() { - @Override - public void onSuccess(@NonNull BrazeUser brazeUser) { - brazeUser.setAvatarImageUrl(avatarImageUrl); - } - }); - } - @ReactMethod public void addToSubscriptionGroup(String groupId, final Callback callback) { Braze.getInstance(getReactApplicationContext()).getCurrentUser(new SimpleValueCallback() { @@ -650,9 +639,9 @@ private WritableMap mapContentCard(Card card) { mappedCard.putDouble("expiresAt", card.getExpiresAt()); mappedCard.putBoolean("viewed", card.getViewed()); mappedCard.putBoolean("clicked", card.isClicked()); - mappedCard.putBoolean("pinned", card.getIsPinned()); + mappedCard.putBoolean("pinned", card.isPinned()); mappedCard.putBoolean("dismissed", card.isDismissed()); - mappedCard.putBoolean("dismissible", card.getIsDismissibleByUser()); + mappedCard.putBoolean("dismissible", card.isDismissibleByUser()); mappedCard.putString("url", card.getUrl()); mappedCard.putBoolean("openURLInWebView", card.getOpenUriInWebView()); @@ -772,16 +761,11 @@ private void updateContentCardsIfNeeded(ContentCardsUpdatedEvent event) { } } - @ReactMethod - private void logContentCardsDisplayed() { - Braze.getInstance(getReactApplicationContext()).logContentCardsDisplayed(); - } - @ReactMethod private void logContentCardDismissed(String id) { Card card = getCardById(id); if (card != null) { - card.setIsDismissed(true); + card.setDismissed(true); } } @@ -907,17 +891,17 @@ public void getUnreadCardCountForCategories(String category, Callback callback) @ReactMethod public void wipeData() { - Appboy.wipeData(getReactApplicationContext()); + Braze.wipeData(getReactApplicationContext()); } @ReactMethod public void disableSDK() { - Appboy.disableSdk(getReactApplicationContext()); + Braze.disableSdk(getReactApplicationContext()); } @ReactMethod public void enableSDK() { - Appboy.enableSdk(getReactApplicationContext()); + Braze.enableSdk(getReactApplicationContext()); } @ReactMethod diff --git a/iOS/AppboyReactBridge/AppboyReactBridge/AppboyReactBridge.m b/iOS/AppboyReactBridge/AppboyReactBridge/AppboyReactBridge.m index d5418a1..715dfca 100644 --- a/iOS/AppboyReactBridge/AppboyReactBridge/AppboyReactBridge.m +++ b/iOS/AppboyReactBridge/AppboyReactBridge/AppboyReactBridge.m @@ -248,11 +248,6 @@ - (NSArray *)parseArray:(NSArray *)array { [Appboy sharedInstance].user.phone = phone; } -RCT_EXPORT_METHOD(setAvatarImageUrl:(NSString *)avatarImageURL) { - RCTLogInfo(@"[Appboy sharedInstance].user.avatarImageURL = %@", avatarImageURL); - [Appboy sharedInstance].user.avatarImageURL = avatarImageURL; -} - RCT_EXPORT_METHOD(addToSubscriptionGroup:(NSString *)groupId callback:(RCTResponseSenderBlock)callback) { RCTLogInfo(@"[Appboy sharedInstance].user addToSubscriptionGroupWithGroupId:groupId: = %@", groupId); [self reportResultWithCallback:callback andError:nil andResult:@([[Appboy sharedInstance].user addToSubscriptionGroupWithGroupId:groupId])]; @@ -441,11 +436,6 @@ - (void) getInAppMessageFromString:(NSString *)inAppMessageJSONString withInAppM } } -RCT_EXPORT_METHOD(logContentCardsDisplayed) { - RCTLogInfo(@"logContentCardsDisplayed called"); - [[Appboy sharedInstance] logContentCardsDisplayed]; -} - static NSDictionary *RCTFormatContentCard(ABKContentCard *card) { NSMutableDictionary *formattedContentCardData = [NSMutableDictionary dictionary]; diff --git a/index.d.ts b/index.d.ts index 15c3d2e..5ba5e7d 100644 --- a/index.d.ts +++ b/index.d.ts @@ -135,13 +135,6 @@ export function setHomeCity(homeCity: string): void; */ export function setPhoneNumber(phoneNumber: string): void; -/** - * Sets the url for the avatar image for the user, which will be displayed on the user profile and throughout - * the Appboy dashboard. - * @param {string} avatarImageUrl - */ -export function setAvatarImageUrl(avatarImageUrl: string): void; - /** * Sets the date of birth of the user. * @param {number} year @@ -443,12 +436,6 @@ export function logContentCardDismissed(id: string): void; */ export function logContentCardImpression(id: string): void; -/** - * When displaying the Content Cards in your own user interface, - * you can manually record Content Cards impressions via the method logContentCardsDisplayed; - */ -export function logContentCardsDisplayed(): void; - /** * Returns a content cards array * @returns {Promise} diff --git a/index.js b/index.js index c0434c3..e920b1c 100644 --- a/index.js +++ b/index.js @@ -361,15 +361,6 @@ var ReactAppboy = { AppboyReactBridge.setPhoneNumber(phoneNumber); }, - /** - * Sets the url for the avatar image for the user, which will be displayed on the user profile and throughout the Appboy - * dashboard. - * @param {string} avatarImageUrl - */ - setAvatarImageUrl: function(avatarImageUrl) { - AppboyReactBridge.setAvatarImageUrl(avatarImageUrl); - }, - /** * Sets the date of birth of the user. * @param {integer} year @@ -554,14 +545,6 @@ var ReactAppboy = { AppboyReactBridge.logContentCardImpression(id); }, - /** - * When displaying the Content Cards in your own user interface, - * you can manually record Content Cards impressions via the method logContentCardsDisplayed; - */ - logContentCardsDisplayed: function() { - AppboyReactBridge.logContentCardsDisplayed(); - }, - /** * Requests a News Feed refresh. */ diff --git a/package.json b/package.json index f5d8a4c..b98515f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-appboy-sdk", - "version": "1.35.1", + "version": "1.36.0", "description": "Braze SDK for React Native.", "main": "index.js", "types": "index.d.ts", diff --git a/react-native-appboy-sdk.podspec b/react-native-appboy-sdk.podspec index 2f441a5..d3b2f5b 100644 --- a/react-native-appboy-sdk.podspec +++ b/react-native-appboy-sdk.podspec @@ -18,6 +18,6 @@ Pod::Spec.new do |s| s.preserve_paths = 'LICENSE.md', 'README.md', 'package.json', 'index.js' s.source_files = 'iOS/**/*.{h,m}' - s.dependency 'Appboy-iOS-SDK', '~> 4.4.2' + s.dependency 'Appboy-iOS-SDK', '~> 4.4.4' s.dependency 'React' end