Android・iOSともに、一度の操作でお知らせ全件を一括で既読にするメソッドは存在しません。
なお、未読のお知らせリストを取得し、そのリストに対して一つずつ既読にするループ処理を実行することで、お知らせを1件ずつ既読にすることができます。
以下に、お知らせを1件ずつ既読にするメソッドと、サンプルコードをご案内します。
お知らせを1件ずつ既読にするメソッド
iOS
PopinfoReceiver クラスの changeMessageToRead:メソッド
※詳細は、SDK組込みガイド>iOS SDK>各種機能>お知らせ一覧画面>「特定のメッセージを強制的に既読に変更したい」をご参照ください。
Android
PopinfoUtils.updateReadFlag メソッド
※詳細は、SDK 同梱の javadoc内「PopinfoUtils」をご確認ください。
サンプルコード
未読のお知らせ全件を取得するためには「お知らせの情報全件」を取得し、その中から未読のお知らせのみをフィルターする処理が必要です。
以下のコードでこの処理が実現可能です。
iOS
// 全件取得
let allMessages = PopinfoReceiver.shared.retrieveAllPopinfoMessages()
// 未読のみフィルタリング
let unreadMessages = allMessages.filter { $0.piUnread == 1 }
// 対象のお知らせを全て既読にする
for message in unreadMessages {
PopinfoReceiver.shared.changeMessage(toRead: message.piId.intValue)
}
Android(kotlin)
PopinfoUtils.getPopinfoAllMessages(this).filter{ !it.read }.forEach {
PopinfoUtils.updateReadFlag(this, it.id)
}