OPPO厂商通道消息分类申请和使用

背景说明

2024年10月25日OPPO PUSH新规将消息分类为通讯与服务内容与营销两个大类别,详见:OPUSH消息分类细则

OPPO旧规将消息分为私信消息和公信消息两类。私信通道推送量和接收量均无限制。详见:OPPO消息分类说明

EMAS参数说明

OpenAPI高级接口 中的AndroidNotificationChannel参数有两个含义:

  • App在走阿里云自有通道时,AndroidNotificationChannel代表安卓8.0的通知通道。

    同时,这个参数在FCM、华为上代表自定义渠道,指定消息要展示在哪个通知渠道上

  • App离线时走OPPO厂商通道,AndroidNotificationChannel参数代表您申请的OPPO私信通道。

OpenAPI高级接口 中的AndroidMessageOppoCategory参数:

通讯与服务:

  • IM:即时聊天、音频、视频通话。

  • ACCOUNT:个人账号与资产变化。

  • DEVICE_REMINDER:个人设备提醒。

  • ORDER:个人订单/物流状态变化。

  • TODO:个人日程/待办。

  • SUBSCRIPTION:个人订阅。

内容与营销:

  • NEWS:新闻资讯。

  • CONTENT:内容推荐。

  • MARKETING:平台活动。

  • SOCIAL:社交动态。

详细请参考OPUSH 消息分类细则

OpenAPI高级接口 中的AndroidMessageOppoNotifyLevel参数:

OPPO 通道通知栏消息提醒等级。可取值为:

  • 1:通知栏。

  • 2:通知栏+锁屏。

  • 16:通知栏+锁屏+横幅+震动+铃声(需申请)。

说明

使用 AndroidMessageOppoNotifyLevel 参数时,必须同时传 AndroidMessageOppoCategory 参数。

OPPO私信通道申请

  1. 请先在app代码侧创建通道并得到通道ID,参考文档:安卓8.0通知通道。下例为申请一个ID为"vibration_sound"的通知通道。

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
    // 通道id。
    String channelId = "vibration_sound"; // 这个id值需要给后端开发和运维人员,推送的时候对应 AndroidNotificationChannel 参数。
    // 用户可以看到的通知渠道的名字。
    CharSequence name = "我的测试通道";
    // 用户可以看到的通知渠道的描述。
    String description = "我的测试通道";
    int importance = NotificationManager.IMPORTANCE_HIGH;
    NotificationChannel mChannel = new NotificationChannel(channelId, name, importance);
    // 配置通知渠道的属性。
    mChannel.setDescription(description);
    // 设置通知出现时的闪灯(如果Android设备支持的话)。
    mChannel.enableLights(true);
    mChannel.setLightColor(Color.RED);
    // 设置通知出现时的震动(如果Android设备支持的话)。
    mChannel.enableVibration(true);
    // 自定义铃声
    mChannel.setSound(Uri.parse("android.resource://"
    + this.getPackageName() + "/" + R.raw.push_hongbao), Notification.AUDIO_ATTRIBUTES_DEFAULT);
    mChannel.setVibrationPattern(new long[]{100, 200, 300, 400, 500, 400, 300, 200, 400});
    // 最后在notificationmanager中创建该通知渠道。
    mNotificationManager.createNotificationChannel(mChannel);
    }
  2. 将创建了该通道的app上线发版。

  3. 给OPPO发邮件申请设置该通道为私信通道。申请方式:在OPPO消息分类说明文档中搜索“申请私信通道权限”。

  4. OPPO 推送平台上登记该通道,并将通道对应属性设置为“私信”。

  5. 私信通道在客户端创建发版、登记完毕且邮件申请私信权益审核通过后私信通道权限生效,OPPO Push将在7个工作日内通过邮件答复私信模板审核结果。

OPPO新消息分类能力接入

需要您在推送平台自助开启新消息分类能力,进入到消息发送平台后点击配置管理→通道配置,点击页面中新 通道权限开关。

cd46b2bea181013f1f7671f7c1dc78a5.png

开启后您推送时需要配置AndroidMessageOppoCategory,AndroidMessageOppoNotifyLevel。

新消息分类接入后消息发送流程图

1ad0d3bba6aac6ee4f82def5e044db71.png

注意

  1. 上边创建通道的代码示例中有一些特性设置,比如设置震动,设置声音等。这些设置是只针对安卓8.0通知通道生效的,OPPO离线通道的这些特性需要其他方式设置。

  2. 新消息分类能力当前支持系统版本OS13及以上,后续会逐步向OS12及以下覆盖。使用新消息分类能力时,建议推送时同时填写AndroidMessageOppoCategoryAndroidNotificationChannel,来兼顾低版本用户的触达

  3. 开启新消息分类能力通讯与服务类消息默认提醒方式为<通知栏、锁屏>;您可以根据规则和需求申请<通知栏、锁屏、横幅、铃声、震动>的强提醒方式,强提醒方式会对用户造成一定程度打扰,请谨慎申请及使用。强提醒当前仅开放给应用二级分类中属于聊天交友、电话短信、办公类的应用申请,且申请消息类型仅限“IM类消息”,其他消息类型不予通过。同时申请时也需要提供相关模板和内容截图用于审核,最终以平台审核结果为准。

  4. 接入新消息分类后,默认遵循新消息分类形式进行消息推送,请您评估确认后再在开放平台打开新消息分类能力。为兼顾低版本用户,如果您已经接入过opush,推送通知时仍然可选择自建的通道,但仅针对不支持新消息分类的设备走自建的通道。

适用于

  • 移动推送

  • 移动推送服务端开发和运维