In-app notifications and messaging
Register the issuer application for notifications
Flow
Register and unregister
Integration flow
Retrieve messages and mark them as read
Flow
Integration flow
Last updated
Was this helpful?
Was this helpful?
MessagingService messagingService = d1Task.getMessagingService();
messagingService.registerMessageNotification(new D1Task.Callback<Void>() {
@Override
public void onSuccess(Void data){
// Proceed with the subsequent flows, for example, update UI.
}
@Override
public void onError(@NonNull D1Exception exception){
// Refer to D1 SDK Integration – Error Management section.
}
});
MessagingService messagingService = d1Task.getMessagingService();
messagingService.unregisterMessageNotification(new D1Task.Callback<Void>(){
@Override
public void onSuccess(Void unused){
// Proceed with subsequent flows.
}
@Override
public void onError(@NonNull D1Exception e){
// Refer to D1 SDK Integration – Error Management section.
}
});do {
messagingService = try d1Task.messagingService()
} catch let error {
// possible error: D1Error.Code.deviceEnvironmentUnsafe
}
messagingService.registerMessageNotification { error in
if error == nil {
// Proceed with subsequent flows.
} else {
// Refer to D1 SDK Integration – Error Management section.
}
}
messagingService.unregisterMessageNotification { error in
if error == nil {
// Proceed with subsequent flows.
} else {
// Refer to D1 SDK Integration – Error Management section.
}
}MessagingService messagingService = d1Task.getMessagingService();
D1Task.Callback<List<Message>> callback = new D1Task.Callback<List<Message>>() {
@Override
public void onSuccess(List<Message> messages) {
// Proceed with subsequent flows. For example, show the list to the end user.
for(Message message : messages) {
String id = message.getMessageID();
String title = message.getTitle();
String content = message.getMessage();
boolean isRead = message.isRead();
String timeStamp = message.getTimeStamp();
}
}
@Override
public void onError(@NonNull D1Exception e) {
// Refer to D1 SDK Integration – Error Management section.
}
};
messagingService.getMessageList(callback);do {
messagingService = try d1Task.messagingService()
} catch let error {
// possible error: D1Error.Code.deviceEnvironmentUnsafe
}
messagingService.messageList { messageList, error in
if let messageList = messageList {
// Proceed with subsequent flows. For example, show the list to the end user.
for message in messageList {
let id = message.id // To be used for marking message as read.
let title = message.title
let content = message.message
let isRead = message.isRead
let timestamp = message.timestamp
}
} else if let error = error {
// Refer to D1 SDK Integration – Error Management section.
}
}ArrayList<String> messageIDs = new ArrayList<>();
messageIDs.add("<#T##messageID1: String#>");
messageIDs.add("<#T##messageID2: String#>");
MessagingService messagingService = d1Task.getMessagingService();
D1Task.Callback<Void> callback = new D1Task.Callback<Void>() {
@Override
public void onSuccess(Void unused) {
// Proceed with subsequent flows. For example, update UI.
}
@Override
public void onError(@NonNull D1Exception e) {
// Refer to D1 SDK Integration – Error Management section.
}
};
messagingService.markMessageListAsRead(messageIDs, callback);do {
messagingService = try d1Task.messagingService()
} catch let error {
// possible error: D1Error.Code.deviceEnvironmentUnsafe
}
let ids = ["<#T##messageID1: String#>", "<#T##messageID2: String#>"]
messagingService.markMessageListAsRead(ids) { error in
if error == nil {
// Proceed with subsequent flows. For example, update UI.
} else {
// Refer to D1 SDK Integration – Error Management section.
}
}