Files
push_server/test_vivo_push.sh

96 lines
2.9 KiB
Bash
Raw Normal View History

2025-12-31 16:26:12 +08:00
#!/bin/bash
# Vivo推送测试脚本 (使用8080端口)
# 使用方法: ./test_vivo_push.sh <reg_id>
# reg_id: Vivo手机的registration_id格式为 v2-xxx
if [ -z "$1" ]; then
echo "=========================================="
echo "Vivo推送测试脚本 (端口: 8080)"
echo "=========================================="
echo ""
echo "使用方法: $0 <reg_id>"
echo ""
echo "reg_id: Vivo手机的registration_id"
echo " (格式: v2-xxx需要从Vivo手机应用中获取)"
echo ""
echo "示例: $0 v2-CRujhn6Z8OU26yX4_EeUtGmiR6nJ21CXJmoFRMstHinrLqU9vH3u8g4OQQ"
echo ""
echo "如果没有reg_id"
echo "1. 在Vivo手机上安装应用 (包名: com.xunpaisoft.social)"
echo "2. 启动应用并查看日志获取reg_id"
echo "3. 或者从Vivo推送平台查看设备列表"
exit 1
fi
REG_ID=$1
SERVER_URL="http://localhost:8080/android/push"
echo "=========================================="
echo "正在测试Vivo推送..."
echo "=========================================="
echo "设备RegId: $REG_ID"
echo "服务器地址: $SERVER_URL"
echo "包名: com.xunpaisoft.social"
echo ""
# 构建推送消息JSON
# pushType=4 表示 Vivo 推送类型 (AndroidPushType.ANDROID_PUSH_TYPE_VIVO = 4)
TIMESTAMP=$(date +%s)
MESSAGE_ID=$TIMESTAMP
RESPONSE=$(curl -s -w "\nHTTP_CODE:%{http_code}" -X POST "$SERVER_URL" \
-H "Content-Type: application/json;charset=UTF-8" \
-d "{
\"pushType\": 4,
\"pushMessageType\": 0,
\"packageName\": \"com.xunpaisoft.social\",
\"deviceToken\": \"$REG_ID\",
\"pushContent\": \"这是一条测试推送消息 - $(date '+%Y-%m-%d %H:%M:%S')\",
\"sender\": \"test_user\",
\"senderName\": \"测试用户\",
\"target\": \"test_target\",
\"targetName\": \"测试目标\",
\"convType\": 0,
\"line\": 0,
\"cntType\": 1,
\"serverTime\": ${TIMESTAMP}000,
\"unReceivedMsg\": 1,
\"mentionedType\": 0,
\"isHiddenDetail\": false,
\"language\": \"zh\",
\"messageId\": $MESSAGE_ID,
\"republish\": false,
\"existBadgeNumber\": 0
}")
HTTP_CODE=$(echo "$RESPONSE" | grep "HTTP_CODE:" | cut -d: -f2)
BODY=$(echo "$RESPONSE" | sed '/HTTP_CODE:/d')
echo "----------------------------------------"
echo "服务器响应:"
echo "----------------------------------------"
echo "$BODY" | python -m json.tool 2>/dev/null || echo "$BODY"
echo ""
echo "HTTP状态码: $HTTP_CODE"
echo ""
if [ "$HTTP_CODE" = "200" ]; then
echo "✓ 推送请求已发送成功!"
echo ""
echo "请检查:"
echo "1. Vivo手机是否收到推送通知"
echo "2. 查看服务器日志了解详细推送结果"
else
echo "✗ 推送请求失败 (HTTP $HTTP_CODE)"
echo ""
echo "请检查:"
echo "1. 服务器是否正常运行在8080端口"
echo "2. reg_id 是否正确"
echo "3. 查看服务器日志: tail -f push.log 或查看控制台输出"
fi
echo ""
echo "=========================================="