Notice
Recent Posts
Recent Comments
Link
투케이2K
948. (Android/Java) [간단 소스] AWSIotMqttManager AWS MQTT clientToken 클라이언트 토큰 전송 방법 본문
Android
948. (Android/Java) [간단 소스] AWSIotMqttManager AWS MQTT clientToken 클라이언트 토큰 전송 방법
투케이2K 2025. 2. 14. 11:35[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : Java / Kotlin
![](https://blog.kakaocdn.net/dn/9jGvN/btsMiHF9PiU/rpJeX0GdXkn7SRJRgk8kc0/img.png)
[소스 코드]
// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------
- 언어 : Java / Kotlin
- 개발 툴 : AndroidStudio
- 기술 구분 : AWSIotMqttManager / MQTT / clientToken
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[사전) Aws MQTT clientToken 설명]
// --------------------------------------------------------------------------------------
1. clientToken 은 AWS IoT의 Thing Shadow 업데이트 요청을 추적하는 데 사용됩니다
>> clientToken은 요청을 보낸 후 응답을 식별하는 데 사용됩니다
2. clientToken 은 MQTT 3.1.1 버전 이하에서 주로 사용 되었으며, MQTT 5.0 이후 부터는 User Properties 속성을 주로 사용합니다
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[clientToken 설정 샘플 소스 코드] : publish
// --------------------------------------------------------------------------------------
-----------------------------------------------
[clientToken을 포함한 MQTT 메시지 포맷]
-----------------------------------------------
{
"state": {
"desired": { // App To Device 요청
"temperature": 25
}
},
"clientToken": "unique-client-token-123"
}
-----------------------------------------------
[clientToken을 포함한 JSON 메시지 생성]
-----------------------------------------------
public String createPayloadWithClientToken() {
try {
JSONObject state = new JSONObject();
JSONObject desired = new JSONObject();
desired.put("temperature", 25);
state.put("desired", desired); // App To Device 요청 의미 : desired
JSONObject payload = new JSONObject();
payload.put("state", state);
payload.put("clientToken", "unique-client-token-123");
return payload.toString();
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------
https://aws-amplify.github.io/aws-sdk-android/docs/reference/com/amazonaws/mobileconnectors/iot/AWSIotMqttManager.html
https://aws-amplify.github.io/aws-sdk-android/docs/reference/com/amazonaws/mobileconnectors/iot/AWSIotMqttManager.html#updateUserMetaData-java.util.Map-
// --------------------------------------------------------------------------------------
반응형
'Android' 카테고리의 다른 글
Comments