2.5 KiB
2.5 KiB
OPPO推送 - 强提醒替代方案
问题
无法找到"通讯与服务类消息"权限申请入口,但需要实现强提醒功能。
替代方案
方案1: 使用 notify_level 参数(如果支持)
即使不使用 previte_message 频道,也可以尝试设置 notify_level 参数:
{
"notification": {
"notify_level": 2, // 2: 通知栏、锁屏、铃声、振动
"offLine": true,
"offLineTtl": 86400
}
}
方案2: 在应用端配置通知渠道
在 Android 应用中创建高优先级通知渠道:
// Android 代码示例
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
NotificationChannel channel = new NotificationChannel(
"high_priority_channel",
"重要消息",
NotificationManager.IMPORTANCE_HIGH
);
channel.setDescription("重要消息通知");
channel.enableLights(true);
channel.enableVibration(true);
channel.setVibrationPattern(new long[]{0, 1000, 500, 1000});
channel.setSound(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.notification_sound),
new AudioAttributes.Builder()
.setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
.setUsage(AudioAttributes.USAGE_NOTIFICATION)
.build());
NotificationManager notificationManager = getSystemService(NotificationManager.class);
notificationManager.createNotificationChannel(channel);
}
方案3: 联系 OPPO 客服
如果确实需要通讯与服务类消息权限,可以:
- 在 OPPO 开放平台找到"咨询"或"客服"入口
- 说明需要申请通讯与服务类消息权限
- 提供应用信息和使用场景
方案4: 使用 HTTP API 测试其他参数组合
尝试不使用 channel_id,但设置其他强提醒参数:
{
"notification": {
"title": "知你",
"content": "我是api",
"notify_level": 2,
"category": "IM",
"offLine": true,
"offLineTtl": 86400,
"showTimeType": 0,
"networkType": 0
}
}
测试脚本
已创建测试脚本,可以尝试不同的参数组合:
cd /home/renjianbo/push/push_server
./test_communication_service_push.sh OPPO_CN_95ac9afc103d70bb26441ec0cbb06b97
建议
- 优先尝试方案2:在应用端配置高优先级通知渠道,这是最可靠的方案
- 联系客服:如果必须使用通讯与服务类消息,联系 OPPO 客服咨询申请流程
- 查看文档:在 OPPO 开放平台的"文档"中查找相关说明