常见问题
最近更新:2021-12-15
展开全部

常见问题

appkey 如何获得?

极光开发者控制台创建应用后,进入该应用的设置,可在该位置查看 appkey。如图

shiyong

离线消息保存时间和条数是多少?

免费版本:每个会话保存100条离线消息,保存15天。
付费版本:每个会话保存300条离线消息,保存30天。

REST API使用频率的限制是多少?

免费版本:每个Appkey的最高调用频率为600次/分钟。
付费版本:可享有更高的调用频率,最高调用频率为20万次/分钟。

每个appkey下的用户数量有限制吗?

总用户数没有限制

群成员上限是多少,群数量上限是多少?

默认每个群最多500个成员,每个appkey的群总数无上限,单个用户最多加入500个群,对于特殊需求我们目前最高支持每个群容纳2000人。

聊天室支持多少人?和群组有什么区别?

一个聊天室支持100万人。 聊天室和群组最大的区别在于,聊天室的消息没有推送通知和离线保存,也没有常驻成员的概念,只要进入聊天室即可接收消息,开始聊天, 一旦退出聊天室,不再会接收到任何消息、通知和提醒。 注意:进入聊天室会自动获取最近50条消息,客户端目前不支持创建聊天室

实时音视频怎么收费?如何开通服务?

价格说明

  • 语音通话,价格 0.008 元 / 分钟
  • 标清视频(分辨率 < 360P),价格 0.015 元 / 分钟
  • 高清视频(360P ≤ 分辨率 ≤ 720P),价格 0.03 元 / 分钟
  • 超清视频(分辨率 > 720P),价格 0.11 元 / 分钟

赠送规则:服务开通后系统每月赠送 6000 分钟免费使用时长到开发者账户,免费时长先扣除语音通信时长,不足 6000 分钟再扣除视频通信时长,当月赠送的时长没有用完不累计到次月。所赠送的免费时长按照实际使用费用先扣款,次月计算出相应的免费金额以充值的方式返还到音视频账户中。

计费方式

语音通话

语音通信按照分钟数和人数进行收费。 通话费用=语音单价 x 总通话分钟数

示例
用户 通话分钟数
A 20
B 40
C 15

通话费用 = 语音单价 x (20 + 40 + 15) 分钟

视频通话

视频通话按照分钟数,人数,以及视频分辨率进行收费。

场景 总费用
所有用户集合分辨率位于同一档 通话费用=该档单价 x 总通话分钟数
不是所有用户集合分辨率位于同一档 通话费用=Σ(用户对应档单价 x 通话对应分钟数)

注:1、每位用户计费的单价由该用户的 通话集合分辨率 而定。2、Σ 为数学符号,表示求和运算。

计算集合分辨率

假设通话中有 A, B, C, D 四个用户,对于 A 来说集合分辨率为:B, C, D 分辨率(宽 x 高)的面积之和。例如:

  • B 面积 = 640x360 = 230400
  • C 面积 = 240x180 = 43200
  • D 面积 = 640x360 = 230400

则 A 的集合分辨率= B 面积 + C 面积 + D 面积 = 504000 因 640x360<504000<1280x720, 故 A 用户位于高清视频档。

示例 1:所有用户都使用同一档位
用户 通信分钟数 分辨率 集合分辨率 档位
A 15 240x180 129600<640x360 标清
B 30 240x180 129600<640x360 标清
C 20 240x180 129600<640x360 标清
D 40 240x180 129600<640x360 标清

通话费用 = 标清档单价 x (15 + 30 + 20 + 40) 分钟

示例 2:多种档位
用户 通信分钟数 分辨率 集合分辨率 档位
A 30 640x360 1612800>1280x720 超清
B 20 640x360 1612800>1280x720 超清
C 15 1280x720 921600=1280x720 高清
D 40 640x360 1612800>1280x720 超清

通话费用 = 超清档单价 x (30 + 20 + 40) 分钟 + 高清档单价 x 15 分钟

示例 3:音视频混合
用户 通信分钟数 分辨率 集合分辨率 档位
A 30 640x360 关闭其他视频,仅使用语音 按语音通话计费
B 40 640x360 1612800>1280x720 超清
C 15 1280x720 921600=1280x720 高清
D 20 640x360 1612800>1280x720 超清

通话费用 = 语音单价 x 30 分钟 + 高清档单价 x 15 分钟 + 超清档单价 x (40 + 20) 分钟

开通方法

音视频服务为付费功能,开通音视频服务,需保证音视频账户余额不低于400.00元。

充值方式

登录极光开发者服务后台,点击右上方个人信息下拉中的“音视频账户” ,可进入账户充值页面。使用微信进行账户充值 chongzhi

开通服务

在音视频统计页面中点击“立即开通”按钮,确认开通音视频服务 kaitong

怎么免费试用实时音视频服务?

我们为每个账户提供10000分钟的免费使用时长,在试用期间不收取任何费用,试用时间结束将停止服务,如果需要继续使用需要正式开通服务。 开通方式:点击“申请试用”按钮,申请成功后即可开始试用音视频服务 shiyong shiyong2

消息历史记录可以保存多久,如何获取?

极光服务端可为您保存近60天的历史记录。SDK会在本地保存一份消息历史记录,可永久保存,同时提供删除和查询的接口,您可自行管理。

可使用免费的IM REST Report拉取保存在服务端的历史消息,如果需要在 APP 自己的服务端实时保存聊天历史,可联系客服开通实时消息路由功能。

多端同时在线功能如何开启?具体规则是什么?

多端同时在线功能可在极光控制台开启,选择“应用设置”中的 “IM 设置”,点击启用按钮进行开启。需要注意的是此功能开启后不支持关闭。 多端在线

功能说明:支持移动端( Android 、 iOS ),PC 端,Web 端(JS、微信小程序),多端同时在线,端内平台之间互踢。
版本说明:仅支持 Android v2.3.0、iOS v3.3.0、Web v2.4.0、wxapplet v1.2.0、Windows v1.0.0 及以上版本 SDK。开启后,只要用户在以上版本多端登录过,所有更低版本的 SDK 将无法再登录使用。
例如:用户 A 使用以上版本的 SDK 同时登录了 Android 和 Web 端,之后他再用更低版本的 SDK 登录 Android、iOS、微信小程序或 Web 端,都无法登录。

可以实现跨应用聊天吗?

只要是同一开发者账号下创建的应用,都可以相互聊天,以满足开发者对于不同appKey下应用相互通信的需求。

已经集成了 JPush 还能集成 JMessage 吗?

JMessage 以 JPush 技术作为基础,共享 JPush 的网络长连接,兼容 JPush 的全部功能,可以同时集成 JPush SDK 和 JMessage SDK。

有相关数据统计报表吗?

有的,开发者控制台提供新增用户、活跃用户;新增群组、活跃群组;消息送达统计、消息类型统计分析等统计图表。

目前支持哪些平台?

已支持 Android、iOS、web、PC(包括 Windows 和 macOS)

能不能发送表情?

JMessage SDK 支持 emoji 表情发送。

Demo 的 UI 可以修改吗?

可以修改,JMessage 提供的是 SDK 和接口层的功能,界面可以任意自由实现,Demo UI 仅供参考并支持修改和重新设计。

Android 通知栏小图标可以自定义吗?

可以自定义,在上层项目的 res/drawable-xxx/目录下,提供一个名为 jmessage_notification_icon.png 的文件作为自定义图标,如果不存在此名称的文件,sdk 会使用默认应用 icon 作为通知栏小图标, 具体可以参考 sdk demo。

点击通知无法跳转?

如果您的项目中同时使用到了 JPush 和 JMessage 且有集成厂商通道,那么 IM 的通知还需要进行下面的处理。

SDK 端配置

注意 IM 的华为、小米、魅族、vivo 通道消息通知直接唤起的是指定 name 为“您的包名.JMessageOpenClickActivity”的 activity,OPPO 通道的消息通知直接唤起的是指定 action 为“您的包名.JMessageOpenClickActivity”的 activity,您需要在您包名目录下创建 JMessageOpenClickActivity, 例如 applicationId 为 "com.example.demo" 则需在 com.example.demo 目录下创建 JMessageOpenClickActivity,这个 Activity 也可以是一个中间页,唤起后再跳转到想去的页面。

<activity android:name="com.example.demo.JMessageOpenClickActivity" android:exported="true"> <intent-filter> <action android:name="您的包名.JMessageOpenClickActivity"/> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity>
          <activity android:name="com.example.demo.JMessageOpenClickActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="您的包名.JMessageOpenClickActivity"/>
            <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
</activity>

        
此代码块在浮窗中显示

获取IM消息内容

public class JMessageOpenClickActivity extends Activity { public static String TAG = "JMessageOpenClickActivity"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_jmessage_open_click); String data = null; //获取华为平台附带的 IM 消息 if (getIntent().getData() != null) { data = getIntent().getData().toString(); } //获取小米、魅族、oppo、vivo 平台附带的 IM 消息 if(TextUtils.isEmpty(data) && getIntent().getExtras() != null){ data = getIntent().getExtras().getString("JMessageExtra"); } if (!TextUtils.isEmpty(data)) { try { JSONObject jsonObject = new JSONObject(data); long msgId = jsonObject.optLong("msg_id"); // IM消息id JSONObject extras = jsonObject.optJSONObject("n_extras"); // IM 消息 extras 字段, extras 中可以设置 targetName,Appkey 从而找到对应 Conversation,并跳转至会话页面 } catch (JSONException e) { Log.w(TAG, "parse notification error"); } } } }
          public class JMessageOpenClickActivity extends Activity {
    public static String TAG = "JMessageOpenClickActivity";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_jmessage_open_click);
        String data = null;
        //获取华为平台附带的 IM 消息
        if (getIntent().getData() != null) {
            data = getIntent().getData().toString();
        }
        //获取小米、魅族、oppo、vivo 平台附带的 IM 消息
        if(TextUtils.isEmpty(data) && getIntent().getExtras() != null){
            data = getIntent().getExtras().getString("JMessageExtra");
        }
        if (!TextUtils.isEmpty(data)) {
            try {
                JSONObject jsonObject = new JSONObject(data);
                long msgId = jsonObject.optLong("msg_id"); // IM消息id
                JSONObject extras = jsonObject.optJSONObject("n_extras"); // IM 消息 extras 字段, extras 中可以设置 targetName,Appkey 从而找到对应 Conversation,并跳转至会话页面
            } catch (JSONException e) {
                Log.w(TAG, "parse notification error");
            }
        }
    }
}

        
此代码块在浮窗中显示
文档内容是否对您有帮助?

Copyright 2011-2022, jiguang.cn, All Rights Reserved. 粤ICP备12056275号-13 深圳市和讯华谷信息技术有限公司

在文档中心打开