@react-native-kakao/share 1.0.3 → 1.1.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/android/src/main/java/net/mjstudio/rnkakao/share/RNCKakaoShareModule.kt +185 -46
- package/android/src/main/java/net/mjstudio/rnkakao/share/RNCKakaoSharePackage.kt +16 -12
- package/android/src/main/java/net/mjstudio/rnkakao/share/RNCKakaoShareTemplates.kt +140 -0
- package/android/src/oldarch/KakaoShareSpec.kt +49 -7
- package/ios/RNCKakaoShare.mm +23 -1
- package/ios/RNCKakaoShareManager.swift +137 -26
- package/lib/commonjs/index.js +48 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/spec/NativeKakaoShare.js +113 -0
- package/lib/commonjs/spec/NativeKakaoShare.js.map +1 -1
- package/lib/module/index.js +42 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/spec/NativeKakaoShare.js +127 -0
- package/lib/module/spec/NativeKakaoShare.js.map +1 -1
- package/lib/typescript/src/index.d.ts +32 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/spec/NativeKakaoShare.d.ts +228 -1
- package/lib/typescript/src/spec/NativeKakaoShare.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/index.tsx +127 -1
- package/src/spec/NativeKakaoShare.ts +252 -2
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import Foundation
|
|
2
|
+
import KakaoSDKCommon
|
|
2
3
|
import KakaoSDKShare
|
|
4
|
+
import KakaoSDKTemplate
|
|
3
5
|
import React
|
|
4
6
|
import RNCKakaoCore
|
|
5
7
|
import SafariServices
|
|
@@ -10,50 +12,159 @@ import SafariServices
|
|
|
10
12
|
@objc public func shareCustom(
|
|
11
13
|
_ templateId: Int64,
|
|
12
14
|
useWebBrowserIfKakaoTalkNotAvailable: Bool,
|
|
13
|
-
templateArgs: [String: String]
|
|
14
|
-
serverCallbackArgs: [String: String]
|
|
15
|
+
templateArgs: [String: String]?,
|
|
16
|
+
serverCallbackArgs: [String: String]?,
|
|
15
17
|
resolve: @escaping RCTPromiseResolveBlock,
|
|
16
18
|
reject: @escaping RCTPromiseRejectBlock
|
|
17
19
|
) {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
// 카카오톡으로 카카오톡 공유 가능
|
|
21
|
-
ShareApi.shared.shareCustom(
|
|
20
|
+
onMain {
|
|
21
|
+
self.runShare(
|
|
22
22
|
templateId: templateId,
|
|
23
|
+
useWebBrowserIfKakaoTalkNotAvailable: useWebBrowserIfKakaoTalkNotAvailable,
|
|
23
24
|
templateArgs: templateArgs,
|
|
24
|
-
serverCallbackArgs: serverCallbackArgs
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
serverCallbackArgs: serverCallbackArgs,
|
|
26
|
+
resolve: resolve,
|
|
27
|
+
reject: reject
|
|
28
|
+
)
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
@objc public func shareDefaultTemplate(
|
|
33
|
+
_ dict: [String: Any],
|
|
34
|
+
type: String,
|
|
35
|
+
useWebBrowserIfKakaoTalkNotAvailable: Bool,
|
|
36
|
+
serverCallbackArgs: [String: String]?,
|
|
37
|
+
resolve: @escaping RCTPromiseResolveBlock,
|
|
38
|
+
reject: @escaping RCTPromiseRejectBlock
|
|
39
|
+
) {
|
|
40
|
+
onMain {
|
|
41
|
+
self.runShare(
|
|
42
|
+
defaultTemplate: dict,
|
|
43
|
+
templateType: type,
|
|
44
|
+
useWebBrowserIfKakaoTalkNotAvailable: useWebBrowserIfKakaoTalkNotAvailable,
|
|
45
|
+
serverCallbackArgs: serverCallbackArgs,
|
|
46
|
+
resolve: resolve,
|
|
47
|
+
reject: reject
|
|
48
|
+
)
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
private func runShare(
|
|
53
|
+
templateId: Int64? = nil,
|
|
54
|
+
defaultTemplate: [String: Any?]? = nil,
|
|
55
|
+
templateType: String? = nil,
|
|
56
|
+
useWebBrowserIfKakaoTalkNotAvailable: Bool,
|
|
57
|
+
templateArgs: [String: String]? = nil,
|
|
58
|
+
serverCallbackArgs: [String: String]?,
|
|
59
|
+
resolve: @escaping RCTPromiseResolveBlock,
|
|
60
|
+
reject: @escaping RCTPromiseRejectBlock
|
|
61
|
+
) {
|
|
62
|
+
let callback = { (sharingResult: SharingResult?, error: Error?) in
|
|
63
|
+
if let error {
|
|
64
|
+
RNCKakaoUtil.reject(reject, error)
|
|
65
|
+
} else if let sharingResult {
|
|
66
|
+
UIApplication.shared.open(sharingResult.url, options: [:]) { success in
|
|
67
|
+
if success {
|
|
68
|
+
resolve(42)
|
|
69
|
+
} else {
|
|
70
|
+
RNCKakaoUtil.reject(reject, "sharingResult url open failed \(sharingResult.url)")
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
} else {
|
|
74
|
+
RNCKakaoUtil.reject(reject, "sharingResult url not found")
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
if ShareApi.isKakaoTalkSharingAvailable() {
|
|
79
|
+
if let templateId {
|
|
80
|
+
ShareApi.shared.shareCustom(
|
|
81
|
+
templateId: templateId,
|
|
82
|
+
templateArgs: templateArgs,
|
|
83
|
+
serverCallbackArgs: serverCallbackArgs,
|
|
84
|
+
completion: callback
|
|
85
|
+
)
|
|
86
|
+
} else if var defaultTemplate, let templateType {
|
|
87
|
+
do {
|
|
88
|
+
let templatable = try generateTemplatable(templateType, &defaultTemplate)
|
|
89
|
+
ShareApi.shared.shareDefault(templatable: templatable, completion: callback)
|
|
90
|
+
} catch {
|
|
27
91
|
RNCKakaoUtil.reject(reject, error)
|
|
28
|
-
}
|
|
29
|
-
|
|
92
|
+
}
|
|
93
|
+
} else {
|
|
94
|
+
RNCKakaoUtil.reject(reject, "templateId or defaultTemplate and templateClazz not passed")
|
|
95
|
+
}
|
|
96
|
+
} else if useWebBrowserIfKakaoTalkNotAvailable {
|
|
97
|
+
if let templateId {
|
|
98
|
+
if let url = ShareApi.shared.makeCustomUrl(
|
|
99
|
+
templateId: templateId,
|
|
100
|
+
templateArgs: templateArgs,
|
|
101
|
+
serverCallbackArgs: serverCallbackArgs
|
|
102
|
+
) {
|
|
103
|
+
let safariViewController = SFSafariViewController(url: url)
|
|
104
|
+
safariViewController.modalTransitionStyle = .crossDissolve
|
|
105
|
+
safariViewController.modalPresentationStyle = .overCurrentContext
|
|
106
|
+
RNCKakaoUtil.presentViewController(safariViewController) { success in
|
|
30
107
|
if success {
|
|
31
108
|
resolve(42)
|
|
32
109
|
} else {
|
|
33
|
-
RNCKakaoUtil.reject(reject, "
|
|
110
|
+
RNCKakaoUtil.reject(reject, "SFSafariViewController open failed")
|
|
34
111
|
}
|
|
35
112
|
}
|
|
36
113
|
} else {
|
|
37
|
-
RNCKakaoUtil.reject(reject, "
|
|
114
|
+
RNCKakaoUtil.reject(reject, "makeCustomUrl failed")
|
|
38
115
|
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
116
|
+
} else if var defaultTemplate, let templateType {
|
|
117
|
+
do {
|
|
118
|
+
let templatable = try generateTemplatable(templateType, &defaultTemplate)
|
|
119
|
+
|
|
120
|
+
if let url = ShareApi.shared.makeDefaultUrl(templatable: templatable) {
|
|
121
|
+
let safariViewController = SFSafariViewController(url: url)
|
|
122
|
+
safariViewController.modalTransitionStyle = .crossDissolve
|
|
123
|
+
safariViewController.modalPresentationStyle = .overCurrentContext
|
|
124
|
+
RNCKakaoUtil.presentViewController(safariViewController) { success in
|
|
125
|
+
if success {
|
|
126
|
+
resolve(42)
|
|
127
|
+
} else {
|
|
128
|
+
RNCKakaoUtil.reject(reject, "SFSafariViewController open failed")
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
} else {
|
|
132
|
+
RNCKakaoUtil.reject(reject, "makeDefaultUrl failed")
|
|
133
|
+
}
|
|
134
|
+
} catch {
|
|
135
|
+
RNCKakaoUtil.reject(reject, error)
|
|
51
136
|
}
|
|
52
137
|
} else {
|
|
53
|
-
RNCKakaoUtil.reject(reject, "
|
|
138
|
+
RNCKakaoUtil.reject(reject, "templateId or defaultTemplate and templateClazz not passed")
|
|
54
139
|
}
|
|
55
140
|
} else {
|
|
56
141
|
RNCKakaoUtil.reject(reject, "kakaotalk not available")
|
|
57
142
|
}
|
|
58
143
|
}
|
|
144
|
+
|
|
145
|
+
private func generateTemplatable(
|
|
146
|
+
_ type: String,
|
|
147
|
+
_ defaultTemplate: inout [String: Any?]
|
|
148
|
+
) throws -> Templatable {
|
|
149
|
+
defaultTemplate["objectType"] = type
|
|
150
|
+
let json = try JSONSerialization.data(
|
|
151
|
+
withJSONObject: defaultTemplate,
|
|
152
|
+
options: .prettyPrinted
|
|
153
|
+
)
|
|
154
|
+
if type == "feed" {
|
|
155
|
+
return try SdkJSONDecoder.custom.decode(FeedTemplate.self, from: json) as Templatable
|
|
156
|
+
} else if type == "list" {
|
|
157
|
+
return try SdkJSONDecoder.custom.decode(ListTemplate.self, from: json) as Templatable
|
|
158
|
+
} else if type == "location" {
|
|
159
|
+
return try SdkJSONDecoder.custom.decode(LocationTemplate.self, from: json) as Templatable
|
|
160
|
+
} else if type == "commerce" {
|
|
161
|
+
return try SdkJSONDecoder.custom.decode(CommerceTemplate.self, from: json) as Templatable
|
|
162
|
+
} else if type == "text" {
|
|
163
|
+
return try SdkJSONDecoder.custom.decode(TextTemplate.self, from: json) as Templatable
|
|
164
|
+
} else if type == "calendar" {
|
|
165
|
+
return try SdkJSONDecoder.custom.decode(CalendarTemplate.self, from: json) as Templatable
|
|
166
|
+
} else {
|
|
167
|
+
throw SdkError.ApiFailed(reason: .BadParameter, errorInfo: nil)
|
|
168
|
+
}
|
|
169
|
+
}
|
|
59
170
|
}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -3,7 +3,13 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.shareCalendarTemplate = shareCalendarTemplate;
|
|
7
|
+
exports.shareCommerceTemplate = shareCommerceTemplate;
|
|
6
8
|
exports.shareCustom = shareCustom;
|
|
9
|
+
exports.shareFeedTemplate = shareFeedTemplate;
|
|
10
|
+
exports.shareListTemplate = shareListTemplate;
|
|
11
|
+
exports.shareLocationTemplate = shareLocationTemplate;
|
|
12
|
+
exports.shareTextTemplate = shareTextTemplate;
|
|
7
13
|
var _reactNative = require("react-native");
|
|
8
14
|
const LINKING_ERROR = "The package '@react-native-kakao/share' doesn't seem to be linked. Make sure: \n\n" + _reactNative.Platform.select({
|
|
9
15
|
ios: "- You have run 'pod install'\n",
|
|
@@ -26,4 +32,46 @@ function shareCustom({
|
|
|
26
32
|
}) {
|
|
27
33
|
return Native.shareCustom(templateId, useWebBrowserIfKakaoTalkNotAvailable, templateArgs, serverCallbackArgs);
|
|
28
34
|
}
|
|
35
|
+
function shareFeedTemplate({
|
|
36
|
+
template,
|
|
37
|
+
useWebBrowserIfKakaoTalkNotAvailable = true,
|
|
38
|
+
serverCallbackArgs = {}
|
|
39
|
+
}) {
|
|
40
|
+
return Native.shareFeedTemplate(template, useWebBrowserIfKakaoTalkNotAvailable, serverCallbackArgs);
|
|
41
|
+
}
|
|
42
|
+
function shareListTemplate({
|
|
43
|
+
template,
|
|
44
|
+
useWebBrowserIfKakaoTalkNotAvailable = true,
|
|
45
|
+
serverCallbackArgs = {}
|
|
46
|
+
}) {
|
|
47
|
+
return Native.shareListTemplate(template, useWebBrowserIfKakaoTalkNotAvailable, serverCallbackArgs);
|
|
48
|
+
}
|
|
49
|
+
function shareLocationTemplate({
|
|
50
|
+
template,
|
|
51
|
+
useWebBrowserIfKakaoTalkNotAvailable = true,
|
|
52
|
+
serverCallbackArgs = {}
|
|
53
|
+
}) {
|
|
54
|
+
return Native.shareLocationTemplate(template, useWebBrowserIfKakaoTalkNotAvailable, serverCallbackArgs);
|
|
55
|
+
}
|
|
56
|
+
function shareCommerceTemplate({
|
|
57
|
+
template,
|
|
58
|
+
useWebBrowserIfKakaoTalkNotAvailable = true,
|
|
59
|
+
serverCallbackArgs = {}
|
|
60
|
+
}) {
|
|
61
|
+
return Native.shareCommerceTemplate(template, useWebBrowserIfKakaoTalkNotAvailable, serverCallbackArgs);
|
|
62
|
+
}
|
|
63
|
+
function shareTextTemplate({
|
|
64
|
+
template,
|
|
65
|
+
useWebBrowserIfKakaoTalkNotAvailable = true,
|
|
66
|
+
serverCallbackArgs = {}
|
|
67
|
+
}) {
|
|
68
|
+
return Native.shareTextTemplate(template, useWebBrowserIfKakaoTalkNotAvailable, serverCallbackArgs);
|
|
69
|
+
}
|
|
70
|
+
function shareCalendarTemplate({
|
|
71
|
+
template,
|
|
72
|
+
useWebBrowserIfKakaoTalkNotAvailable = true,
|
|
73
|
+
serverCallbackArgs = {}
|
|
74
|
+
}) {
|
|
75
|
+
return Native.shareCalendarTemplate(template, useWebBrowserIfKakaoTalkNotAvailable, serverCallbackArgs);
|
|
76
|
+
}
|
|
29
77
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","isTurboModuleEnabled","global","__turboModuleProxy","Module","NativeModules","RNCKakaoShare","Native","Proxy","get","Error","shareCustom","templateId","useWebBrowserIfKakaoTalkNotAvailable","serverCallbackArgs","templateArgs"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","isTurboModuleEnabled","global","__turboModuleProxy","Module","NativeModules","RNCKakaoShare","Native","Proxy","get","Error","shareCustom","templateId","useWebBrowserIfKakaoTalkNotAvailable","serverCallbackArgs","templateArgs","shareFeedTemplate","template","shareListTemplate","shareLocationTemplate","shareCommerceTemplate","shareTextTemplate","shareCalendarTemplate"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAkCA,MAAMC,aAAa,GACjB,oFAAoF,GACpFC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;;AAEjC;AACA,MAAMC,oBAAoB,GAAGC,MAAM,CAACC,kBAAkB,IAAI,IAAI;AAE9D,MAAMC,MAAM,GAAGH,oBAAoB,GAC/BN,OAAO,CAAC,yBAAyB,CAAC,CAACK,OAAO,GAC1CK,0BAAa,CAACC,aAAa;AAE/B,MAAMC,MAAY,GAAGH,MAAM,GACvBA,MAAM,GACN,IAAII,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACd,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEE,SAASe,WAAWA,CAAC;EAC1BC,UAAU;EACVC,oCAAoC,GAAG,IAAI;EAC3CC,kBAAkB,GAAG,CAAC,CAAC;EACvBC,YAAY,GAAG,CAAC;AAMlB,CAAC,EAAE;EACD,OAAOR,MAAM,CAACI,WAAW,CACvBC,UAAU,EACVC,oCAAoC,EACpCE,YAAY,EACZD,kBACF,CAAC;AACH;AAEO,SAASE,iBAAiBA,CAAC;EAChCC,QAAQ;EACRJ,oCAAoC,GAAG,IAAI;EAC3CC,kBAAkB,GAAG,CAAC;AAKxB,CAAC,EAAE;EACD,OAAOP,MAAM,CAACS,iBAAiB,CAC7BC,QAAQ,EACRJ,oCAAoC,EACpCC,kBACF,CAAC;AACH;AAEO,SAASI,iBAAiBA,CAAC;EAChCD,QAAQ;EACRJ,oCAAoC,GAAG,IAAI;EAC3CC,kBAAkB,GAAG,CAAC;AAKxB,CAAC,EAAE;EACD,OAAOP,MAAM,CAACW,iBAAiB,CAC7BD,QAAQ,EACRJ,oCAAoC,EACpCC,kBACF,CAAC;AACH;AAEO,SAASK,qBAAqBA,CAAC;EACpCF,QAAQ;EACRJ,oCAAoC,GAAG,IAAI;EAC3CC,kBAAkB,GAAG,CAAC;AAKxB,CAAC,EAAE;EACD,OAAOP,MAAM,CAACY,qBAAqB,CACjCF,QAAQ,EACRJ,oCAAoC,EACpCC,kBACF,CAAC;AACH;AAEO,SAASM,qBAAqBA,CAAC;EACpCH,QAAQ;EACRJ,oCAAoC,GAAG,IAAI;EAC3CC,kBAAkB,GAAG,CAAC;AAKxB,CAAC,EAAE;EACD,OAAOP,MAAM,CAACa,qBAAqB,CACjCH,QAAQ,EACRJ,oCAAoC,EACpCC,kBACF,CAAC;AACH;AAEO,SAASO,iBAAiBA,CAAC;EAChCJ,QAAQ;EACRJ,oCAAoC,GAAG,IAAI;EAC3CC,kBAAkB,GAAG,CAAC;AAKxB,CAAC,EAAE;EACD,OAAOP,MAAM,CAACc,iBAAiB,CAC7BJ,QAAQ,EACRJ,oCAAoC,EACpCC,kBACF,CAAC;AACH;AAEO,SAASQ,qBAAqBA,CAAC;EACpCL,QAAQ;EACRJ,oCAAoC,GAAG,IAAI;EAC3CC,kBAAkB,GAAG,CAAC;AAKxB,CAAC,EAAE;EACD,OAAOP,MAAM,CAACe,qBAAqB,CACjCL,QAAQ,EACRJ,oCAAoC,EACpCC,kBACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -5,5 +5,118 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _reactNative = require("react-native");
|
|
8
|
+
/**
|
|
9
|
+
* 메시지에서 콘텐츠 영역이나 버튼 클릭 시에 이동되는 링크 정보 오브젝트.
|
|
10
|
+
*
|
|
11
|
+
* @param webUrl PC 버전 카카오톡에서 사용하는 웹 링크 URL.
|
|
12
|
+
* @param mobileWebUrl 모바일 카카오톡에서 사용하는 웹 링크 URL.
|
|
13
|
+
* @param androidExecutionParams 안드로이드 카카오톡에서 사용하는 앱 링크 URL에 추가할 파라미터.
|
|
14
|
+
* @param iosExecutionParams iOS 카카오톡에서 사용하는 앱 링크 URL에 추가할 파라미터.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* 콘텐츠의 내용을 담고 있는 오브젝트.
|
|
18
|
+
*
|
|
19
|
+
* @param title 콘텐츠의 타이틀
|
|
20
|
+
* @param imageUrl 콘텐츠의 이미지 URL
|
|
21
|
+
* @param link 콘텐츠 클릭 시 이동할 링크 정보
|
|
22
|
+
* @param imageWidth 콘텐츠의 이미지 너비 (단위: 픽셀)
|
|
23
|
+
* @param imageHeight 콘텐츠의 이미지 높이 (단위: 픽셀)
|
|
24
|
+
*/
|
|
25
|
+
/**
|
|
26
|
+
* 아이템 목록 형태의 콘텐츠의 내용을 담고 있는 오브젝트.
|
|
27
|
+
*
|
|
28
|
+
* @param item 아이템 이름. 최대 6자까지 출력
|
|
29
|
+
* @param itemOp 아이템 가격. 사용 가능한 문자: 숫자, 통화기호, 쉼표(,), 마침표(.), 띄어쓰기 소수 단위 금액을 포함한 경우, 소수점 아래 2자리까지만 사용 권장.
|
|
30
|
+
*/
|
|
31
|
+
/**
|
|
32
|
+
* 아이템 목록 형태의 콘텐츠의 내용을 담고 있는 오브젝트.
|
|
33
|
+
*
|
|
34
|
+
* @param profileText 헤더 또는 프로필 영역에 출력될 텍스트. [profileImageUrl] 값이 없을 경우, 볼드(Bold)체로 된 제목만 담은 헤더 형태로 출력됨, 최대 16자까지 출력
|
|
35
|
+
* @param profileImageUrl 프로필 영역에 출력될 이미지. 작은 원형의 프로필 사진 형태로 출력됨
|
|
36
|
+
* @param titleImageText 이미지 아이템의 제목. 최대 2줄, 최대 24자까지 출력
|
|
37
|
+
* @param titleImageUrl 이미지 아이템의 이미지. iOS 108*108, Android 98*98 크기 1:1 비율이 아닌 이미지는 센터 크롭(Center crop) 방식으로 재조정됨
|
|
38
|
+
* @param titleImageCategory 이미지 아이템의 제목 아래에 회색 글씨로 출력되는 카테고리 정보. 최대 한 줄, 최대 14자까지 출력
|
|
39
|
+
* @param items 각 텍스트 아이템 정보. 아이템 이름과 가격에 해당하는 [ItemInfo.item], [ItemInfo.itemOp]를 포함한 JSON 배열, 최대 5개의 아이템 지원
|
|
40
|
+
* @param sum 주문금액, 결제금액 등 아이템 영역의 요약 정보 제목. 텍스트 아이템 영역 아래에 최대 6자까지 출력
|
|
41
|
+
* @param sumOp 아이템 영역의 가격 합산 정보.텍스트 아이템 영역 아래에 볼드체로 최대 11자까지 출력
|
|
42
|
+
*/
|
|
43
|
+
/**
|
|
44
|
+
* 좋아요 수, 댓글 수 등의 소셜 정보를 표현하기 위해 사용되는 오브젝트.
|
|
45
|
+
* @param likeCount 콘텐츠의 좋아요 수
|
|
46
|
+
* @param commentCount 콘텐츠의 댓글 수
|
|
47
|
+
* @param sharedCount 콘텐츠의 공유 수
|
|
48
|
+
* @param viewCount 콘텐츠의 조회 수
|
|
49
|
+
* @param subscriberCount 콘텐츠의 구독 수
|
|
50
|
+
*/
|
|
51
|
+
/**
|
|
52
|
+
* 가격 정보를 표현하기 위해 사용되는 오브젝트.
|
|
53
|
+
*
|
|
54
|
+
* @param regularPrice 정상가격
|
|
55
|
+
* @param discountPrice 할인된 가격
|
|
56
|
+
* @param discountRate 할인율
|
|
57
|
+
* @param fixedDiscountPrice 정액 할인 가격
|
|
58
|
+
* @param productName 상품명
|
|
59
|
+
* @param currencyUnit 가격 단위
|
|
60
|
+
* @param currencyUnitPosition 가격 단위 위치 (0: 가격뒤에 단위 표시, 1 : 가격앞에 단위 표시)
|
|
61
|
+
*/
|
|
62
|
+
/**
|
|
63
|
+
* 메시지 하단에 추가되는 버튼 오브젝트.
|
|
64
|
+
*
|
|
65
|
+
* @param title 버튼의 타이틀
|
|
66
|
+
* @param link 버튼 클릭 시 이동할 링크 정보
|
|
67
|
+
*/
|
|
68
|
+
/**
|
|
69
|
+
* 기본 템플릿으로 제공되는 피드 템플릿 클래스.
|
|
70
|
+
*
|
|
71
|
+
* @property content 메시지의 메인 콘텐츠 정보
|
|
72
|
+
* @property itemContent 아이템 영역에 포함할 콘텐츠, [ItemContent] 참고
|
|
73
|
+
* @property social 콘텐츠에 대한 소셜 정보
|
|
74
|
+
* @property buttons 버튼 목록, 최대 2개. 버튼 타이틀과 링크를 변경하고 싶을 때, 버튼 두 개를 넣고 싶을 때 사용
|
|
75
|
+
* @property buttonTitle 기본 버튼 타이틀(자세히 보기)을 변경하고 싶을 때 설정. 이 값을 사용하면 클릭 시 이동할 링크는 content 에 입력된 값이 사용됨.
|
|
76
|
+
*/
|
|
77
|
+
/**
|
|
78
|
+
* 여러 개의 컨텐츠를 리스트 형태로 보여줄 수 있는 메시지 템플릿 클래스.
|
|
79
|
+
*
|
|
80
|
+
* @property headerTitle 리스트 상단에 노출되는 헤더 타이틀 (최대 200자)
|
|
81
|
+
* @property headerLink 헤더 타이틀 내용에 해당하는 링크 정보
|
|
82
|
+
* @property contents 리스트에 노출되는 컨텐츠 목록 (최소 2개, 최대 3개)
|
|
83
|
+
* @property buttons 버튼 목록. 버튼 타이틀과 링크를 변경하고 싶을때, 버튼 두개를 사용하고 싶을때 사용. (최대 2개)
|
|
84
|
+
* @property buttonTitle 기본 버튼 타이틀(자세히 보기)을 변경하고 싶을 때 설정. 이 값을 사용하면 클릭 시 이동할 링크는 content 에 입력된 값이 사용됨.
|
|
85
|
+
*/
|
|
86
|
+
/**
|
|
87
|
+
* 주소를 이용하여 특정 위치를 공유할 수 있는 메시지 템플릿.
|
|
88
|
+
*
|
|
89
|
+
* @property address 공유할 위치의 주소. 예) 경기 성남시 분당구 판교역로 235
|
|
90
|
+
* @property addressTitle 카카오톡 내의 지도 뷰에서 사용되는 타이틀. 예) 카카오판교오피스
|
|
91
|
+
* @property content 위치에 대해 설명하는 컨텐츠 정보
|
|
92
|
+
* @property social 댓글수, 좋아요수 등, 컨텐츠에 대한 소셜 정보
|
|
93
|
+
* @property buttons 버튼 목록. 기본 버튼의 타이틀 외에 링크도 변경하고 싶을 때 설정. (최대 1개, 오른쪽 위치 보기 버튼은 고정)
|
|
94
|
+
* @property buttonTitle 기본 버튼 타이틀(자세히 보기)을 변경하고 싶을 때 설정. 이 값을 사용하면 클릭 시 이동할 링크는 content에 입력된 값이 사용됨.
|
|
95
|
+
*/
|
|
96
|
+
/**
|
|
97
|
+
* 기본 템플릿으로 제공되는 커머스 템플릿 클래스
|
|
98
|
+
*
|
|
99
|
+
* @property content 메시지의 내용. 텍스트 및 이미지, 링크 정보 포함.
|
|
100
|
+
* @property commerce 컨텐츠에 대한 가격 정보
|
|
101
|
+
* @property buttons 버튼 목록. 버튼 타이틀과 링크를 변경하고 싶을때, 버튼 두개를 사용하고 싶을때 사용. (최대 2개)
|
|
102
|
+
* @property buttonTitle 기본 버튼 타이틀(자세히 보기)을 변경하고 싶을 때 설정. 이 값을 사용하면 클릭 시 이동할 링크는 content 에 입력된 값이 사용됨.
|
|
103
|
+
*/
|
|
104
|
+
/**
|
|
105
|
+
* 텍스트형 기본 템플릿 클래스
|
|
106
|
+
*
|
|
107
|
+
* @property text 메시지에 들어갈 텍스트 (최대 200자)
|
|
108
|
+
* @property link 컨텐츠 클릭 시 이동할 링크 정보
|
|
109
|
+
* @property buttons 버튼 목록. 버튼 타이틀과 링크를 변경하고 싶을때, 버튼 두개를 사용하고 싶을때 사용. (최대 2개)
|
|
110
|
+
* @property buttonTitle 기본 버튼 타이틀(자세히 보기)을 변경하고 싶을 때 설정. 이 값을 사용하면 클릭 시 이동할 링크는 content에 입력된 값이 사용됨.
|
|
111
|
+
*/
|
|
112
|
+
/**
|
|
113
|
+
* 톡캘린더의 구독 캘린더 또는 공개 일정 정보를 포함한 메시지 형식입니다.
|
|
114
|
+
* 카카오톡 채널의 구독 캘린더 또는 공개 일정을 사용자의 톡캘린더에 추가하는 기능을 제공합니다.
|
|
115
|
+
*
|
|
116
|
+
* @property id 구독 캘린더 또는 공개 일정 ID
|
|
117
|
+
* @property idType id의 타입, event(공개 일정) 또는 calendar(구독 캘린더) 중 하나
|
|
118
|
+
* @property content 일정에 대해 설명하는 컨텐츠 정보
|
|
119
|
+
* @property buttons 버튼 목록. 기본 버튼의 타이틀 외에 링크도 변경하고 싶을 때 설정. (최대 1개, 오른쪽 위치 보기 버튼은 고정)
|
|
120
|
+
*/
|
|
8
121
|
var _default = exports.default = _reactNative.TurboModuleRegistry.getEnforcing('RNCKakaoShare');
|
|
9
122
|
//# sourceMappingURL=NativeKakaoShare.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../src","sources":["spec/NativeKakaoShare.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../src","sources":["spec/NativeKakaoShare.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAUA;AACA;AACA;AACA;AACA;AACA;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAWA;AACA;AACA;AACA;AACA;AACA;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GA6DeC,gCAAmB,CAACC,YAAY,CAAO,eAAe,CAAC","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -20,4 +20,46 @@ export function shareCustom({
|
|
|
20
20
|
}) {
|
|
21
21
|
return Native.shareCustom(templateId, useWebBrowserIfKakaoTalkNotAvailable, templateArgs, serverCallbackArgs);
|
|
22
22
|
}
|
|
23
|
+
export function shareFeedTemplate({
|
|
24
|
+
template,
|
|
25
|
+
useWebBrowserIfKakaoTalkNotAvailable = true,
|
|
26
|
+
serverCallbackArgs = {}
|
|
27
|
+
}) {
|
|
28
|
+
return Native.shareFeedTemplate(template, useWebBrowserIfKakaoTalkNotAvailable, serverCallbackArgs);
|
|
29
|
+
}
|
|
30
|
+
export function shareListTemplate({
|
|
31
|
+
template,
|
|
32
|
+
useWebBrowserIfKakaoTalkNotAvailable = true,
|
|
33
|
+
serverCallbackArgs = {}
|
|
34
|
+
}) {
|
|
35
|
+
return Native.shareListTemplate(template, useWebBrowserIfKakaoTalkNotAvailable, serverCallbackArgs);
|
|
36
|
+
}
|
|
37
|
+
export function shareLocationTemplate({
|
|
38
|
+
template,
|
|
39
|
+
useWebBrowserIfKakaoTalkNotAvailable = true,
|
|
40
|
+
serverCallbackArgs = {}
|
|
41
|
+
}) {
|
|
42
|
+
return Native.shareLocationTemplate(template, useWebBrowserIfKakaoTalkNotAvailable, serverCallbackArgs);
|
|
43
|
+
}
|
|
44
|
+
export function shareCommerceTemplate({
|
|
45
|
+
template,
|
|
46
|
+
useWebBrowserIfKakaoTalkNotAvailable = true,
|
|
47
|
+
serverCallbackArgs = {}
|
|
48
|
+
}) {
|
|
49
|
+
return Native.shareCommerceTemplate(template, useWebBrowserIfKakaoTalkNotAvailable, serverCallbackArgs);
|
|
50
|
+
}
|
|
51
|
+
export function shareTextTemplate({
|
|
52
|
+
template,
|
|
53
|
+
useWebBrowserIfKakaoTalkNotAvailable = true,
|
|
54
|
+
serverCallbackArgs = {}
|
|
55
|
+
}) {
|
|
56
|
+
return Native.shareTextTemplate(template, useWebBrowserIfKakaoTalkNotAvailable, serverCallbackArgs);
|
|
57
|
+
}
|
|
58
|
+
export function shareCalendarTemplate({
|
|
59
|
+
template,
|
|
60
|
+
useWebBrowserIfKakaoTalkNotAvailable = true,
|
|
61
|
+
serverCallbackArgs = {}
|
|
62
|
+
}) {
|
|
63
|
+
return Native.shareCalendarTemplate(template, useWebBrowserIfKakaoTalkNotAvailable, serverCallbackArgs);
|
|
64
|
+
}
|
|
23
65
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","Platform","LINKING_ERROR","select","ios","default","isTurboModuleEnabled","global","__turboModuleProxy","Module","require","RNCKakaoShare","Native","Proxy","get","Error","shareCustom","templateId","useWebBrowserIfKakaoTalkNotAvailable","serverCallbackArgs","templateArgs"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;
|
|
1
|
+
{"version":3,"names":["NativeModules","Platform","LINKING_ERROR","select","ios","default","isTurboModuleEnabled","global","__turboModuleProxy","Module","require","RNCKakaoShare","Native","Proxy","get","Error","shareCustom","templateId","useWebBrowserIfKakaoTalkNotAvailable","serverCallbackArgs","templateArgs","shareFeedTemplate","template","shareListTemplate","shareLocationTemplate","shareCommerceTemplate","shareTextTemplate","shareCalendarTemplate"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAkCtD,MAAMC,aAAa,GACjB,oFAAoF,GACpFD,QAAQ,CAACE,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;;AAEjC;AACA,MAAMC,oBAAoB,GAAGC,MAAM,CAACC,kBAAkB,IAAI,IAAI;AAE9D,MAAMC,MAAM,GAAGH,oBAAoB,GAC/BI,OAAO,CAAC,yBAAyB,CAAC,CAACL,OAAO,GAC1CL,aAAa,CAACW,aAAa;AAE/B,MAAMC,MAAY,GAAGH,MAAM,GACvBA,MAAM,GACN,IAAII,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACb,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEL,OAAO,SAASc,WAAWA,CAAC;EAC1BC,UAAU;EACVC,oCAAoC,GAAG,IAAI;EAC3CC,kBAAkB,GAAG,CAAC,CAAC;EACvBC,YAAY,GAAG,CAAC;AAMlB,CAAC,EAAE;EACD,OAAOR,MAAM,CAACI,WAAW,CACvBC,UAAU,EACVC,oCAAoC,EACpCE,YAAY,EACZD,kBACF,CAAC;AACH;AAEA,OAAO,SAASE,iBAAiBA,CAAC;EAChCC,QAAQ;EACRJ,oCAAoC,GAAG,IAAI;EAC3CC,kBAAkB,GAAG,CAAC;AAKxB,CAAC,EAAE;EACD,OAAOP,MAAM,CAACS,iBAAiB,CAC7BC,QAAQ,EACRJ,oCAAoC,EACpCC,kBACF,CAAC;AACH;AAEA,OAAO,SAASI,iBAAiBA,CAAC;EAChCD,QAAQ;EACRJ,oCAAoC,GAAG,IAAI;EAC3CC,kBAAkB,GAAG,CAAC;AAKxB,CAAC,EAAE;EACD,OAAOP,MAAM,CAACW,iBAAiB,CAC7BD,QAAQ,EACRJ,oCAAoC,EACpCC,kBACF,CAAC;AACH;AAEA,OAAO,SAASK,qBAAqBA,CAAC;EACpCF,QAAQ;EACRJ,oCAAoC,GAAG,IAAI;EAC3CC,kBAAkB,GAAG,CAAC;AAKxB,CAAC,EAAE;EACD,OAAOP,MAAM,CAACY,qBAAqB,CACjCF,QAAQ,EACRJ,oCAAoC,EACpCC,kBACF,CAAC;AACH;AAEA,OAAO,SAASM,qBAAqBA,CAAC;EACpCH,QAAQ;EACRJ,oCAAoC,GAAG,IAAI;EAC3CC,kBAAkB,GAAG,CAAC;AAKxB,CAAC,EAAE;EACD,OAAOP,MAAM,CAACa,qBAAqB,CACjCH,QAAQ,EACRJ,oCAAoC,EACpCC,kBACF,CAAC;AACH;AAEA,OAAO,SAASO,iBAAiBA,CAAC;EAChCJ,QAAQ;EACRJ,oCAAoC,GAAG,IAAI;EAC3CC,kBAAkB,GAAG,CAAC;AAKxB,CAAC,EAAE;EACD,OAAOP,MAAM,CAACc,iBAAiB,CAC7BJ,QAAQ,EACRJ,oCAAoC,EACpCC,kBACF,CAAC;AACH;AAEA,OAAO,SAASQ,qBAAqBA,CAAC;EACpCL,QAAQ;EACRJ,oCAAoC,GAAG,IAAI;EAC3CC,kBAAkB,GAAG,CAAC;AAKxB,CAAC,EAAE;EACD,OAAOP,MAAM,CAACe,qBAAqB,CACjCL,QAAQ,EACRJ,oCAAoC,EACpCC,kBACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -1,3 +1,130 @@
|
|
|
1
1
|
import { TurboModuleRegistry } from 'react-native';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 메시지에서 콘텐츠 영역이나 버튼 클릭 시에 이동되는 링크 정보 오브젝트.
|
|
5
|
+
*
|
|
6
|
+
* @param webUrl PC 버전 카카오톡에서 사용하는 웹 링크 URL.
|
|
7
|
+
* @param mobileWebUrl 모바일 카카오톡에서 사용하는 웹 링크 URL.
|
|
8
|
+
* @param androidExecutionParams 안드로이드 카카오톡에서 사용하는 앱 링크 URL에 추가할 파라미터.
|
|
9
|
+
* @param iosExecutionParams iOS 카카오톡에서 사용하는 앱 링크 URL에 추가할 파라미터.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* 콘텐츠의 내용을 담고 있는 오브젝트.
|
|
14
|
+
*
|
|
15
|
+
* @param title 콘텐츠의 타이틀
|
|
16
|
+
* @param imageUrl 콘텐츠의 이미지 URL
|
|
17
|
+
* @param link 콘텐츠 클릭 시 이동할 링크 정보
|
|
18
|
+
* @param imageWidth 콘텐츠의 이미지 너비 (단위: 픽셀)
|
|
19
|
+
* @param imageHeight 콘텐츠의 이미지 높이 (단위: 픽셀)
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* 아이템 목록 형태의 콘텐츠의 내용을 담고 있는 오브젝트.
|
|
24
|
+
*
|
|
25
|
+
* @param item 아이템 이름. 최대 6자까지 출력
|
|
26
|
+
* @param itemOp 아이템 가격. 사용 가능한 문자: 숫자, 통화기호, 쉼표(,), 마침표(.), 띄어쓰기 소수 단위 금액을 포함한 경우, 소수점 아래 2자리까지만 사용 권장.
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* 아이템 목록 형태의 콘텐츠의 내용을 담고 있는 오브젝트.
|
|
31
|
+
*
|
|
32
|
+
* @param profileText 헤더 또는 프로필 영역에 출력될 텍스트. [profileImageUrl] 값이 없을 경우, 볼드(Bold)체로 된 제목만 담은 헤더 형태로 출력됨, 최대 16자까지 출력
|
|
33
|
+
* @param profileImageUrl 프로필 영역에 출력될 이미지. 작은 원형의 프로필 사진 형태로 출력됨
|
|
34
|
+
* @param titleImageText 이미지 아이템의 제목. 최대 2줄, 최대 24자까지 출력
|
|
35
|
+
* @param titleImageUrl 이미지 아이템의 이미지. iOS 108*108, Android 98*98 크기 1:1 비율이 아닌 이미지는 센터 크롭(Center crop) 방식으로 재조정됨
|
|
36
|
+
* @param titleImageCategory 이미지 아이템의 제목 아래에 회색 글씨로 출력되는 카테고리 정보. 최대 한 줄, 최대 14자까지 출력
|
|
37
|
+
* @param items 각 텍스트 아이템 정보. 아이템 이름과 가격에 해당하는 [ItemInfo.item], [ItemInfo.itemOp]를 포함한 JSON 배열, 최대 5개의 아이템 지원
|
|
38
|
+
* @param sum 주문금액, 결제금액 등 아이템 영역의 요약 정보 제목. 텍스트 아이템 영역 아래에 최대 6자까지 출력
|
|
39
|
+
* @param sumOp 아이템 영역의 가격 합산 정보.텍스트 아이템 영역 아래에 볼드체로 최대 11자까지 출력
|
|
40
|
+
*/
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* 좋아요 수, 댓글 수 등의 소셜 정보를 표현하기 위해 사용되는 오브젝트.
|
|
44
|
+
* @param likeCount 콘텐츠의 좋아요 수
|
|
45
|
+
* @param commentCount 콘텐츠의 댓글 수
|
|
46
|
+
* @param sharedCount 콘텐츠의 공유 수
|
|
47
|
+
* @param viewCount 콘텐츠의 조회 수
|
|
48
|
+
* @param subscriberCount 콘텐츠의 구독 수
|
|
49
|
+
*/
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* 가격 정보를 표현하기 위해 사용되는 오브젝트.
|
|
53
|
+
*
|
|
54
|
+
* @param regularPrice 정상가격
|
|
55
|
+
* @param discountPrice 할인된 가격
|
|
56
|
+
* @param discountRate 할인율
|
|
57
|
+
* @param fixedDiscountPrice 정액 할인 가격
|
|
58
|
+
* @param productName 상품명
|
|
59
|
+
* @param currencyUnit 가격 단위
|
|
60
|
+
* @param currencyUnitPosition 가격 단위 위치 (0: 가격뒤에 단위 표시, 1 : 가격앞에 단위 표시)
|
|
61
|
+
*/
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* 메시지 하단에 추가되는 버튼 오브젝트.
|
|
65
|
+
*
|
|
66
|
+
* @param title 버튼의 타이틀
|
|
67
|
+
* @param link 버튼 클릭 시 이동할 링크 정보
|
|
68
|
+
*/
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* 기본 템플릿으로 제공되는 피드 템플릿 클래스.
|
|
72
|
+
*
|
|
73
|
+
* @property content 메시지의 메인 콘텐츠 정보
|
|
74
|
+
* @property itemContent 아이템 영역에 포함할 콘텐츠, [ItemContent] 참고
|
|
75
|
+
* @property social 콘텐츠에 대한 소셜 정보
|
|
76
|
+
* @property buttons 버튼 목록, 최대 2개. 버튼 타이틀과 링크를 변경하고 싶을 때, 버튼 두 개를 넣고 싶을 때 사용
|
|
77
|
+
* @property buttonTitle 기본 버튼 타이틀(자세히 보기)을 변경하고 싶을 때 설정. 이 값을 사용하면 클릭 시 이동할 링크는 content 에 입력된 값이 사용됨.
|
|
78
|
+
*/
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* 여러 개의 컨텐츠를 리스트 형태로 보여줄 수 있는 메시지 템플릿 클래스.
|
|
82
|
+
*
|
|
83
|
+
* @property headerTitle 리스트 상단에 노출되는 헤더 타이틀 (최대 200자)
|
|
84
|
+
* @property headerLink 헤더 타이틀 내용에 해당하는 링크 정보
|
|
85
|
+
* @property contents 리스트에 노출되는 컨텐츠 목록 (최소 2개, 최대 3개)
|
|
86
|
+
* @property buttons 버튼 목록. 버튼 타이틀과 링크를 변경하고 싶을때, 버튼 두개를 사용하고 싶을때 사용. (최대 2개)
|
|
87
|
+
* @property buttonTitle 기본 버튼 타이틀(자세히 보기)을 변경하고 싶을 때 설정. 이 값을 사용하면 클릭 시 이동할 링크는 content 에 입력된 값이 사용됨.
|
|
88
|
+
*/
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* 주소를 이용하여 특정 위치를 공유할 수 있는 메시지 템플릿.
|
|
92
|
+
*
|
|
93
|
+
* @property address 공유할 위치의 주소. 예) 경기 성남시 분당구 판교역로 235
|
|
94
|
+
* @property addressTitle 카카오톡 내의 지도 뷰에서 사용되는 타이틀. 예) 카카오판교오피스
|
|
95
|
+
* @property content 위치에 대해 설명하는 컨텐츠 정보
|
|
96
|
+
* @property social 댓글수, 좋아요수 등, 컨텐츠에 대한 소셜 정보
|
|
97
|
+
* @property buttons 버튼 목록. 기본 버튼의 타이틀 외에 링크도 변경하고 싶을 때 설정. (최대 1개, 오른쪽 위치 보기 버튼은 고정)
|
|
98
|
+
* @property buttonTitle 기본 버튼 타이틀(자세히 보기)을 변경하고 싶을 때 설정. 이 값을 사용하면 클릭 시 이동할 링크는 content에 입력된 값이 사용됨.
|
|
99
|
+
*/
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* 기본 템플릿으로 제공되는 커머스 템플릿 클래스
|
|
103
|
+
*
|
|
104
|
+
* @property content 메시지의 내용. 텍스트 및 이미지, 링크 정보 포함.
|
|
105
|
+
* @property commerce 컨텐츠에 대한 가격 정보
|
|
106
|
+
* @property buttons 버튼 목록. 버튼 타이틀과 링크를 변경하고 싶을때, 버튼 두개를 사용하고 싶을때 사용. (최대 2개)
|
|
107
|
+
* @property buttonTitle 기본 버튼 타이틀(자세히 보기)을 변경하고 싶을 때 설정. 이 값을 사용하면 클릭 시 이동할 링크는 content 에 입력된 값이 사용됨.
|
|
108
|
+
*/
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* 텍스트형 기본 템플릿 클래스
|
|
112
|
+
*
|
|
113
|
+
* @property text 메시지에 들어갈 텍스트 (최대 200자)
|
|
114
|
+
* @property link 컨텐츠 클릭 시 이동할 링크 정보
|
|
115
|
+
* @property buttons 버튼 목록. 버튼 타이틀과 링크를 변경하고 싶을때, 버튼 두개를 사용하고 싶을때 사용. (최대 2개)
|
|
116
|
+
* @property buttonTitle 기본 버튼 타이틀(자세히 보기)을 변경하고 싶을 때 설정. 이 값을 사용하면 클릭 시 이동할 링크는 content에 입력된 값이 사용됨.
|
|
117
|
+
*/
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* 톡캘린더의 구독 캘린더 또는 공개 일정 정보를 포함한 메시지 형식입니다.
|
|
121
|
+
* 카카오톡 채널의 구독 캘린더 또는 공개 일정을 사용자의 톡캘린더에 추가하는 기능을 제공합니다.
|
|
122
|
+
*
|
|
123
|
+
* @property id 구독 캘린더 또는 공개 일정 ID
|
|
124
|
+
* @property idType id의 타입, event(공개 일정) 또는 calendar(구독 캘린더) 중 하나
|
|
125
|
+
* @property content 일정에 대해 설명하는 컨텐츠 정보
|
|
126
|
+
* @property buttons 버튼 목록. 기본 버튼의 타이틀 외에 링크도 변경하고 싶을 때 설정. (최대 1개, 오른쪽 위치 보기 버튼은 고정)
|
|
127
|
+
*/
|
|
128
|
+
|
|
2
129
|
export default TurboModuleRegistry.getEnforcing('RNCKakaoShare');
|
|
3
130
|
//# sourceMappingURL=NativeKakaoShare.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../src","sources":["spec/NativeKakaoShare.ts"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,cAAc;
|
|
1
|
+
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../src","sources":["spec/NativeKakaoShare.ts"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,cAAc;;AAGlD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA;AACA;AACA;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAWA;AACA;AACA;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAqDA,eAAeA,mBAAmB,CAACC,YAAY,CAAO,eAAe,CAAC","ignoreList":[]}
|
|
@@ -1,7 +1,39 @@
|
|
|
1
|
+
import type { KakaoCalendarTemplate, KakaoCommerceTemplate, KakaoFeedTemplate, KakaoListTemplate, KakaoLocationTemplate, KakaoTemplateButton, KakaoTemplateCommerce, KakaoTemplateContent, KakaoTemplateItemContent, KakaoTemplateItemInfo, KakaoTemplateLink, KakaoTemplateSocial, KakaoTextTemplate } from './spec/NativeKakaoShare';
|
|
2
|
+
export type { KakaoTemplateSocial, KakaoTextTemplate, KakaoTemplateLink, KakaoTemplateItemInfo, KakaoTemplateItemContent, KakaoTemplateContent, KakaoTemplateCommerce, KakaoTemplateButton, KakaoLocationTemplate, KakaoListTemplate, KakaoFeedTemplate, KakaoCommerceTemplate, };
|
|
1
3
|
export declare function shareCustom({ templateId, useWebBrowserIfKakaoTalkNotAvailable, serverCallbackArgs, templateArgs, }: {
|
|
2
4
|
templateId: number;
|
|
3
5
|
useWebBrowserIfKakaoTalkNotAvailable?: boolean;
|
|
4
6
|
templateArgs?: Record<string, string>;
|
|
5
7
|
serverCallbackArgs?: Record<string, string>;
|
|
6
8
|
}): Promise<void>;
|
|
9
|
+
export declare function shareFeedTemplate({ template, useWebBrowserIfKakaoTalkNotAvailable, serverCallbackArgs, }: {
|
|
10
|
+
template: KakaoFeedTemplate;
|
|
11
|
+
useWebBrowserIfKakaoTalkNotAvailable?: boolean;
|
|
12
|
+
serverCallbackArgs?: Record<string, string>;
|
|
13
|
+
}): Promise<void>;
|
|
14
|
+
export declare function shareListTemplate({ template, useWebBrowserIfKakaoTalkNotAvailable, serverCallbackArgs, }: {
|
|
15
|
+
template: KakaoListTemplate;
|
|
16
|
+
useWebBrowserIfKakaoTalkNotAvailable?: boolean;
|
|
17
|
+
serverCallbackArgs?: Record<string, string>;
|
|
18
|
+
}): Promise<void>;
|
|
19
|
+
export declare function shareLocationTemplate({ template, useWebBrowserIfKakaoTalkNotAvailable, serverCallbackArgs, }: {
|
|
20
|
+
template: KakaoLocationTemplate;
|
|
21
|
+
useWebBrowserIfKakaoTalkNotAvailable?: boolean;
|
|
22
|
+
serverCallbackArgs?: Record<string, string>;
|
|
23
|
+
}): Promise<void>;
|
|
24
|
+
export declare function shareCommerceTemplate({ template, useWebBrowserIfKakaoTalkNotAvailable, serverCallbackArgs, }: {
|
|
25
|
+
template: KakaoCommerceTemplate;
|
|
26
|
+
useWebBrowserIfKakaoTalkNotAvailable?: boolean;
|
|
27
|
+
serverCallbackArgs?: Record<string, string>;
|
|
28
|
+
}): Promise<void>;
|
|
29
|
+
export declare function shareTextTemplate({ template, useWebBrowserIfKakaoTalkNotAvailable, serverCallbackArgs, }: {
|
|
30
|
+
template: KakaoTextTemplate;
|
|
31
|
+
useWebBrowserIfKakaoTalkNotAvailable?: boolean;
|
|
32
|
+
serverCallbackArgs?: Record<string, string>;
|
|
33
|
+
}): Promise<void>;
|
|
34
|
+
export declare function shareCalendarTemplate({ template, useWebBrowserIfKakaoTalkNotAvailable, serverCallbackArgs, }: {
|
|
35
|
+
template: KakaoCalendarTemplate;
|
|
36
|
+
useWebBrowserIfKakaoTalkNotAvailable?: boolean;
|
|
37
|
+
serverCallbackArgs?: Record<string, string>;
|
|
38
|
+
}): Promise<void>;
|
|
7
39
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EAElB,MAAM,yBAAyB,CAAC;AAEjC,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,GACtB,CAAC;AA0BF,wBAAgB,WAAW,CAAC,EAC1B,UAAU,EACV,oCAA2C,EAC3C,kBAAuB,EACvB,YAAiB,GAClB,EAAE;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,oCAAoC,CAAC,EAAE,OAAO,CAAC;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C,iBAOA;AAED,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,oCAA2C,EAC3C,kBAAuB,GACxB,EAAE;IACD,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,oCAAoC,CAAC,EAAE,OAAO,CAAC;IAC/C,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C,iBAMA;AAED,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,oCAA2C,EAC3C,kBAAuB,GACxB,EAAE;IACD,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,oCAAoC,CAAC,EAAE,OAAO,CAAC;IAC/C,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C,iBAMA;AAED,wBAAgB,qBAAqB,CAAC,EACpC,QAAQ,EACR,oCAA2C,EAC3C,kBAAuB,GACxB,EAAE;IACD,QAAQ,EAAE,qBAAqB,CAAC;IAChC,oCAAoC,CAAC,EAAE,OAAO,CAAC;IAC/C,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C,iBAMA;AAED,wBAAgB,qBAAqB,CAAC,EACpC,QAAQ,EACR,oCAA2C,EAC3C,kBAAuB,GACxB,EAAE;IACD,QAAQ,EAAE,qBAAqB,CAAC;IAChC,oCAAoC,CAAC,EAAE,OAAO,CAAC;IAC/C,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C,iBAMA;AAED,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,oCAA2C,EAC3C,kBAAuB,GACxB,EAAE;IACD,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,oCAAoC,CAAC,EAAE,OAAO,CAAC;IAC/C,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C,iBAMA;AAED,wBAAgB,qBAAqB,CAAC,EACpC,QAAQ,EACR,oCAA2C,EAC3C,kBAAuB,GACxB,EAAE;IACD,QAAQ,EAAE,qBAAqB,CAAC;IAChC,oCAAoC,CAAC,EAAE,OAAO,CAAC;IAC/C,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C,iBAMA"}
|