Skip to content

Meiqia/MeiQia_For_APICloud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 

Repository files navigation

/* Title: meiQia Description: meiQia */

[iOS平台注意要点](#0) [initMeChat](#1) [setTitleColor](#2) [setTitleBarColor](#3) [show](#4) [setScheduledAgentOrAgentGroup](#5) [setClientInfo](#6) [setLoginMQClientId](#7) [setLoginCustomizedId](#8)

#概述

注意:本模块最低支持 iOS 6.0,Android 2.3

美洽是一款实现手机用户与企业保持随时随刻沟通的客服工具。本模块封装了美洽的相关接口。使用此模块之前需要先注册美洽获取appkey。

图片说明

##Appkey获取方法

使用管理员权限账号登陆美洽,在 设置 --> SDK 页面中,选择 添加 App 配置 ,根据提示配置App信息,然后添加 APP 即可得到 appkey 用于配置。

#开源地址

模块源代码和集成Demo: https://github.com/Meiqia/MeiQia_For_APICloud

模块中的美洽UI源代码: https://github.com/Meiqia/MeiqiaSDK-iOS https://github.com/Meiqia/MeiqiaSDK-Android

#iOS平台注意要点

##说明 iOS中很多功能需要配置Info.plist才能实现。使用美洽模块,需要正确配置info.plist文件才能使用,否则无法初始化成功。 相关链接:【官方】iOS修改Info.plist

##如何修改 Info.plist是xml格式的文件,可以新建一个文本文件,修改内容后命名为Info.plist,然后将文件放置在代码包里面的res文件夹下,云编译时会将里面的内容添加到编译工程里面的Info.plist中。

##Info.plist内容

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>NSAppTransportSecurity</key>
	<dict>
		<key>NSAllowsArbitraryLoads</key>
		<true/>
		<key>NSExceptionDomains</key>
		<dict>
			<key>s3.cn-north-1.amazonaws.com.cn</key>
			<dict>
			<key>NSExceptionRequiresForwardSecrecy</key>
				<false/>
			</dict>
		</dict>
	</dict>
</dict>
</plist>

#initMeiQia

初始化美洽

initMeiQia(params, callback)

##params

appkey:

  • 类型:字符串
  • 默认值:无
  • 描述:注册美洽后,从美洽后台获得的appkey,不可为空

callback:

  • 类型:方法
  • 默认值:无
  • 描述:初始化成功将返回顾客ID(ClientId),初始化失败将返回错误描述

##示例代码

//创建美洽
var mq = api.require('meiQia');

//配置初始化美洽需要的appkey
var param = {
    appkey:"33c19c19bd858746b878fcc93166f2e5"
};
        
//初始化美洽
mq.initMeiQia(param, function (ret, err){
    if (ret) {
	    //初始化成功
        alert(JSON.stringify(ret));
    }else{
	    //初始化失败
        alert(JSON.stringify(err));
    }
})

##补充说明

必须在初始化后才能正常使用此模块的其他方法,所以建议将初始化放在App启动时执行。美洽模块只需要初始化一次。

##可用性

iOS系统,Android系统

可提供的3.0.0及更高版本

#setTitleColor

设置美洽聊天界面的标题栏中文字的颜色 setTitleColor(params)

##params

color:

  • 类型:字符串
  • 默认值:无
  • 描述:#FFFFFF格式的HTML颜色。

##示例代码

var mq = api.require('meiQia');
//设置title以及按钮颜色
var titleColor = {
    color:"#ffffff"
};
mq.setTitleColor(titleColor);

#setTitleBarColor

设置美洽聊天界面的标题栏背景颜色 setTitleBarColor(params)

##params

color:

  • 类型:字符串
  • 默认值:无
  • 描述:#FFFFFF格式的HTML颜色。

##示例代码

var mq = api.require('meiQia');
//设置标题栏背景颜色
var titleBarColor = {
    color:"#00ff00"
};
mq.setTitleBarColor(titleBarColor);

#show

弹出美洽聊天界面

show()

##示例代码

var mq = api.require('meiQia');
mq.show();

##补充说明 如果需要指定客服setScheduledAgentOrAgentGroup()、添加自定义信息setClientInfo()、设置美洽顾客IDsetLoginMQClientId()或设置自定义IDsetLoginCustomizedId(),需要在show()前执行,否则无效。

##可用性

iOS系统,Android系统

可提供的3.0.0及更高版本

#setScheduledAgentOrAgentGroup

指定分配客服与客服组

setScheduledAgentOrAgentGroup(params)

##params

agentId:

  • 类型:字符串
  • 默认值:无
  • 描述:在美洽系统中客服对应的ID

agentGroup:

  • 类型:字符串
  • 默认值:无
  • 描述:在美洽系统中客服组对应的ID

scheduleRule:

  • 类型:字符串
  • 默认值:enterprise
  • 描述:
    • none:不转接给任何人,让用户留言
    • group: 转接给组内的人
    • enterprise: 转接给企业其他随机一个人

##示例代码

var mq = api.require('meiQia');
//设置指定分配给某客服,并且如果客服不在线,则留言而不转接给其他客服
var scheduleParam = {
    agentId: "ed55383a0fa82bbe8242ee16477c9ac3",
    scheduleRule: "none"
};
mq.setScheduledAgentOrAgentGroup(scheduleParam);

##补充说明

agentId和agentGroup可只传其中一个,也可同时都传。美洽系统将优先分配指定客服,如果客服不在线,则分配到指定的客服组,如果客服组也无人在线,则分配到全部客服。如果使用该接口,那么需要在show之前调用

##可用性

iOS系统,Android系统

可提供的3.0.0及更高版本

#setClientInfo

效果图:

效果图

添加规范化用户信息

setClientInfo(params)

##params

默认参数 描述
avatar 头像 URL
address 地址
age 年龄
comment 备注
email 邮箱
gender 性别
name 名字
qq QQ
tel 电话
weibo 微博
weixin 微信
source 顾客来源
tags 标签,数组形式。且必须是企业中已经存在的标签

##示例代码

var mq = api.require('meiQia');
//设置用户信息
var infoParam = {
    email: "dev@meiqia.com",
    comment: "这是备注",
    avatar: "https://app.meiqia.com/images/logo.png",
    tags: ["付费用户","使用疑问"]
};
mq.setClientInfo(infoParam);

##补充说明

自定义用户信息将会被传送到美洽服务端,用于对话时显示给客服人员一作参考。这些参数都是可选的,可以选择其中的一个或者多个传递。此接口必须在show之前执行。

可用性

iOS系统,Android系统

可提供的3.0.0及更高版本

#setLoginMQClientId

设置美洽顾客的 id 后,该id对应的顾客将会上线。设置后可实现消息漫游。 setLoginMQClientId(params)

##params

id:

  • 类型:字符串
  • 默认值:无
  • 描述:美洽的ClientID。会在成功初始化美洽后返回。

##示例代码

var mq = api.require('meiQia');
//设置美洽ID
var clientIdParam = {
    id:"9f0b2d3339edeec591a6e3be5dbafd64",
};
mq.setLoginMQClientId(clientIdParam);

##补充说明

如果美洽服务端没有找到该顾客 id 对应的顾客,则会返回该顾客不存在的错误。

可用性

iOS系统,Android系统

可提供的3.0.0及更高版本

#setLoginCustomizedId

使用该接口,可让美洽绑定开发者的用户系统和美洽的顾客系统。 设置开发者自定义 id 后,将会以该自定义 id 对应的顾客上线。设置后可实现消息漫游。

setLoginCustomizedId(params)

##params

id:

  • 类型:字符串
  • 默认值:无
  • 描述:开发者自定义的用户ID。尽量避免使用\、<、>、?、@等符号作为ID

##示例代码

var mq = api.require('meiQia');
//设置自定义用户Id
var customizedIdParam = {
    id:"id00001",
};
mq.setLoginCustomizedId(customizedIdParam);

##补充说明

注意,如果美洽服务端没有找到该自定义 id 对应的顾客,则美洽将会自动关联该 id 与 SDK 当前的顾客。 如果开发者的自定义 id 是自增长,美洽建议开发者服务端保存美洽顾客 id,登陆时 设置登录客服的顾客 id,否则非常容易受到中间人攻击。

可用性

iOS系统,Android系统

可提供的3.0.0及更高版本