func (p *Payload) AlertSummaryArgCount(key int) *Payload {
	p.aps().alert().SummaryArgCount = key
	return p
}
AlertSummaryArgCount sets the aps alert summary arg count key on the payload.
This integer sets a custom "weight" on the notification, effectively
allowing a notification to be viewed internally as two. For example if
a notification encompasses 3 messages, you can set it to 3.

{"aps":{"alert":{"summary-arg-count":key}}}
package payload
import "encoding/json"
type EInterruptionLevel string
const (
	InterruptionLevelPassive EInterruptionLevel = "passive"
	InterruptionLevelActive EInterruptionLevel = "active"
	InterruptionLevelTimeSensitive EInterruptionLevel = "time-sensitive"
	InterruptionLevelCritical EInterruptionLevel = "critical"
)
type Payload struct {
	content map[string]interface{}
}
type aps struct {
	Alert             interface{}        `json:"alert,omitempty"`
	Badge             interface{}        `json:"badge,omitempty"`
	Category          string             `json:"category,omitempty"`
	ContentAvailable  int                `json:"content-available,omitempty"`
	InterruptionLevel EInterruptionLevel `json:"interruption-level,omitempty"`
	MutableContent    int                `json:"mutable-content,omitempty"`
	RelevanceScore    interface{}        `json:"relevance-score,omitempty"`
	Sound             interface{}        `json:"sound,omitempty"`
	ThreadID          string             `json:"thread-id,omitempty"`
	URLArgs           []string           `json:"url-args,omitempty"`
}
type alert struct {
	Action          string   `json:"action,omitempty"`
	ActionLocKey    string   `json:"action-loc-key,omitempty"`
	Body            string   `json:"body,omitempty"`
	LaunchImage     string   `json:"launch-image,omitempty"`
	LocArgs         []string `json:"loc-args,omitempty"`
	LocKey          string   `json:"loc-key,omitempty"`
	Title           string   `json:"title,omitempty"`
	Subtitle        string   `json:"subtitle,omitempty"`
	TitleLocArgs    []string `json:"title-loc-args,omitempty"`
	TitleLocKey     string   `json:"title-loc-key,omitempty"`
	SummaryArg      string   `json:"summary-arg,omitempty"`
	SummaryArgCount int      `json:"summary-arg-count,omitempty"`
}
type sound struct {
	Critical int     `json:"critical,omitempty"`
	Name     string  `json:"name,omitempty"`
	Volume   float32 `json:"volume,omitempty"`
}
func NewPayload() *Payload {
	return &Payload{
		map[string]interface{}{
			"aps": &aps{},
		},
	}
}
func (p *Payload) Alert(alert interface{}) *Payload {
	p.aps().Alert = alert
	return p
}
func (p *Payload) Badge(b int) *Payload {
	p.aps().Badge = b
	return p
}
func (p *Payload) ZeroBadge() *Payload {
	p.aps().Badge = 0
	return p
}
func (p *Payload) UnsetBadge() *Payload {
	p.aps().Badge = nil
	return p
}
func (p *Payload) Sound(sound interface{}) *Payload {
	p.aps().Sound = sound
	return p
}
func (p *Payload) ContentAvailable() *Payload {
	p.aps().ContentAvailable = 1
	return p
}
func (p *Payload) MutableContent() *Payload {
	p.aps().MutableContent = 1
	return p
}
func (p *Payload) Custom(key string, val interface{}) *Payload {
	p.content[key] = val
	return p
}
func (p *Payload) AlertTitle(title string) *Payload {
	p.aps().alert().Title = title
	return p
}
func (p *Payload) AlertTitleLocKey(key string) *Payload {
	p.aps().alert().TitleLocKey = key
	return p
}
func (p *Payload) AlertTitleLocArgs(args []string) *Payload {
	p.aps().alert().TitleLocArgs = args
	return p
}
func (p *Payload) AlertSubtitle(subtitle string) *Payload {
	p.aps().alert().Subtitle = subtitle
	return p
}
func (p *Payload) AlertBody(body string) *Payload {
	p.aps().alert().Body = body
	return p
}
func (p *Payload) AlertLaunchImage(image string) *Payload {
	p.aps().alert().LaunchImage = image
	return p
}
func (p *Payload) AlertLocArgs(args []string) *Payload {
	p.aps().alert().LocArgs = args
	return p
}
func (p *Payload) AlertLocKey(key string) *Payload {
	p.aps().alert().LocKey = key
	return p
}
func (p *Payload) AlertAction(action string) *Payload {
	p.aps().alert().Action = action
	return p
}
func (p *Payload) AlertActionLocKey(key string) *Payload {
	p.aps().alert().ActionLocKey = key
	return p
}
func (p *Payload) AlertSummaryArg(key string) *Payload {
	p.aps().alert().SummaryArg = key
	return p
}