红包服务开发指南

    概述

    在融云 IMKit SDK 基础上,通过集成红包 SDK,使应用具备发送红包及转账功能,支持单聊、群组会话场景。

    红包 SDK 从 2.9.3 版本开始支持转账功能。

    开通方式

    融云开发者平台预先充值后,开通红包服务。

    服务计费说明

    费用结构

    费用由功能使用费 + 手续费资源包组成,详细说明:

    • 功能使用费:450 元 / 月,含 1 万元的充值流水。

    • 手续费资源包:50 元 / 个,含 1 万元的充值流水,可叠加购买使用,当月已使用的手续费资源包,月底清零剩余的充值流水,不累计到次月使用。

    充值流水说明:当用户在红包内使用支付宝、银行卡等平台支付进行充值操作时,平台需扣除一定的支付手续费,这些充值金额记为充值流水。例如:使用支付宝向红包内充值 100 元,则 100 元为充值流水。

    计费规则

    1. 开通时红包功能使用费余额不小于 450 元,且手续费资源包个数不小于 0 ,才能使用红包服务,按月扣费(每月 1 日扣上月费用),每月 450 元。

    2. 每次关闭服务,结算开通时段费用,如该应用产生欠费,则用预存款余额补平,或累计欠费在该应用下,如红包功能使用费有剩余余额,自动转存到预存款余额中。

    3. 当月服务费用 = 当月服务所有开通时段的费用之和;时段费用 = 月费用 / 当月实际天数 * 该时段对应天数。

    4. 红包功能使用费和手续费资源包属于两个账户,不互通,即当手续费资源包欠费时,红包功能使用费的余额不能抵扣,反之也是。

    关停说明

    如出现以下任意情况,融云将关停服务

    • 红包功能使用费出现欠费
    • 有欠费的手续费资源包
    关停服务会保留以下功能:余额发红包、领取红包、余额转账、接收转账、提现、绑卡、修改/忘记支付密码,其他操作不可使用。

    注意事项

    1. 只有通过第三方支付平台(银行、支付宝)充值到红包时需要收支付手续费,利用余额发送红包和从红包余额提现至银行均不收支付手续费。

    2. 如同一个开发者有多个 App 都开通红包功能,则都需交使用费 450 元 / 月,充值流水额度不共享。

    3. 当月已使用的手续费资源包,月底清零剩余的充值流水,不累计到次月使用。

    4. 8 月 1 日正式计费, 7 月 31 日之前老版本红包和 8 月 1 日上线新版本红包功能之间的消息可以互通,如使用老版本也需缴费。

    5. 8 月 1 日之后集成的新用户可以先免费开通红包试用 10 天,试用后需要客户提前在账户里充钱(至少 450 元)才可以正式开通使用。

    iOS 开发指南

    注意事项:融云 SDK 的 IM 红包功能是由一路魔方科技提供的服务,若您的 App 之前已集成过一路魔方的红包 SDK,为了保证两个平台数据兼容和一致性,请提交工单咨询帮助,感谢您的配合。
    点击查看红包使用说明书红包业务常见问题
    您可以在红包统计中查看红包的数据统计情况。

    只要按照下面的步骤正常的集成了红包 SDK,那么就可以在 App 中正常使用红包功能,不需要再申请开通。

    红包 SDK 从 2.8.5 版本开始支持 HTTPS,如果您使用的是 2.8.2 至 2.8.4 版本的红包 SDK,那么请参考红包 SDK 的 ATS 设置

    开始集成扩展模块需要以下几步:

    一、把红包 SDK 文件夹拷贝到项目文件夹下,并导入到项目工程中。

    二、Build Settings 中 Other Linker Flags 添加 -ObjC 。

    三、添加系统依赖库:

    • CoreMotion.framework
    • CoreText.framework

    四、从红包 SDK 2.8.5 版本开始支持 HTTPS,如果需要使用 HTTP 协议,需要在 App 项目的 plist 手动添加以下 key 和 value 来支持。

    <key>NSAppTransportSecurity</key>
      <dict>
    <key>NSAllowsArbitraryLoads</key>
       <true/>
      </dict>
    

    五、需要在 AppDelegate.m 中加入如下代码处理:

    1. Application:didFinishLaunchingWithOptions: 函数中初始化融云之后,为红包扩展设置 URL scheme。

      //初始化融云SDK
      [[RCIM sharedRCIM] initWithAppKey:RONGCLOUD_IM_APPKEY];
      //设置红包扩展的Url Scheme。
      [[RCIM sharedRCIM] setScheme:@"rongcloudRedPacket" forExtensionModule:@"JrmfPacketManager"];
      

      说明:

      scheme: 支付宝支付成功后,回调您的应用时使用,如果有另一个 App 与您的 scheme 相同,则红包发送失败,建议用应用名+功能名组合模式定义您的 scheme;如果您在使用红包之前已经使用了支付宝,那么红包的 scheme 要和之前支付宝的 scheme 分开,保证红包的 scheme 仅用于红包。

      extensionModule:红包 SDK 默认值为 JrmfPacketManager 不能修改。

    2. 在 Appdelegate.m 中添加 openUrl 处理函数。

      - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options {
      if ([[RCIM sharedRCIM] openExtensionModuleUrl:url]) {
        return YES;
      }
      return YES;
      }
      
      - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
      if ([[RCIM sharedRCIM] openExtensionModuleUrl:url]) {
        return YES;
      }
      return YES;
      }
      
    3. 最后在 Info.plist 添加对应的 scheme(Scheme 为下述支付宝回调参数)。

    image

    六、支持支付宝支付,需将 AlipaySDK 文件夹如上导入,并在 Build Phases 选项卡的 Link Binary With Libraries 中,增加以下依赖:

    image

    七、在 App 合适位置添加“我的钱包”入口,在调用钱包时,需要引入头文件:

    低于 2.8.5 版本

    #import <JrmfPacketKit/JrmfPacketManager.h>
    

    调用方法:

    [JrmfPacketManager getEventOpenWallet];
    

    2.8.5 及更高版本

    #import <JrmfWalletKit/JrmfWalletKit.h>
    

    调用方法:

    [JrmfWalletSDK openWallet];
    

    获取红包版本的方法

    #import <JrmfPacketKit/JrmfPacketManager.h>
    

    调用方法:

    [JrmfPacketManager getCurrentVersion];
    

    八、如想在群组中实现红包功能,需要实现以下代理,提供群组成员数据给融云 SDK:

    //RCIM Class
    
    /*!
    群组成员列表提供者
    */
    @protocol RCIMGroupMemberDataSource <NSObject>
    @optional
    
    /*!
    获取当前群组成员列表的回调
    
    @param groupId     群ID
    @param resultBlock 获取成功 [userIdList:群成员ID列表]
    */
    - (void)getAllMembersOfGroup:(NSString *)groupId
    result:(void (^)(NSArray<NSString *> *userIdList))resultBlock;
    @end
    

    Android 开发指南

    注意事项:融云 SDK 的 IM 红包功能是由一路魔方科技提供的服务,若您的 App 之前已集成过一路魔方的红包 SDK,为了保证两个平台数据兼容和一致性,请提交工单咨询帮助,感谢您的配合。
    点击查看红包使用说明书红包业务常见问题
    您可以在开发者后台红包统计中查看红包的数据统计情况。

    1、 融云官网提供 RedPacket Module 下载,开发者需要在自己应用的 build.gradle 文件中添加依赖 compile project(':RedPacket')。

    2、 SDK 会默认加载红包模块,并在私人、群组会话 "+" 号区域出现红包插件(暂不支持其他会话类型)。

    3、 开发者需要实现 RongIM#setGroupMembersProvider(IGroupMembersProvider) 方法,用于红包功能中展示群组成员信息。

    4、 红包模块提供如下接口,进入"我的钱包"界面:

    /**
     * 进入我的钱包页面
     * @param activity :从哪个activity的跳转
     */
    JrmfClient.intentWallet(Activity activity);