@react-native-kakao/share 3.0.0 → 3.1.0-next.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/CHANGELOG.md +41 -0
- package/RNCKakaoShare.podspec +0 -1
- package/android/build.gradle +1 -2
- package/android/src/main/java/net/mjstudio/rnkakao/share/RNCKakaoShareModule.kt +359 -11
- package/android/src/main/java/net/mjstudio/rnkakao/share/RNCKakaoShareTemplates.kt +5 -2
- package/ios/RNCKakaoShare.mm +69 -5
- package/ios/RNCKakaoShareManager.swift +349 -36
- package/lib/commonjs/index.js +145 -29
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +267 -48
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/spec/NativeKakaoShare.ts +89 -3
- package/lib/commonjs/validateSharePickerSettings.js +33 -0
- package/lib/commonjs/validateSharePickerSettings.js.map +1 -0
- package/lib/module/index.js +135 -29
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +258 -49
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/spec/NativeKakaoShare.ts +89 -3
- package/lib/module/validateSharePickerSettings.js +29 -0
- package/lib/module/validateSharePickerSettings.js.map +1 -0
- package/lib/typescript/src/index.d.ts +88 -23
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/spec/NativeKakaoShare.d.ts +84 -1
- package/lib/typescript/src/spec/NativeKakaoShare.d.ts.map +1 -1
- package/lib/typescript/src/validateSharePickerSettings.d.ts +6 -0
- package/lib/typescript/src/validateSharePickerSettings.d.ts.map +1 -0
- package/package.json +5 -5
- package/src/index.ts +271 -15
- package/src/index.web.ts +305 -62
- package/src/spec/NativeKakaoShare.ts +89 -3
- package/src/validateSharePickerSettings.ts +38 -0
package/src/index.ts
CHANGED
|
@@ -3,9 +3,15 @@ import type { Double, UnsafeObject } from 'react-native/Libraries/Types/CodegenT
|
|
|
3
3
|
import type {
|
|
4
4
|
KakaoCalendarTemplate,
|
|
5
5
|
KakaoCommerceTemplate,
|
|
6
|
+
KakaoDefaultTemplateParams,
|
|
6
7
|
KakaoFeedTemplate,
|
|
8
|
+
KakaoImageUploadResult,
|
|
7
9
|
KakaoListTemplate,
|
|
8
10
|
KakaoLocationTemplate,
|
|
11
|
+
KakaoMessageSendResult,
|
|
12
|
+
KakaoSharePickerSettings,
|
|
13
|
+
KakaoShareTemplateDiagnostics,
|
|
14
|
+
KakaoShareTemplateDiagnosticsParams,
|
|
9
15
|
KakaoTemplateButton,
|
|
10
16
|
KakaoTemplateCommerce,
|
|
11
17
|
KakaoTemplateContent,
|
|
@@ -17,6 +23,7 @@ import type {
|
|
|
17
23
|
} from './spec/NativeKakaoShare';
|
|
18
24
|
import Native from './spec/NativeKakaoShare';
|
|
19
25
|
import { swapMobileExecutionParamsFieldValueIntoStringInIOS } from './util/swapMobileExecutionParamsFieldValueIntoStringInIOS';
|
|
26
|
+
import { validateSharePickerSettings } from './validateSharePickerSettings';
|
|
20
27
|
|
|
21
28
|
export type {
|
|
22
29
|
KakaoTemplateSocial,
|
|
@@ -28,12 +35,22 @@ export type {
|
|
|
28
35
|
KakaoTemplateCommerce,
|
|
29
36
|
KakaoTemplateButton,
|
|
30
37
|
KakaoLocationTemplate,
|
|
38
|
+
KakaoMessageSendResult,
|
|
39
|
+
KakaoSharePickerSettings,
|
|
40
|
+
KakaoShareTemplateDiagnostics,
|
|
41
|
+
KakaoShareTemplateDiagnosticsParams,
|
|
31
42
|
KakaoListTemplate,
|
|
32
43
|
KakaoFeedTemplate,
|
|
33
44
|
KakaoCommerceTemplate,
|
|
34
45
|
KakaoCalendarTemplate,
|
|
46
|
+
KakaoImageUploadResult,
|
|
47
|
+
KakaoDefaultTemplateParams,
|
|
35
48
|
};
|
|
36
49
|
|
|
50
|
+
export function isKakaoTalkSharingAvailable(): Promise<boolean> {
|
|
51
|
+
return Native.isKakaoTalkSharingAvailable();
|
|
52
|
+
}
|
|
53
|
+
|
|
37
54
|
function shareOrSendMeOrSendFriendOrWhatever(
|
|
38
55
|
/* share, send-me, send-friend */
|
|
39
56
|
sendType: string,
|
|
@@ -48,8 +65,10 @@ function shareOrSendMeOrSendFriendOrWhatever(
|
|
|
48
65
|
useWebBrowserIfKakaoTalkNotAvailable: boolean,
|
|
49
66
|
templateArgs: Readonly<{ [key: string]: string }>,
|
|
50
67
|
serverCallbackArgs: Readonly<{ [key: string]: string }>,
|
|
68
|
+
includeFailureInfo?: boolean,
|
|
69
|
+
pickerSettings?: KakaoSharePickerSettings,
|
|
51
70
|
): Promise<any> {
|
|
52
|
-
|
|
71
|
+
const response = Native.shareOrSendMeOrSendFriendOrWhatever(
|
|
53
72
|
sendType,
|
|
54
73
|
templateType,
|
|
55
74
|
templateId,
|
|
@@ -58,12 +77,26 @@ function shareOrSendMeOrSendFriendOrWhatever(
|
|
|
58
77
|
useWebBrowserIfKakaoTalkNotAvailable,
|
|
59
78
|
templateArgs,
|
|
60
79
|
serverCallbackArgs,
|
|
80
|
+
validateSharePickerSettings(pickerSettings),
|
|
61
81
|
);
|
|
82
|
+
|
|
83
|
+
if (sendType === SendTypes.sendFriend) {
|
|
84
|
+
return response.then((result: KakaoMessageSendResult) =>
|
|
85
|
+
includeFailureInfo ? result : result.successfulReceiverUuids,
|
|
86
|
+
);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
return response;
|
|
62
90
|
}
|
|
63
91
|
|
|
92
|
+
export type KakaoFriendMessageResult<T extends boolean = false> = T extends true
|
|
93
|
+
? KakaoMessageSendResult
|
|
94
|
+
: string[];
|
|
95
|
+
|
|
64
96
|
const SendTypes = { share: 'share', sendMe: 'send-me', sendFriend: 'send-friend' };
|
|
65
97
|
const TemplateTypes = {
|
|
66
98
|
custom: 'custom',
|
|
99
|
+
scrap: 'scrap',
|
|
67
100
|
feed: 'feed',
|
|
68
101
|
list: 'list',
|
|
69
102
|
location: 'location',
|
|
@@ -71,17 +104,163 @@ const TemplateTypes = {
|
|
|
71
104
|
text: 'text',
|
|
72
105
|
calendar: 'calendar',
|
|
73
106
|
};
|
|
107
|
+
const DefaultScrapTemplateId = -1;
|
|
108
|
+
|
|
109
|
+
export async function getShareTemplateDiagnostics(
|
|
110
|
+
params: KakaoShareTemplateDiagnosticsParams,
|
|
111
|
+
): Promise<KakaoShareTemplateDiagnostics> {
|
|
112
|
+
const template =
|
|
113
|
+
'template' in params
|
|
114
|
+
? params.template
|
|
115
|
+
: 'requestUrl' in params
|
|
116
|
+
? { requestUrl: params.requestUrl }
|
|
117
|
+
: {};
|
|
118
|
+
|
|
119
|
+
return Native.getTemplateDiagnostics(
|
|
120
|
+
params.templateType,
|
|
121
|
+
'templateId' in params ? params.templateId ?? DefaultScrapTemplateId : DefaultScrapTemplateId,
|
|
122
|
+
swapMobileExecutionParamsFieldValueIntoStringInIOS(template),
|
|
123
|
+
'templateArgs' in params ? params.templateArgs ?? {} : {},
|
|
124
|
+
params.serverCallbackArgs ?? {},
|
|
125
|
+
validateSharePickerSettings(params.pickerSettings),
|
|
126
|
+
);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
export async function makeDefaultTemplateUrl({
|
|
130
|
+
templateType,
|
|
131
|
+
template,
|
|
132
|
+
serverCallbackArgs = {},
|
|
133
|
+
}: KakaoDefaultTemplateParams): Promise<string> {
|
|
134
|
+
return Native.makeTemplateUrl(
|
|
135
|
+
templateType,
|
|
136
|
+
DefaultScrapTemplateId,
|
|
137
|
+
swapMobileExecutionParamsFieldValueIntoStringInIOS(template),
|
|
138
|
+
{},
|
|
139
|
+
serverCallbackArgs,
|
|
140
|
+
);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
export async function makeCustomTemplateUrl({
|
|
144
|
+
templateId,
|
|
145
|
+
templateArgs = {},
|
|
146
|
+
serverCallbackArgs = {},
|
|
147
|
+
}: {
|
|
148
|
+
templateId: number;
|
|
149
|
+
templateArgs?: Record<string, string>;
|
|
150
|
+
serverCallbackArgs?: Record<string, string>;
|
|
151
|
+
}): Promise<string> {
|
|
152
|
+
return Native.makeTemplateUrl(
|
|
153
|
+
TemplateTypes.custom,
|
|
154
|
+
templateId,
|
|
155
|
+
{},
|
|
156
|
+
templateArgs,
|
|
157
|
+
serverCallbackArgs,
|
|
158
|
+
);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
export async function makeScrapTemplateUrl({
|
|
162
|
+
requestUrl,
|
|
163
|
+
templateId = DefaultScrapTemplateId,
|
|
164
|
+
templateArgs = {},
|
|
165
|
+
serverCallbackArgs = {},
|
|
166
|
+
}: {
|
|
167
|
+
requestUrl: string;
|
|
168
|
+
templateId?: number;
|
|
169
|
+
templateArgs?: Record<string, string>;
|
|
170
|
+
serverCallbackArgs?: Record<string, string>;
|
|
171
|
+
}): Promise<string> {
|
|
172
|
+
return Native.makeTemplateUrl(
|
|
173
|
+
TemplateTypes.scrap,
|
|
174
|
+
templateId,
|
|
175
|
+
{ requestUrl },
|
|
176
|
+
templateArgs,
|
|
177
|
+
serverCallbackArgs,
|
|
178
|
+
);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
export type KakaoScrapMessageParams = {
|
|
182
|
+
requestUrl: string;
|
|
183
|
+
templateId?: number;
|
|
184
|
+
templateArgs?: Record<string, string>;
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
export async function sendScrapTemplateToMe({
|
|
188
|
+
requestUrl,
|
|
189
|
+
templateId = DefaultScrapTemplateId,
|
|
190
|
+
templateArgs = {},
|
|
191
|
+
}: KakaoScrapMessageParams) {
|
|
192
|
+
await Native.shareOrSendMeOrSendFriendOrWhatever(
|
|
193
|
+
SendTypes.sendMe,
|
|
194
|
+
TemplateTypes.scrap,
|
|
195
|
+
templateId,
|
|
196
|
+
{ requestUrl },
|
|
197
|
+
[],
|
|
198
|
+
false,
|
|
199
|
+
templateArgs,
|
|
200
|
+
{},
|
|
201
|
+
undefined,
|
|
202
|
+
);
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
export function sendScrapTemplateToFriends<T extends boolean = false>({
|
|
206
|
+
requestUrl,
|
|
207
|
+
templateId = DefaultScrapTemplateId,
|
|
208
|
+
templateArgs = {},
|
|
209
|
+
receiverUuids,
|
|
210
|
+
includeFailureInfo,
|
|
211
|
+
}: KakaoScrapMessageParams & { receiverUuids: string[]; includeFailureInfo?: T }): Promise<
|
|
212
|
+
KakaoFriendMessageResult<T>
|
|
213
|
+
> {
|
|
214
|
+
return shareOrSendMeOrSendFriendOrWhatever(
|
|
215
|
+
SendTypes.sendFriend,
|
|
216
|
+
TemplateTypes.scrap,
|
|
217
|
+
templateId,
|
|
218
|
+
{ requestUrl },
|
|
219
|
+
receiverUuids,
|
|
220
|
+
false,
|
|
221
|
+
templateArgs,
|
|
222
|
+
{},
|
|
223
|
+
includeFailureInfo,
|
|
224
|
+
);
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
export function shareScrapTemplate({
|
|
228
|
+
requestUrl,
|
|
229
|
+
templateId,
|
|
230
|
+
templateArgs = {},
|
|
231
|
+
serverCallbackArgs = {},
|
|
232
|
+
pickerSettings,
|
|
233
|
+
useWebBrowserIfKakaoTalkNotAvailable = true,
|
|
234
|
+
}: {
|
|
235
|
+
requestUrl: string;
|
|
236
|
+
templateId?: number;
|
|
237
|
+
templateArgs?: Record<string, string>;
|
|
238
|
+
serverCallbackArgs?: Record<string, string>;
|
|
239
|
+
pickerSettings?: KakaoSharePickerSettings;
|
|
240
|
+
useWebBrowserIfKakaoTalkNotAvailable?: boolean;
|
|
241
|
+
}): Promise<void> {
|
|
242
|
+
return Native.shareScrapTemplate(
|
|
243
|
+
requestUrl,
|
|
244
|
+
useWebBrowserIfKakaoTalkNotAvailable,
|
|
245
|
+
templateId,
|
|
246
|
+
templateArgs,
|
|
247
|
+
serverCallbackArgs,
|
|
248
|
+
validateSharePickerSettings(pickerSettings),
|
|
249
|
+
);
|
|
250
|
+
}
|
|
74
251
|
|
|
75
252
|
export function shareCustomTemplate({
|
|
76
253
|
templateId,
|
|
77
254
|
useWebBrowserIfKakaoTalkNotAvailable = true,
|
|
78
255
|
serverCallbackArgs = {},
|
|
256
|
+
pickerSettings,
|
|
79
257
|
templateArgs = {},
|
|
80
258
|
}: {
|
|
81
259
|
templateId: number;
|
|
82
260
|
useWebBrowserIfKakaoTalkNotAvailable?: boolean;
|
|
83
261
|
templateArgs?: Record<string, string>;
|
|
84
262
|
serverCallbackArgs?: Record<string, string>;
|
|
263
|
+
pickerSettings?: KakaoSharePickerSettings;
|
|
85
264
|
}) {
|
|
86
265
|
return shareOrSendMeOrSendFriendOrWhatever(
|
|
87
266
|
SendTypes.share,
|
|
@@ -92,6 +271,8 @@ export function shareCustomTemplate({
|
|
|
92
271
|
useWebBrowserIfKakaoTalkNotAvailable,
|
|
93
272
|
templateArgs,
|
|
94
273
|
serverCallbackArgs,
|
|
274
|
+
undefined,
|
|
275
|
+
pickerSettings,
|
|
95
276
|
);
|
|
96
277
|
}
|
|
97
278
|
|
|
@@ -114,15 +295,17 @@ export function sendCustomTemplateToMe({
|
|
|
114
295
|
);
|
|
115
296
|
}
|
|
116
297
|
|
|
117
|
-
export function sendCustomTemplateToFriends({
|
|
298
|
+
export function sendCustomTemplateToFriends<T extends boolean = false>({
|
|
118
299
|
templateId,
|
|
119
300
|
templateArgs = {},
|
|
120
301
|
receiverUuids,
|
|
302
|
+
includeFailureInfo,
|
|
121
303
|
}: {
|
|
122
304
|
templateId: number;
|
|
123
305
|
templateArgs?: Record<string, string>;
|
|
124
306
|
receiverUuids: string[];
|
|
125
|
-
|
|
307
|
+
includeFailureInfo?: T;
|
|
308
|
+
}): Promise<KakaoFriendMessageResult<T>> {
|
|
126
309
|
return shareOrSendMeOrSendFriendOrWhatever(
|
|
127
310
|
SendTypes.sendFriend,
|
|
128
311
|
TemplateTypes.custom,
|
|
@@ -132,6 +315,7 @@ export function sendCustomTemplateToFriends({
|
|
|
132
315
|
false,
|
|
133
316
|
templateArgs,
|
|
134
317
|
{},
|
|
318
|
+
includeFailureInfo,
|
|
135
319
|
);
|
|
136
320
|
}
|
|
137
321
|
|
|
@@ -139,10 +323,12 @@ export function shareFeedTemplate({
|
|
|
139
323
|
template,
|
|
140
324
|
useWebBrowserIfKakaoTalkNotAvailable = true,
|
|
141
325
|
serverCallbackArgs = {},
|
|
326
|
+
pickerSettings,
|
|
142
327
|
}: {
|
|
143
328
|
template: KakaoFeedTemplate;
|
|
144
329
|
useWebBrowserIfKakaoTalkNotAvailable?: boolean;
|
|
145
330
|
serverCallbackArgs?: Record<string, string>;
|
|
331
|
+
pickerSettings?: KakaoSharePickerSettings;
|
|
146
332
|
}) {
|
|
147
333
|
return shareOrSendMeOrSendFriendOrWhatever(
|
|
148
334
|
SendTypes.share,
|
|
@@ -153,6 +339,8 @@ export function shareFeedTemplate({
|
|
|
153
339
|
useWebBrowserIfKakaoTalkNotAvailable,
|
|
154
340
|
{},
|
|
155
341
|
serverCallbackArgs,
|
|
342
|
+
undefined,
|
|
343
|
+
pickerSettings,
|
|
156
344
|
);
|
|
157
345
|
}
|
|
158
346
|
|
|
@@ -169,13 +357,15 @@ export function sendFeedTemplateToMe({ template }: { template: KakaoFeedTemplate
|
|
|
169
357
|
);
|
|
170
358
|
}
|
|
171
359
|
|
|
172
|
-
export function sendFeedTemplateToFriends({
|
|
360
|
+
export function sendFeedTemplateToFriends<T extends boolean = false>({
|
|
173
361
|
template,
|
|
174
362
|
receiverUuids,
|
|
363
|
+
includeFailureInfo,
|
|
175
364
|
}: {
|
|
176
365
|
template: KakaoFeedTemplate;
|
|
177
366
|
receiverUuids: string[];
|
|
178
|
-
|
|
367
|
+
includeFailureInfo?: T;
|
|
368
|
+
}): Promise<KakaoFriendMessageResult<T>> {
|
|
179
369
|
return shareOrSendMeOrSendFriendOrWhatever(
|
|
180
370
|
SendTypes.sendFriend,
|
|
181
371
|
TemplateTypes.feed,
|
|
@@ -185,6 +375,7 @@ export function sendFeedTemplateToFriends({
|
|
|
185
375
|
false,
|
|
186
376
|
{},
|
|
187
377
|
{},
|
|
378
|
+
includeFailureInfo,
|
|
188
379
|
);
|
|
189
380
|
}
|
|
190
381
|
|
|
@@ -192,10 +383,12 @@ export function shareListTemplate({
|
|
|
192
383
|
template,
|
|
193
384
|
useWebBrowserIfKakaoTalkNotAvailable = true,
|
|
194
385
|
serverCallbackArgs = {},
|
|
386
|
+
pickerSettings,
|
|
195
387
|
}: {
|
|
196
388
|
template: KakaoListTemplate;
|
|
197
389
|
useWebBrowserIfKakaoTalkNotAvailable?: boolean;
|
|
198
390
|
serverCallbackArgs?: Record<string, string>;
|
|
391
|
+
pickerSettings?: KakaoSharePickerSettings;
|
|
199
392
|
}) {
|
|
200
393
|
return shareOrSendMeOrSendFriendOrWhatever(
|
|
201
394
|
SendTypes.share,
|
|
@@ -206,6 +399,8 @@ export function shareListTemplate({
|
|
|
206
399
|
useWebBrowserIfKakaoTalkNotAvailable,
|
|
207
400
|
{},
|
|
208
401
|
serverCallbackArgs,
|
|
402
|
+
undefined,
|
|
403
|
+
pickerSettings,
|
|
209
404
|
);
|
|
210
405
|
}
|
|
211
406
|
|
|
@@ -222,13 +417,15 @@ export function sendListTemplateToMe({ template }: { template: KakaoListTemplate
|
|
|
222
417
|
);
|
|
223
418
|
}
|
|
224
419
|
|
|
225
|
-
export function sendListTemplateToFriends({
|
|
420
|
+
export function sendListTemplateToFriends<T extends boolean = false>({
|
|
226
421
|
template,
|
|
227
422
|
receiverUuids,
|
|
423
|
+
includeFailureInfo,
|
|
228
424
|
}: {
|
|
229
425
|
template: KakaoListTemplate;
|
|
230
426
|
receiverUuids: string[];
|
|
231
|
-
|
|
427
|
+
includeFailureInfo?: T;
|
|
428
|
+
}): Promise<KakaoFriendMessageResult<T>> {
|
|
232
429
|
return shareOrSendMeOrSendFriendOrWhatever(
|
|
233
430
|
SendTypes.sendFriend,
|
|
234
431
|
TemplateTypes.list,
|
|
@@ -238,6 +435,7 @@ export function sendListTemplateToFriends({
|
|
|
238
435
|
false,
|
|
239
436
|
{},
|
|
240
437
|
{},
|
|
438
|
+
includeFailureInfo,
|
|
241
439
|
);
|
|
242
440
|
}
|
|
243
441
|
|
|
@@ -245,10 +443,12 @@ export function shareLocationTemplate({
|
|
|
245
443
|
template,
|
|
246
444
|
useWebBrowserIfKakaoTalkNotAvailable = true,
|
|
247
445
|
serverCallbackArgs = {},
|
|
446
|
+
pickerSettings,
|
|
248
447
|
}: {
|
|
249
448
|
template: KakaoLocationTemplate;
|
|
250
449
|
useWebBrowserIfKakaoTalkNotAvailable?: boolean;
|
|
251
450
|
serverCallbackArgs?: Record<string, string>;
|
|
451
|
+
pickerSettings?: KakaoSharePickerSettings;
|
|
252
452
|
}) {
|
|
253
453
|
return shareOrSendMeOrSendFriendOrWhatever(
|
|
254
454
|
SendTypes.share,
|
|
@@ -259,6 +459,8 @@ export function shareLocationTemplate({
|
|
|
259
459
|
useWebBrowserIfKakaoTalkNotAvailable,
|
|
260
460
|
{},
|
|
261
461
|
serverCallbackArgs,
|
|
462
|
+
undefined,
|
|
463
|
+
pickerSettings,
|
|
262
464
|
);
|
|
263
465
|
}
|
|
264
466
|
|
|
@@ -275,13 +477,15 @@ export function sendLocationTemplateToMe({ template }: { template: KakaoLocation
|
|
|
275
477
|
);
|
|
276
478
|
}
|
|
277
479
|
|
|
278
|
-
export function sendLocationTemplateToFriends({
|
|
480
|
+
export function sendLocationTemplateToFriends<T extends boolean = false>({
|
|
279
481
|
template,
|
|
280
482
|
receiverUuids,
|
|
483
|
+
includeFailureInfo,
|
|
281
484
|
}: {
|
|
282
485
|
template: KakaoLocationTemplate;
|
|
283
486
|
receiverUuids: string[];
|
|
284
|
-
|
|
487
|
+
includeFailureInfo?: T;
|
|
488
|
+
}): Promise<KakaoFriendMessageResult<T>> {
|
|
285
489
|
return shareOrSendMeOrSendFriendOrWhatever(
|
|
286
490
|
SendTypes.sendFriend,
|
|
287
491
|
TemplateTypes.location,
|
|
@@ -291,6 +495,7 @@ export function sendLocationTemplateToFriends({
|
|
|
291
495
|
false,
|
|
292
496
|
{},
|
|
293
497
|
{},
|
|
498
|
+
includeFailureInfo,
|
|
294
499
|
);
|
|
295
500
|
}
|
|
296
501
|
|
|
@@ -298,10 +503,12 @@ export function shareCommerceTemplate({
|
|
|
298
503
|
template,
|
|
299
504
|
useWebBrowserIfKakaoTalkNotAvailable = true,
|
|
300
505
|
serverCallbackArgs = {},
|
|
506
|
+
pickerSettings,
|
|
301
507
|
}: {
|
|
302
508
|
template: KakaoCommerceTemplate;
|
|
303
509
|
useWebBrowserIfKakaoTalkNotAvailable?: boolean;
|
|
304
510
|
serverCallbackArgs?: Record<string, string>;
|
|
511
|
+
pickerSettings?: KakaoSharePickerSettings;
|
|
305
512
|
}) {
|
|
306
513
|
return shareOrSendMeOrSendFriendOrWhatever(
|
|
307
514
|
SendTypes.share,
|
|
@@ -312,6 +519,8 @@ export function shareCommerceTemplate({
|
|
|
312
519
|
useWebBrowserIfKakaoTalkNotAvailable,
|
|
313
520
|
{},
|
|
314
521
|
serverCallbackArgs,
|
|
522
|
+
undefined,
|
|
523
|
+
pickerSettings,
|
|
315
524
|
);
|
|
316
525
|
}
|
|
317
526
|
|
|
@@ -328,13 +537,15 @@ export function sendCommerceTemplateToMe({ template }: { template: KakaoCommerce
|
|
|
328
537
|
);
|
|
329
538
|
}
|
|
330
539
|
|
|
331
|
-
export function sendCommerceTemplateToFriends({
|
|
540
|
+
export function sendCommerceTemplateToFriends<T extends boolean = false>({
|
|
332
541
|
template,
|
|
333
542
|
receiverUuids,
|
|
543
|
+
includeFailureInfo,
|
|
334
544
|
}: {
|
|
335
545
|
template: KakaoCommerceTemplate;
|
|
336
546
|
receiverUuids: string[];
|
|
337
|
-
|
|
547
|
+
includeFailureInfo?: T;
|
|
548
|
+
}): Promise<KakaoFriendMessageResult<T>> {
|
|
338
549
|
return shareOrSendMeOrSendFriendOrWhatever(
|
|
339
550
|
SendTypes.sendFriend,
|
|
340
551
|
TemplateTypes.commerce,
|
|
@@ -344,6 +555,7 @@ export function sendCommerceTemplateToFriends({
|
|
|
344
555
|
false,
|
|
345
556
|
{},
|
|
346
557
|
{},
|
|
558
|
+
includeFailureInfo,
|
|
347
559
|
);
|
|
348
560
|
}
|
|
349
561
|
|
|
@@ -351,10 +563,12 @@ export function shareTextTemplate({
|
|
|
351
563
|
template,
|
|
352
564
|
useWebBrowserIfKakaoTalkNotAvailable = true,
|
|
353
565
|
serverCallbackArgs = {},
|
|
566
|
+
pickerSettings,
|
|
354
567
|
}: {
|
|
355
568
|
template: KakaoTextTemplate;
|
|
356
569
|
useWebBrowserIfKakaoTalkNotAvailable?: boolean;
|
|
357
570
|
serverCallbackArgs?: Record<string, string>;
|
|
571
|
+
pickerSettings?: KakaoSharePickerSettings;
|
|
358
572
|
}) {
|
|
359
573
|
return shareOrSendMeOrSendFriendOrWhatever(
|
|
360
574
|
SendTypes.share,
|
|
@@ -365,6 +579,8 @@ export function shareTextTemplate({
|
|
|
365
579
|
useWebBrowserIfKakaoTalkNotAvailable,
|
|
366
580
|
{},
|
|
367
581
|
serverCallbackArgs,
|
|
582
|
+
undefined,
|
|
583
|
+
pickerSettings,
|
|
368
584
|
);
|
|
369
585
|
}
|
|
370
586
|
|
|
@@ -381,13 +597,15 @@ export function sendTextTemplateToMe({ template }: { template: KakaoTextTemplate
|
|
|
381
597
|
);
|
|
382
598
|
}
|
|
383
599
|
|
|
384
|
-
export function sendTextTemplateToFriends({
|
|
600
|
+
export function sendTextTemplateToFriends<T extends boolean = false>({
|
|
385
601
|
template,
|
|
386
602
|
receiverUuids,
|
|
603
|
+
includeFailureInfo,
|
|
387
604
|
}: {
|
|
388
605
|
template: KakaoTextTemplate;
|
|
389
606
|
receiverUuids: string[];
|
|
390
|
-
|
|
607
|
+
includeFailureInfo?: T;
|
|
608
|
+
}): Promise<KakaoFriendMessageResult<T>> {
|
|
391
609
|
return shareOrSendMeOrSendFriendOrWhatever(
|
|
392
610
|
SendTypes.sendFriend,
|
|
393
611
|
TemplateTypes.text,
|
|
@@ -397,6 +615,7 @@ export function sendTextTemplateToFriends({
|
|
|
397
615
|
false,
|
|
398
616
|
{},
|
|
399
617
|
{},
|
|
618
|
+
includeFailureInfo,
|
|
400
619
|
);
|
|
401
620
|
}
|
|
402
621
|
|
|
@@ -404,10 +623,12 @@ export function shareCalendarTemplate({
|
|
|
404
623
|
template,
|
|
405
624
|
useWebBrowserIfKakaoTalkNotAvailable = true,
|
|
406
625
|
serverCallbackArgs = {},
|
|
626
|
+
pickerSettings,
|
|
407
627
|
}: {
|
|
408
628
|
template: KakaoCalendarTemplate;
|
|
409
629
|
useWebBrowserIfKakaoTalkNotAvailable?: boolean;
|
|
410
630
|
serverCallbackArgs?: Record<string, string>;
|
|
631
|
+
pickerSettings?: KakaoSharePickerSettings;
|
|
411
632
|
}) {
|
|
412
633
|
return shareOrSendMeOrSendFriendOrWhatever(
|
|
413
634
|
SendTypes.share,
|
|
@@ -418,6 +639,8 @@ export function shareCalendarTemplate({
|
|
|
418
639
|
useWebBrowserIfKakaoTalkNotAvailable,
|
|
419
640
|
{},
|
|
420
641
|
serverCallbackArgs,
|
|
642
|
+
undefined,
|
|
643
|
+
pickerSettings,
|
|
421
644
|
);
|
|
422
645
|
}
|
|
423
646
|
|
|
@@ -434,13 +657,15 @@ export function sendCalendarTemplateToMe({ template }: { template: KakaoCalendar
|
|
|
434
657
|
);
|
|
435
658
|
}
|
|
436
659
|
|
|
437
|
-
export function sendCalendarTemplateToFriends({
|
|
660
|
+
export function sendCalendarTemplateToFriends<T extends boolean = false>({
|
|
438
661
|
template,
|
|
439
662
|
receiverUuids,
|
|
663
|
+
includeFailureInfo,
|
|
440
664
|
}: {
|
|
441
665
|
template: KakaoCalendarTemplate;
|
|
442
666
|
receiverUuids: string[];
|
|
443
|
-
|
|
667
|
+
includeFailureInfo?: T;
|
|
668
|
+
}): Promise<KakaoFriendMessageResult<T>> {
|
|
444
669
|
return shareOrSendMeOrSendFriendOrWhatever(
|
|
445
670
|
SendTypes.sendFriend,
|
|
446
671
|
TemplateTypes.calendar,
|
|
@@ -450,10 +675,41 @@ export function sendCalendarTemplateToFriends({
|
|
|
450
675
|
false,
|
|
451
676
|
{},
|
|
452
677
|
{},
|
|
678
|
+
includeFailureInfo,
|
|
453
679
|
);
|
|
454
680
|
}
|
|
455
681
|
|
|
682
|
+
export function uploadImage({
|
|
683
|
+
imageUri,
|
|
684
|
+
secureResource = true,
|
|
685
|
+
}: {
|
|
686
|
+
imageUri: string;
|
|
687
|
+
secureResource?: boolean;
|
|
688
|
+
}) {
|
|
689
|
+
return Native.uploadImage(imageUri, secureResource);
|
|
690
|
+
}
|
|
691
|
+
|
|
692
|
+
export function scrapImage({
|
|
693
|
+
imageUrl,
|
|
694
|
+
secureResource = true,
|
|
695
|
+
}: {
|
|
696
|
+
imageUrl: string;
|
|
697
|
+
secureResource?: boolean;
|
|
698
|
+
}) {
|
|
699
|
+
return Native.scrapImage(imageUrl, secureResource);
|
|
700
|
+
}
|
|
701
|
+
|
|
456
702
|
const KakaoShare = {
|
|
703
|
+
isKakaoTalkSharingAvailable,
|
|
704
|
+
getShareTemplateDiagnostics,
|
|
705
|
+
makeDefaultTemplateUrl,
|
|
706
|
+
makeCustomTemplateUrl,
|
|
707
|
+
makeScrapTemplateUrl,
|
|
708
|
+
uploadImage,
|
|
709
|
+
shareScrapTemplate,
|
|
710
|
+
sendScrapTemplateToMe,
|
|
711
|
+
sendScrapTemplateToFriends,
|
|
712
|
+
scrapImage,
|
|
457
713
|
shareCustomTemplate,
|
|
458
714
|
sendCustomTemplateToMe,
|
|
459
715
|
sendCustomTemplateToFriends,
|