Bmob_IM是如何实现更改头像的?

Bmob_IM是如何实现更改头像的?,第1张

代码我无法提供,但是能提供思路。

先上传文件;

获取头像上传后的地址,设置头像的地址;

保存数据。

逻辑非常简单,你可以参考下demo中的源码。

方法/步骤

SDK 工作流程

Udesk-SDK的工作流程如下图所示。

Udesk SDK 导入

1. 下载Udesk SDK ,导入SDK包到你的工程。

2. 导入以下框架到你的工程

3. 点击你的工程targets ->Build Settings 搜索 Other Linker Flags 加入 -lxml2 -ObjC

快速启用SDK

使用Udesk提供的UI,可以免去UI部分的开发,更快的嵌入应用。使用Udesk SDK 提供的UI,必须执行 初始化函数、创建用户函数和调出视图函数三个步骤,其余接口为可选项。

1.注册udesk 替换key和domain

[[Udesk shareUdeskSDK] installForApiKey:@"您公司密钥" domainName:@“您公司域名"]

2.创建用户并传入用户信息

NSDictionary *parameters = @{

@"user": @{

@"nick_name": @"小明",

@"cellphone":@"18888888888",

@"weixin_id":@"xiaoming888",

@"weibo_name”:@"xmwb888",

@"qq":@"8888888",

@"email":@"xiaoming@qq.com",

@"description":@"用户描述",

}

}

[[Udesk shareUdeskSDK] createCustomer :parameters]

3.推出视图

[[Udesk shareUdeskSDK] showFAQs:self withOptions:nil]

至此,你已经为你的 APP 添加Udesk提供的客服服务。而Udesk SDK 还提供其他强大的功能,可以帮助提高服务效率,提升用户使用体验。接下来为你详细介绍如何使用其他功能。

接口说明:

初始化SDK

注意:所有 *** 作都必须在初始化SDK后才能正常执行!

将 SDK 文件添加到工程,在AppDelegate中引用 Udesk.h 文件,然后在application: willFinishLaunchingWithOptions:函数中初始化 SDK 。

注册udesk 替换key和domain

[[Udesk shareUdeskSDK] installForApiKey:@"您公司密钥" domainName:@“您公司域名”]

获取秘钥(管理员登录)

添加用户信息和用户自定义字段

注意:若要在SDK中使用 用户自定义字段 需先在网页端设置添加用户自定义字字段。

用户字段包含了一名联系人的所用数据。目前Udesk完全支持自定义用户字段,您可以选择输入型字段和选择型字段。如果是选择型字段,需要提供多个自定义的选项供您的客户进行选择。如果是输入型字段,用户会看到一个文本输入框,在其中输入数据。

调用用户自定义字段函数:

[[Udesk shareUdeskSDK] getUserFields:^(NSDictionary *fieldsDict) {

NSLog(@"fieldsDict:%@",fieldsDict)

}]

返回信息:

fieldsDict:{

message = success

status = 0

"user_fields" = (

{

comment = “测试测试” ———————————-字段描述

"content_type" = droplist———————————-字段类型

"field_label" = "测试" ———————————-用户名

"field_name" = “SelectField_109" ———————————-字段名

options = ( ———————————-下拉列表选项

{

0 = "测试用户自定义字段"

}

)

permission = 0———————————客户不可见

requirment = 1———————————客户可见,但不可修改

}

}

使用:

//2.创建用户并传入用户信息和用户自定义字段

NSDictionary *parameters = @{

@"user": @{

@"nick_name": @"hehe",

@"cellphone":@"333312313",

@"weixin_id":@"xs28888",

@"weibo_name":@"xuch27777",

@"qq":@"234661166",

@"email":@"de28@qq.com",

@"description":@"好",

@"customer_field":@{@"SelectField_109":@"0"}

}

}

[[Udesk shareUdeskSDK] createCustomer :parameters]

注意:参数都是非必需,你还可以这样写:

NSDictionary *parameters = @{

@"user": @{ }

}

获取历史消息

[[Udesk shareUdeskSDK] getAllMessageAndServeEvents:^(NSArray *allMessages) {

NSLog(@"dataList:%@",allMessages)

}]

清除历史消息

[[Udesk shareUdeskSDK] clearBreadCrumbs]

显示客服在线状态和名字

[[Udesk shareUdeskSDK] showAgentOnlineStatus:YES showAgentName:YES]

显示咨询对象和店铺名字

咨询对象:

NSDictionary *commodityDict = @{

@"commodity_url":@"http://www.udesk.cn", //必须

@"commodity_title":@"测试标题测试标题测试标题测试标题测试标题测试标题测试标题测试标题",//必须

@"commodity_imageUrl":@"http://pic.baike.soso.com/p/20140717/20140717104126-817003180.jpg",

@"commodity_detail":@"测试子标题测试子标题测试子标题"

}

[[Udesk shareUdeskSDK] commodityParameters:commodityDict]

店铺名字:

将店铺名字写成字典 传入调用视图的三个API的optionsDictionary参数里。

示例:

NSDictionary *dic = @{@"shopName":@"廉城电器"}

[[Udesk shareUdeskSDK] showFAQs:self withOptions:dic]

调出视图

Udesk提供的视图,完成了一整套Udesk中的接口。让开发者免去 UI 开发工作。我们提供三个借口:

//显示独立的帮助中心

[[Udesk shareUdeskSDK] showFAQSection:self withOptions:nil]

//显示独立的IM界面

[[Udesk shareUdeskSDK] showConversation:self withOptions:nil]

//显示帮助中心和IM的集合

[[Udesk shareUdeskSDK] showFAQs:self withOptions:nil]

鉴于目前Google官方推荐使用 Android Studio 进行Android项目开发,自 V3.4.2 开始,Bmob Android SDK 可以使用Gradle来进行包依赖管理,如果你使用Android Studio来进行基于BmobSDK的项目开发,建议你进行如下 *** 作:

1、在Project的build.gradle文件中添加如下配置(注意文字说明部分):

buildscript {

repositories {

jcenter()

}

dependencies {

classpath 'com.android.tools.build:gradle:1.2.3'

}

}

allprojects {

repositories {

jcenter()

//Bmob的maven仓库地址,必须填写

maven { url "https://raw.github.com/bmob/bmob-android-sdk/master" }

}

}

2、在app的build.gradle文件中添加如下配置(注意文字说明部分):

apply plugin: 'com.android.application'

android {

compileSdkVersion 22

buildToolsVersion '22.0.1'

defaultConfig {

applicationId "cn.bmob.android"

minSdkVersion 14

targetSdkVersion 22

versionCode 1

versionName "1.0"

}

buildTypes {

release {

minifyEnabled false

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

}

}

lintOptions{

abortOnError false

}

}

dependencies {

compile fileTree(dir: 'libs', include: ['*.jar'])

compile 'com.android.support:appcompat-v7:22.2.0'

//以下SDK开发者请根据需要自行选择

//bmob-sdk :Bmob的android sdk包

compile 'cn.bmob.android:bmob-sdk:3.4.5'

//bmob-push:Bmob的推送包

compile 'cn.bmob.android:bmob-push:0.6'

//bmob-im:bmob的im包,以下两个配置是im功能所需

compile 'cn.bmob.android:bmob-im:1.1.9'

compile 'cn.bmob.android:bmob-sdk:3.4.3'

//okhttp(选填):为解决弱网情况下SDK请求失败及响应慢的问题,自`V3.4.3版本`开始使用`okhttp`优化SDK的网络框架。

compile 'com.squareup.okhttp:okhttp:2.4.0'

compile 'com.squareup.okio:okio:1.4.0'

//bmob-sms :Bmob单独为短信服务提供的包

compile 'cn.bmob.android:bmob-sms:1.0.1'

}

注:

1、如果你只需要Bmob提供的短信功能,那么你只需单独配置bmob-sms,如果你既需要bmob的数据服务,也需要短信服务,那么你只需要配置bmob-sdk即可。

2、每个版本的im都对应特定版本的bmob-sdk,如果你使用的是1.1.8版本的im,那么配套的bmob-sdk的版本为3.3.5。使用的是1.1.9配套的bmob-sdk的版本为3.4.3.

3、与okhttp有关的配置依赖不是必填项,开发者可以不添加该依赖。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12065309.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存