getPayloadObject method
Implementation
Future<NtiuspPayload> getPayloadObject(String payloadStr) async {
// JSON 디코딩
final Map<String, dynamic> decoded = json.decode(payloadStr);
NtiuspPayload result;
if (Platform.isAndroid) {
// Android: 그대로 매핑
result = NtiuspPayload.fromJson(decoded);
} else if (Platform.isIOS) {
final Map<String, dynamic> modified = Map<String, dynamic>.from(decoded['ntiuspNoti'] ?? {});
// aps.alert의 title, body 반영
final alert = decoded['aps']?['alert'];
if (alert != null) {
modified['notiMsgTitle'] = alert['title'] ?? '';
modified['notiMsg'] = alert['body'] ?? '';
}
modified['pushId'] = modified['pushId'];
result = NtiuspPayload.fromJson(modified);
} else {
// 기타 플랫폼 기본 처리
result = NtiuspPayload.fromJson(decoded);
}
return result;
}