문의 시 사용하시는 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값들은 모두 공백문자열 처리 되어있습니다.
잘못된게 있으면 알려주시면 감사드리겠습니다!
tim.l
4월 21, 2021, 12:53오전
2
안녕하세요~
사용하신 코드블럭 공유해주시면 확인해보겠습니다~
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;
}));
tim.l
4월 26, 2021, 12:37오전
4
가장 최근 로그를 확인해보니 아래와 같이 성공과 실패 케이스가 있습니다.
{"${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}
로 설정하게 되면 아래처럼 빈값으로 매핑되게 됩니다.
tim.l
4월 27, 2021, 12:52오전
6
로그에 파라메터가 잘들어온 케이스가 있는데요.
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과 동일하게 넣기는 했습니다.
tim.l
4월 27, 2021, 1:13오전
8
네, 확인 감사합니다.
내부 검토 및 재현 테스트 후 피드백 드릴게요~
tim.l
4월 27, 2021, 10:05오전
9
재현태스트를 해봤습니다.
customTemplate 을 호출하며 Map 객체로 {“couponId”:“couponId”} 를 전달했는데요.
아래와 같이 잘 매핑되어 들어왔습니다.
{"${userId}":"","${couponId}":"couponId"}
템플릿 설정은 아래와 같이 했습니다.
couponId=${couponId}&utm_campaign=${userId}
값이 매핑되지 않는 상황은 재현을 못했는데요.
템플릿 설정 캡쳐와 this.toMap(params)의 params를 어떻게 설정했는지 공유 부탁드려요~
android scheme / ios scheme도 ON을 시킨뒤,
android market과 ios market과 같은 값들을 넣어준 상태이긴 했었습니다
혹시 android scheme과 android market 옵션은 동시에 같이 사용할수가 없는걸가용 …??
질문이 길어지는점 죄송합니다 ㅜㅜ
tim.l
4월 28, 2021, 2:54오전
12
@anon36636827
확인해보니, 메시지 템플릿에는 iOS 세팅 했지만
"내 애플리케이션>앱 설정>플랫폼"에 iOS 앱스토어 ID가 없을때 파라메터 전달이 안되네요.
메시지 템플릿 iOS Market 설정 OFF 하시거나 iOS 앱스토어 ID 등록 부탁드려요~
3개의 좋아요
앗 넵넵 감사합니다! android / ios 모두 스토어 id 등록 후에 테스트 해보니 정상적으로 잘 동작 하네용
market 옵션은 해당 값이 설정 되었어야 했네용!
감사합니당!
@tim.l
1개의 좋아요