IM 即时通讯 (442)
Android (209)
- 初始化&链接 (8)
- 事件&监听处理 (7)
- 用户信息 (13)
- 会话列表 (16)
- 聊天会话 (26)
- 消息处理 (35)
- 自定义消息 (6)
- 音视频 (2)
- 推送&通知 (34)
- 扩展功能 (4)
- 第三方地图 (3)
- 依赖&配置 (9)
- 升级说明 (3)
- 其他 (43)
iOS (168)
- SDK 导入 (10)
- 连接 (8)
- 事件处理 (2)
- 用户信息 (3)
- 会话列表 (14)
- 聊天会话 (44)
- 消息处理 (26)
- 自定义消息 (8)
- 推送&通知 (19)
- 扩展功能 (5)
- 国际化 (4)
- 音视频 (3)
- 其他 (22)
Web (36)
Server (29)
如何使用通讯库开发公众号菜单?
回答:
1,首先要获取公众号菜单信息。
调用通讯库的getPublicServiceProfile:publicServiceId:来获取公众号帐号信息,里面有个属性是公众帐号菜单
/**
* 公众服务账号菜单
*/
@property(nonatomic, strong) RCPublicServiceMenu *menu;
2,要了解公众号菜单的结构。
菜单中有个数组,数组中的元素是菜单项。菜单项的定义如下:
@interface RCPublicServiceMenuItem : NSObject
/**
* 菜单Id
*/
@property(nonatomic, strong) NSString *id;
/**
* 菜单标题
*/
@property(nonatomic, strong) NSString *name;
/**
* 菜单链接
*/
@property(nonatomic, strong) NSString *url;
/**
* 菜单类型
*/
@property(nonatomic) RCPublicServiceMenuItemType type;
/**
* 子菜单,类型RCPublicServiceMenuItem
*/
@property(nonatomic, strong) NSArray *subMenuItems;
@end
其中。如果type的定义如下:
/**
* 公众服务号菜单项类型
*/
typedef NS_ENUM(NSUInteger, RCPublicServiceMenuItemType) {
/**
* 公众账号菜单组,内含有子菜单
*/
RC_PUBLIC_SERVICE_MENU_ITEM_GROUP = 0,
/**
* 公众账号菜单项, 响应查看事件
*/
RC_PUBLIC_SERVICE_MENU_ITEM_VIEW = 1,
/**
* 公众账号菜单项, 响应点击事件
*/
RC_PUBLIC_SERVICE_MENU_ITEM_CLICK = 2,
};
当type为group时,这是菜单就有子菜单。
另外两种分别是察看和点击类型。
3,公众号菜单的事件处理。
group类型的菜单点击时,会打开子菜单。菜单最多为2级。
View类型点击时,会调用浏览器打开链接,同时发送RCPublicServiceCommandMessage消息到后台。
Click类型点击时,会发RCPublicServiceCommandMessage消息到服务器后退。
RCPublicServiceCommandMessage消息可以用菜单项来构造,然后发送给当前公众号。