카카오 링크 v2 관련 질문

문의 시 사용하시는 SDK 버전 정보를 알려주세요.
com.kakao.sdk:v2-link:2.4.2

안녕하세요. 카카오 링크 API 설정중에 있는데, 제가 template을 template Builder를 통해 생성 후, 특정 이벤트 발생시 kakaolink api 호출하여, 링크 공유 하는것 까지는 설정완료 하여 카카오에서 정상적으로 공유 되는것을 확인했습니다.

여기까지는 잘 동작하는데,
template을 template Builder를 통해 생성후 templateArgs를 설정 하는 과정에서 Template의 공통링크에 android / ios market에 params들을 설정 하게 될 경우, 공유 한 링크를 누르고 들어왔을때, 미리 심어두었던 templateArgs들이 모두 공백 처리 되어있어, 이상하여 질문을 남겨봅니다.

이게 또 단순히 Scheme만 설정 해두었을때에는 정상적으로 값들이 들어오는것을 확인 하였습니다.
Android 기준으로만 봤을때는, validateCustom 호출 한 뒤 내려오는 ValidationResult 내부 templateArgs에 key값들은 정상적으로 들어오지만, value값들은 모두 공백문자열 처리 되어있습니다.

잘못된게 있으면 알려주시면 감사드리겠습니다!

안녕하세요~

사용하신 코드블럭 공유해주시면 확인해보겠습니다~

java에서 바로 해당 kotlin 함수 호출하도록 되어있습니다.

          LinkClient.getInstance().customTemplate(this.reactContext, templateId, this.toMap(params), null, ((linkResult, throwable) -> {
                if (throwable != null) {
                    Log.e(SoomgoConstants.LOG_TAG, "카카오링크 보내기 실패", throwable);
                    promise.reject(throwable);
                }
                else if (linkResult != null) {
                    this.reactContext.startActivity(linkResult.getIntent());
                    // 카카오링크 보내기에 성공했지만 아래 경고 메시지가 존재할 경우 일부 컨텐츠가 정상 동작하지 않을 수 있습니다.
                    WritableMap map = Arguments.createMap();
                    map.putString("Result", "Success");
                    promise.resolve(map);
                }
                return null;
            }));

가장 최근 로그를 확인해보니 아래와 같이 성공과 실패 케이스가 있습니다.

{"${userId}":“868726”,"${couponId}":“CUSTOM_COUPON”}
//kakaolink?couponId=CUSTOM_COUPON&utm_campaign=868726

{"${couponId}":"","${userId}":""}
//kakaolink?couponId=&utm_campaign=

"Template의 공통링크에 android / ios market에 params들을 설정 하게 될 경우"
발송이 될때와 안될때 어떻게 설정하셨는지 알려주세요~

발송이 되는경우는 market params를 설정 하지 않았을때 이고
market params에
couponId=${couponId}&utm_campaign=${userId}
로 설정하게 되면 아래처럼 빈값으로 매핑되게 됩니다.

로그에 파라메터가 잘들어온 케이스가 있는데요.

market params를 설정 하지 않고, 어떻게 파라메터를 전달 하셨나요?

{"${userId}":“868726”,"${couponId}":“CUSTOM_COUPON”}
//kakaolink?couponId=CUSTOM_COUPON&utm_campaign=868726

파라메터가 잘들어 간 케이스는 공통 링크에서 android / ios market의 설정을 off 한 상태에서 보낸것이고,
들어가지 않는 케이스는 공통링크 내부 android / ios market을 설정 on 하게 되면 잘 들어가지가 않았습니다

Parameter는 android/ ios app scheme과 동일하게 넣기는 했습니다.

네, 확인 감사합니다.
내부 검토 및 재현 테스트 후 피드백 드릴게요~

재현태스트를 해봤습니다.

customTemplate 을 호출하며 Map 객체로 {“couponId”:“couponId”} 를 전달했는데요.
아래와 같이 잘 매핑되어 들어왔습니다.

{"${userId}":"","${couponId}":"couponId"}

템플릿 설정은 아래와 같이 했습니다.

couponId=${couponId}&utm_campaign=${userId}

image

값이 매핑되지 않는 상황은 재현을 못했는데요.

템플릿 설정 캡쳐와 this.toMap(params)의 params를 어떻게 설정했는지 공유 부탁드려요~

android scheme / ios scheme도 ON을 시킨뒤,
android market과 ios market과 같은 값들을 넣어준 상태이긴 했었습니다

혹시 android scheme과 android market 옵션은 동시에 같이 사용할수가 없는걸가용 …??

질문이 길어지는점 죄송합니다 ㅜㅜ

  • Android Market ON " : 성공 {"${userId}":"","${couponId}":“couponId”}

  • Android Scheme ON / Android Market ON " : 성공 {"${couponId}":“couponId”,"${userId}":""}

  • Android Scheme ON / Android Market ON " / iOS Scheme : 성공 {"${userId}":"","${couponId}":“couponId”}

  • Android Scheme ON / Android Market ON " / iOS Scheme / iOS Market : 실패 {"${couponId}":"","${userId}":""}

네, 재현하였습니다.

내부 문의 후 피드백 드릴께요~

@pratt

확인해보니, 메시지 템플릿에는 iOS 세팅 했지만
"내 애플리케이션>앱 설정>플랫폼"에 iOS 앱스토어 ID가 없을때 파라메터 전달이 안되네요.

메시지 템플릿 iOS Market 설정 OFF 하시거나 iOS 앱스토어 ID 등록 부탁드려요~

좋아요 3

앗 넵넵 감사합니다! android / ios 모두 스토어 id 등록 후에 테스트 해보니 정상적으로 잘 동작 하네용
market 옵션은 해당 값이 설정 되었어야 했네용!

감사합니당!
@tim.l

좋아요 1