From a238580f768394a1474e774d23065256f6345dea Mon Sep 17 00:00:00 2001 From: intoxicated Date: Wed, 19 Feb 2020 15:28:36 +0900 Subject: [PATCH 1/5] Removed legacy --- index.js | 17 +---------------- ios/RCTConvert+ChannelIO.m | 18 +++++++++--------- ios/RNChannelIO.h | 1 - ios/RNChannelIO.m | 23 ++++------------------- 4 files changed, 14 insertions(+), 45 deletions(-) diff --git a/index.js b/index.js index 2d51b558..86856307 100644 --- a/index.js +++ b/index.js @@ -151,20 +151,6 @@ export const ChannelIO = { replaceListener(ChannelModule.Event.ON_CLICK_CHAT_LINK, subscription); }, - /** - * Event listener that triggers when a redirect on push bot link has been clicked by a user - * @param {Boolean} handle True if you want to handle a link, otherwise false - * @param {Function} cb a callback function that takes a string link as parameter - */ - onClickRedirectLink: (handle, cb) => { - let subscription = ChannelModule.setRedirectLinkHandle(handle); - ChannelEventEmitter.addListener(ChannelModule.Event.ON_CLICK_REDIRECT_LINK, (data) => { - cb(data.link); - }); - - replaceListener(ChannelModule.Event.ON_CLICK_REDIRECT_LINK, subscription); - }, - /** * Event listener that triggers when guest profile is updated * @param {Function} cb a callback function that takes a key, value @@ -198,9 +184,8 @@ export const ChannelIO = { ON_CHANGE_BADGE: ChannelModule.Event.ON_CHANGE_BADGE, ON_RECEIVE_PUSH: ChannelModule.Event.ON_RECEIVE_PUSH, ON_CLICK_CHAT_LINK: ChannelModule.Event.ON_CLICK_CHAT_LINK, - ON_CLICK_REDIRECT_LINK: ChannelModule.Event.ON_CLICK_REDIRECT_LINK, ON_CHANGE_PROFILE: ChannelModule.Event.ON_CHANGE_PROFILE, WILL_SHOW_MESSENGER: ChannelModule.Event.WILL_SHOW_MESSENGER, WILL_HIDE_MESSENGER: ChannelModule.Event.WILL_HIDE_MESSENGER } -} \ No newline at end of file +} diff --git a/ios/RCTConvert+ChannelIO.m b/ios/RCTConvert+ChannelIO.m index 88d66443..21ee23ce 100644 --- a/ios/RCTConvert+ChannelIO.m +++ b/ios/RCTConvert+ChannelIO.m @@ -54,17 +54,17 @@ + (ChannelPluginSettings *)settings:(id)json { settings.debugMode = [RCTConvert BOOL:json[@"debugMode"]]; settings.hideDefaultInAppPush = [RCTConvert BOOL:json[@"hideDefaultInAppPush"]]; settings.launcherConfig = [RCTConvert launcherConfig:json[@"launcherConfig"]]; - settings.userId = [RCTConvert NSString:json[@"userId"]]; + settings.memberId = [RCTConvert NSString:json[@"memberId"]]; - NSString *locale = [RCTConvert NSString:json[@"locale"]]; - if ([locale isEqualToString:@"ko"]) { - settings.locale = CHLocaleKorean; - } else if ([locale isEqualToString:@"ja"]) { - settings.locale = CHLocaleJapanese; - } else if ([locale isEqualToString:@"en"]) { - settings.locale = CHLocaleEnglish; + NSString *language = [RCTConvert NSString:json[@"language"]]; + if ([language isEqualToString:@"ko"]) { + settings.language = CHLocaleKorean; + } else if ([language isEqualToString:@"ja"]) { + settings.language = CHLocaleJapanese; + } else if ([language isEqualToString:@"en"]) { + settings.language = CHLocaleEnglish; } else { - settings.locale = CHLocaleDevice; + settings.language = CHLocaleDevice; } return settings; } diff --git a/ios/RNChannelIO.h b/ios/RNChannelIO.h index dcde17df..77883f82 100644 --- a/ios/RNChannelIO.h +++ b/ios/RNChannelIO.h @@ -22,7 +22,6 @@ static NSString * const ON_RECEIVE_PUSH = @"ChannelIO:Event:OnReceivePush"; static NSString * const WILL_SHOW_MESSENGER = @"ChannelIO:Event:WillShowMessenger"; static NSString * const WILL_HIDE_MESSENGER = @"ChannelIO:Event:WillHideMessenger"; static NSString * const ON_CLICK_CHAT_LINK = @"ChannelIO:Event:OnClickChatLink"; -static NSString * const ON_CLICK_REDIRECT_LINK = @"ChannelIO:Event:OnClickRedirectLink"; static NSString * const ON_CHANGE_PROFILE = @"ChannelIO:Event:OnChangeProfile"; NS_ASSUME_NONNULL_END diff --git a/ios/RNChannelIO.m b/ios/RNChannelIO.m index 01eb47e4..73934e70 100644 --- a/ios/RNChannelIO.m +++ b/ios/RNChannelIO.m @@ -18,7 +18,6 @@ @implementation RNChannelIO { BOOL hasListeners; BOOL handleChatLink; - BOOL handleRedirectLink; } RCT_EXPORT_MODULE() @@ -62,8 +61,7 @@ - (NSDictionary *)constantsToExport { @"ON_RECEIVE_PUSH": ON_RECEIVE_PUSH, @"WILL_SHOW_MESSENGER": WILL_SHOW_MESSENGER, @"WILL_HIDE_MESSENGER": WILL_HIDE_MESSENGER, - @"ON_CLICK_CHAT_LINK": ON_CLICK_CHAT_LINK, - @"ON_CLICK_REDIRECT_LINK": ON_CLICK_REDIRECT_LINK + @"ON_CLICK_CHAT_LINK": ON_CLICK_CHAT_LINK }, @"Locale": @{ @"korean": @(CHLocaleKorean), @@ -92,8 +90,7 @@ - (NSDictionary *)constantsToExport { ON_RECEIVE_PUSH, WILL_SHOW_MESSENGER, WILL_HIDE_MESSENGER, - ON_CLICK_CHAT_LINK, - ON_CLICK_REDIRECT_LINK + ON_CLICK_CHAT_LINK ]; } @@ -103,8 +100,8 @@ - (NSDictionary *)constantsToExport { rejecter:(RCTPromiseRejectBlock)reject) { ChannelPluginSettings * pluginSettings = [RCTConvert settings:settings]; Profile *userProfile = [RCTConvert profile:settings[@"profile"]]; - [ChannelIO bootWith:pluginSettings profile:userProfile completion:^(ChannelPluginCompletionStatus status, Guest *guest) { - resolve(@{@"status": @(status), @"guest": guest != nil ? guest.toJson : NSNull.null }); + [ChannelIO bootWith:pluginSettings profile:userProfile completion:^(ChannelPluginCompletionStatus status, User *user) { + resolve(@{@"status": @(status), @"user": user != nil ? user.toJson : NSNull.null }); }]; } @@ -168,10 +165,6 @@ - (NSDictionary *)constantsToExport { handleChatLink = handle; } -RCT_EXPORT_METHOD(setRedirectLinkHandle:(BOOL)handle) { - handleRedirectLink = handle; -} - #pragma mark ChannelPluginDelegate - (void)onChangeBadgeWithCount:(NSInteger)count { @@ -194,14 +187,6 @@ - (BOOL)onClickChatLinkWithUrl:(NSURL *)url { return handleChatLink; } -- (BOOL)onClickRedirectWithUrl:(NSURL *)url { - if (hasListeners) { - [self sendEventWithName:ON_CLICK_REDIRECT_LINK body:@{@"link": url.absoluteString}]; - return handleRedirectLink; - } - return handleRedirectLink; -} - - (void)onChangeProfileWithKey:(NSString *)key value:(id)value { if (hasListeners) { [self sendEventWithName:ON_CHANGE_PROFILE body: @{@"key": key, @"value": value}]; From f05c2ba6947bfd2efaa8116f09fbe79a9eff0c8d Mon Sep 17 00:00:00 2001 From: zoyi-jin Date: Fri, 13 Mar 2020 16:14:32 +0900 Subject: [PATCH 2/5] version up - android plugin 7.0.+ --- android/build.gradle | 2 +- .../main/java/com/zoyi/channel/rn/Const.java | 2 +- .../java/com/zoyi/channel/rn/ParseUtils.java | 40 +++++++------------ .../java/com/zoyi/channel/rn/RNChannelIO.java | 30 +++++--------- .../main/java/com/zoyi/channel/rn/Utils.java | 21 ++-------- 5 files changed, 29 insertions(+), 66 deletions(-) diff --git a/android/build.gradle b/android/build.gradle index 742d5aa3..b26816c6 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -55,5 +55,5 @@ repositories { dependencies { implementation 'com.facebook.react:react-native:+' - api 'com.zoyi.channel:plugin-android:6.1.+' + api 'com.zoyi.channel:plugin-android:7.0.+' } diff --git a/android/src/main/java/com/zoyi/channel/rn/Const.java b/android/src/main/java/com/zoyi/channel/rn/Const.java index 0471e34e..c4e89d68 100644 --- a/android/src/main/java/com/zoyi/channel/rn/Const.java +++ b/android/src/main/java/com/zoyi/channel/rn/Const.java @@ -9,7 +9,7 @@ public class Const { // Boot public static final String KEY_PLUGIN_KEY = "pluginKey"; - public static final String KEY_USER_ID = "userId"; + public static final String KEY_MEMBER_ID = "memberId"; public static final String KEY_LOCALE = "locale"; public static final String KEY_DEBUG_MODE = "debugMode"; public static final String KEY_ENABLED_TRACK_DEFAULT_EVENT = "enabledTrackDefaultEvent"; diff --git a/android/src/main/java/com/zoyi/channel/rn/ParseUtils.java b/android/src/main/java/com/zoyi/channel/rn/ParseUtils.java index 513ead89..ff44c3e5 100644 --- a/android/src/main/java/com/zoyi/channel/rn/ParseUtils.java +++ b/android/src/main/java/com/zoyi/channel/rn/ParseUtils.java @@ -1,23 +1,11 @@ - package com.zoyi.channel.rn; -import com.facebook.react.bridge.Arguments; -import com.facebook.react.bridge.ReadableArray; -import com.facebook.react.bridge.ReadableMap; -import com.facebook.react.bridge.ReadableMapKeySetIterator; -import com.facebook.react.bridge.ReadableType; -import com.facebook.react.bridge.WritableArray; -import com.facebook.react.bridge.WritableMap; - -import com.zoyi.channel.plugin.android.model.etc.*; +import com.facebook.react.bridge.*; import com.zoyi.channel.plugin.android.*; +import com.zoyi.channel.plugin.android.model.etc.PushEvent; import com.zoyi.channel.react.android.Const; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; +import java.util.*; /** * Created by jerry on 2018. 10. 11.. @@ -228,7 +216,7 @@ public static Profile toProfile(ReadableMap profileMap) { public static ChannelPluginSettings toChannelPluginSettings(ReadableMap settingsMap) { String pluginKey = Utils.getString(settingsMap, Const.KEY_PLUGIN_KEY); - String userId = Utils.getString(settingsMap, Const.KEY_USER_ID); + String userId = Utils.getString(settingsMap, Const.KEY_MEMBER_ID); String locale = Utils.getString(settingsMap, Const.KEY_LOCALE); boolean debugMode = Utils.getBoolean(settingsMap, Const.KEY_DEBUG_MODE, false); @@ -239,7 +227,7 @@ public static ChannelPluginSettings toChannelPluginSettings(ReadableMap settings ReadableMap profile = Utils.getReadableMap(settingsMap, Const.KEY_PROFILE); return new ChannelPluginSettings(pluginKey) - .setUserId(userId) + .setMemberId(userId) .setLocale(CHLocale.fromString(locale)) .setDebugMode(debugMode) .setEnabledTrackDefaultEvent(enabledTrackDefaultEvent) @@ -268,13 +256,13 @@ public static Map toPushNotification(ReadableMap pushNotificatio public static WritableMap getBootResult( ChannelPluginListener listener, ChannelPluginCompletionStatus status, - Guest guest) { + User user) { WritableMap result = Arguments.createMap(); if (status == ChannelPluginCompletionStatus.SUCCESS) { ChannelIO.setChannelPluginListener(listener); - result.putMap(Const.KEY_GUEST, ParseUtils.guestToWritableMap(guest)); + result.putMap(Const.KEY_GUEST, ParseUtils.guestToWritableMap(user)); } result.putString(Const.KEY_STATUS, status.toString()); @@ -282,19 +270,19 @@ public static WritableMap getBootResult( return result; } - public static WritableMap guestToWritableMap(Guest guest) { + public static WritableMap guestToWritableMap(User user) { WritableMap guestMap = Arguments.createMap(); - if (guest == null) { + if (user == null) { return guestMap; } - guestMap.putString(Const.KEY_ID, guest.getId()); - guestMap.putString(Const.KEY_NAME, guest.getName()); - guestMap.putString(Const.KEY_AVATAR_URL, guest.getAvatarUrl()); - guestMap.putInt(Const.KEY_ALERT, guest.getAlert()); + guestMap.putString(Const.KEY_ID, user.getId()); + guestMap.putString(Const.KEY_NAME, user.getName()); + guestMap.putString(Const.KEY_AVATAR_URL, user.getAvatarUrl()); + guestMap.putInt(Const.KEY_ALERT, user.getAlert()); - Map profile = guest.getProfile(); + Map profile = user.getProfile(); if (profile != null) { guestMap.putMap(Const.KEY_PROFILE, toWritableMap(profile)); } diff --git a/android/src/main/java/com/zoyi/channel/rn/RNChannelIO.java b/android/src/main/java/com/zoyi/channel/rn/RNChannelIO.java index c1f50b85..d0f1d81e 100644 --- a/android/src/main/java/com/zoyi/channel/rn/RNChannelIO.java +++ b/android/src/main/java/com/zoyi/channel/rn/RNChannelIO.java @@ -3,15 +3,11 @@ import android.app.Activity; import android.content.Context; -import android.widget.Toast; import com.facebook.react.bridge.*; import com.zoyi.channel.plugin.android.*; -import com.zoyi.channel.plugin.android.global.*; - -import com.facebook.react.bridge.ReadableMap; +import com.zoyi.channel.plugin.android.global.PrefSupervisor; import com.zoyi.channel.plugin.android.model.etc.PushEvent; -import com.zoyi.channel.react.android.*; import com.zoyi.channel.react.android.Const; import java.util.HashMap; @@ -81,8 +77,8 @@ public void boot(ReadableMap settings, final Promise promise) { ParseUtils.toProfile(Utils.getReadableMap(settings, Const.KEY_PROFILE)), new OnBootListener() { @Override - public void onCompletion(ChannelPluginCompletionStatus status, Guest guest) { - promise.resolve(ParseUtils.getBootResult(RNChannelIO.this, status, guest)); + public void onCompletion(ChannelPluginCompletionStatus status, User user) { + promise.resolve(ParseUtils.getBootResult(RNChannelIO.this, status, user)); } }); } @@ -121,7 +117,7 @@ public void openChat(String chatId, boolean animated) { public void initPushToken(String tokenData) { Context context = getCurrentActivity(); - if (context != null){ + if (context != null) { PrefSupervisor.setDeviceToken(context, tokenData); } } @@ -130,7 +126,7 @@ public void initPushToken(String tokenData) { public void handlePushNotification(ReadableMap userInfo, Promise promise) { Context context = getCurrentActivity(); - if (context != null){ + if (context != null) { ChannelIO.showPushNotification(context, ParseUtils.toPushNotification(userInfo)); } @@ -141,7 +137,7 @@ public void handlePushNotification(ReadableMap userInfo, Promise promise) { public void handlePush() { Activity activity = getCurrentActivity(); - if (activity != null){ + if (activity != null) { ChannelIO.handlePushNotification(activity); } } @@ -196,18 +192,12 @@ public boolean onClickChatLink(String url) { return handleChatLink; } - @Override - public boolean onClickRedirectUrl(String url) { - Utils.sendEvent(reactContext, Const.EVENT_ON_CLICK_REDIRECT_LINK, ParseUtils.createSingleMap(Const.KEY_EVENT_LINK, url)); - return handleRedirectLink; - } - @Override public void onChangeProfile(String key, Object value) { Utils.sendEvent( - reactContext, - Const.EVENT_ON_CHANGE_PROFILE, - ParseUtils.createKeyValueMap(Const.KEY_PROFILE_KEY, key, Const.KEY_PROFILE_VALUE, value) + reactContext, + Const.EVENT_ON_CHANGE_PROFILE, + ParseUtils.createKeyValueMap(Const.KEY_PROFILE_KEY, key, Const.KEY_PROFILE_VALUE, value) ); } -} +} \ No newline at end of file diff --git a/android/src/main/java/com/zoyi/channel/rn/Utils.java b/android/src/main/java/com/zoyi/channel/rn/Utils.java index 631be456..2bd8952f 100644 --- a/android/src/main/java/com/zoyi/channel/rn/Utils.java +++ b/android/src/main/java/com/zoyi/channel/rn/Utils.java @@ -1,25 +1,10 @@ - package com.zoyi.channel.rn; import android.content.Context; -import android.util.Log; - -import com.facebook.react.bridge.Arguments; -import com.facebook.react.bridge.ReactContext; -import com.facebook.react.bridge.ReadableArray; -import com.facebook.react.bridge.ReadableMap; -import com.facebook.react.bridge.ReadableMapKeySetIterator; -import com.facebook.react.bridge.ReadableType; -import com.facebook.react.bridge.WritableArray; -import com.facebook.react.bridge.WritableMap; -import com.facebook.react.modules.core.DeviceEventManagerModule; -import com.zoyi.channel.plugin.android.model.entity.Guest; -import com.zoyi.channel.plugin.android.*; -import com.zoyi.channel.plugin.android.global.*; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; +import com.facebook.react.bridge.*; +import com.facebook.react.modules.core.DeviceEventManagerModule; +import com.zoyi.channel.plugin.android.global.PrefSupervisor; /** * Created by mika on 2018. 9. 18.. From 36af0e81a4e98df894b095baf724f2c9fa206911 Mon Sep 17 00:00:00 2001 From: zoyi-jin Date: Sat, 14 Mar 2020 00:19:55 +0900 Subject: [PATCH 3/5] release 0.4.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 0c522358..ec5e9f40 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-channel-plugin", - "version": "0.3.9", + "version": "0.4.0", "description": "react native module for channel io", "main": "index.js", "scripts": { From 8d6a24e2fdef4585c75016c03840aaebd2c11e84 Mon Sep 17 00:00:00 2001 From: zoyi-jin Date: Sat, 14 Mar 2020 00:28:05 +0900 Subject: [PATCH 4/5] update changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b95de4c..eb30441d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +# 0.4.0 +## Updates +# Updated channeltalk plugin v7.0 + # 0.3.7 ## Updates * Updated ios target to 10.0 from 9.1 From ca306100ce76e1186ebd36552ad7c29ecc849daa Mon Sep 17 00:00:00 2001 From: zoyi-jin Date: Sat, 14 Mar 2020 00:29:06 +0900 Subject: [PATCH 5/5] fix changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index eb30441d..150884a2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # 0.4.0 ## Updates -# Updated channeltalk plugin v7.0 +* Updated channeltalk plugin v7.0 # 0.3.7 ## Updates