Files
push_server/test_push_8080.sh

96 lines
2.9 KiB
Bash
Raw Normal View History

2025-12-31 10:00:35 +08:00
#!/bin/bash
# OPPO推送测试脚本 (使用8080端口)
# 使用方法: ./test_push_8080.sh <device_token>
# device_token: OPPO手机的registration_id需要从OPPO手机应用中获取
if [ -z "$1" ]; then
echo "=========================================="
echo "OPPO推送测试脚本 (端口: 8080)"
echo "=========================================="
echo ""
echo "使用方法: $0 <device_token>"
echo ""
echo "device_token: OPPO手机的registration_id"
echo " (需要从OPPO手机应用中获取)"
echo ""
echo "示例: $0 1234567890abcdef1234567890abcdef"
echo ""
echo "如果没有device_token"
echo "1. 在OPPO手机上安装应用 (包名: com.xunpaisoft.social)"
echo "2. 启动应用并查看日志获取registration_id"
echo "3. 或者从OPPO推送平台查看设备列表"
exit 1
fi
DEVICE_TOKEN=$1
SERVER_URL="http://localhost:8080/android/push"
echo "=========================================="
echo "正在测试OPPO推送..."
echo "=========================================="
echo "设备Token: $DEVICE_TOKEN"
echo "服务器地址: $SERVER_URL"
echo "包名: com.xunpaisoft.social"
echo ""
# 构建推送消息JSON
# pushType=5 表示 OPPO 推送类型
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\": 5,
\"pushMessageType\": 0,
\"packageName\": \"com.xunpaisoft.social\",
\"deviceToken\": \"$DEVICE_TOKEN\",
\"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. OPPO手机是否收到推送通知"
echo "2. 查看服务器日志了解详细推送结果"
else
echo "✗ 推送请求失败 (HTTP $HTTP_CODE)"
echo ""
echo "请检查:"
echo "1. 服务器是否正常运行在8080端口"
echo "2. device_token 是否正确"
echo "3. 查看服务器日志: tail -f push.log 或查看控制台输出"
fi
echo ""
echo "=========================================="