Bark 使用指南:搭建私有 iOS 消息推送服务
Bark 可以通过浏览器、脚本、各种程序来给 iOS 设备发送消息通知。搭建Bark私人服务器,所有数据将只在 你的手机、服务器、Apple推送服务器之间传输。针对个人隐私数据也可以在推送前进行加密处理。
典型的使用场景:我有些自动提醒,当收到通知后看一眼,看完就划掉删了~
一、拉取镜像
docker pull finab/bark-server
二、安装程序
服务端安装
docker run -dt \
--name bark \
-p 8080:8080 \
-v /data/bark:/data \
finab/bark-server
移动端安装,可直接到 App Store 搜索并下载
三、常用发送模板
消息体中遇如下字符需要进行url-encoder
转义:/
为%2F
、空格符 为%20
消息体中遇如下字符需要进行
url-encoder
转义:/
为%2F
、空格符 为%20
详细参数见:官方文档
普通消息:http://ip:8080/your_key/标题/内容
分组消息:http://ip:8080/your_key/标题/内容?group=组名称
可带图标:http://ip:8080/your_key/标题/内容?icon=图标地址
通知铃声:http://ip:8080/your_key/标题/内容?sound=xxxxxx
四、WP接入通知
编辑主题目录下的functions.php
文件,在末尾添加以下内容,根据自身情况替换相应参数
/**
* WordPress Bark 推送评论通知
*
* $comment 评论结构
* $post_name 被评论的文章
* $bark_key bark token
* $bark_icon bark 推送图标
* $bark_group bark 群组
* $bark_goto_url bark 文章链接
* $bark_sound bark 推送声音
* $bark_archive bark 保存信息 1-启用 0-停用 启用后客户端自动保存推送信息
* $isMyself 检测作者ID 1-启用 0-停用 启用后当评论者为 $customName 时不通知
* $customName 作者评论ID 如果此值为空,则停用检测
*
**/
function bark_push_msg($comment, $post_name)
{
$bark = "https://api.day.app/";
$bark_key = "********";
$bark_icon = "";
$bark_group = "Blog";
$bark_goto_url = get_permalink( $comment->comment_post_ID );
$bark_sound = "gotosleep";
$bark_archive = "1";
$isMyself = "1";
$customName = "admin";
if($isMyself == '1') {
if (!empty($customName)) {
if ($comment->comment_author == $customName) {
return $comment;
}
} elseif ($comment->comment_author == 1) {
return $comment;
}
}
$title = "博客收到了新的评论";
$message = $comment->comment_author . "在『 $post_name 』评论:\n" . $comment->comment_content;
$postdata = array(
'title' => $title,
'body' => $message
);
!empty($bark_icon) ? $postdata["icon"] = $bark_icon : "";
!empty($bark_group) ? $postdata["group"] = $bark_group : "";
!empty($bark_archive) ? $postdata["isArchive"] = $bark_archive : "";
!empty($bark_sound) ? $postdata["sound"] = $bark_sound : "";
!empty($bark_goto_url) ? $postdata["url"] = $bark_goto_url : "";
$opts = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => http_build_query($postdata)
),
"ssl" => array(
"verify_peer" => false,
"verify_peer_name" => false
)
);
$context = stream_context_create($opts);
$result = file_get_contents($bark.$bark_key, false, $context);
return $comment;
}
add_action('comment_post', 'comment_bark_notify');
function comment_bark_notify($comment_id)
{
$comment = get_comment($comment_id);
bark_push_msg($comment, get_the_title($comment->comment_post_ID));
}
THE END
二维码
打赏
文章目录
关闭
共有 0 条评论