Protocol for serializing content items in Deep Linking responses.
Ltix implements this protocol for the five standard content item types and for plain maps (for one-off custom types). Implement this protocol on your own struct when you need a reusable custom content item type.
defmodule MyApp.ProctoredExam do
defstruct [:url, :title, :duration_minutes]
defimpl Ltix.DeepLinking.ContentItem do
def to_map(item) do
%{
"type" => "https://myapp.example.com/proctored_exam",
"url" => item.url,
"title" => item.title,
"https://myapp.example.com/duration" => item.duration_minutes
}
end
end
endThe platform's accept_types must include the "type" your to_map/1
returns.
Summary
Functions
Serialize the content item to a JSON-compatible map.
Types
@type t() :: term()
All the types that implement this protocol.