package cn.axzo.msg.center.nimpush.payload;

import cn.axzo.msg.center.nimpush.PushContent;
import cn.axzo.msg.center.nimpush.PushPeer;
import cn.axzo.msg.center.nimpush.payload.intent.Intent;
import com.alibaba.fastjson.JSONObject;

/**
 * <a href="https://doc.yunxin.163.com/messaging/server-apis/DQyNjc5NjE?platform=server#apns%E6%8E%A8%E9%80%81%E6%B6%88%E6%81%AF">云信推送</a>
 * <a href="https://doc.yunxin.163.com/messaging/guide/TY4MzU5MDc?platform=android#%E8%AE%BE%E7%BD%AE%E6%8E%A8%E9%80%81%E9%80%9A%E7%9F%A5%E6%A0%8F%E8%B7%B3%E8%BD%AC%E6%96%B9%E5%BC%8F">各端推送配置</a>
 * <p/>
 * 文字, 链接、声音
 *
 * @author yanglin
 */
public interface PushPayloadBuilder<T extends Intent<?>> {

    T createIntent(PushContent content, PushPeer peer);

    void build(PushContent content, T intent, JSONObject payload);

}