当前位置: 首页 > news >正文

公安科技信息化建设 素材 网站/免费做网站推广的软件

公安科技信息化建设 素材 网站,免费做网站推广的软件,温州做网站定制,素材网站建设李洪强iOS开发之-环信03_集成 SDK 基础功能 集成 SDK 基础功能 在您阅读此文档时,我们假定您已经具备了基础的 iOS 应用开发经验,并能够理解相关基础概念。 SDK 同步/异步方法区分 SDK 中,大部分与网络有关的操作,提供的是同步方法…

李洪强iOS开发之-环信03_集成 SDK 基础功能

集成 SDK 基础功能


在您阅读此文档时,我们假定您已经具备了基础的 iOS 应用开发经验,并能够理解相关基础概念。

SDK 中,大部分与网络有关的操作,提供的是同步方法(注:同步方法会阻塞主线程,需要用户自己创建异步线程执行;带有 async 的方法为异步方法。)

第 1 步:引入相关头文件 #import “EMSDK.h”。

第 2 步:在工程的 AppDelegate 中的以下方法中,调用 SDK 对应方法。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //AppKey:注册的AppKey,详细见下面注释。 //apnsCertName:推送证书名(不需要加后缀),详细见下面注释。 EMOptions *options = [EMOptions optionsWithAppkey:@"douser#istore"]; options.apnsCertName = @"istore_dev"; [[EMClient sharedClient] initializeSDKWithOptions:options];   return YES; }   // APP进入后台 - (void)applicationDidEnterBackground:(UIApplication *)application { [[EMClient sharedClient] applicationDidEnterBackground:application]; }   // APP将要从后台返回 - (void)applicationWillEnterForeground:(UIApplication *)application { [[EMClient sharedClient] applicationWillEnterForeground:application]; }

调用的 SDK 接口参数解释如下:

  • AppKey: 区别 APP 的标识,参考开发者注册及管理后台。
  • apnsCertName: iOS 中推送证书名称,参考制作与上传推送证书。

环信为 IM 部分提供了 APNS 推送功能,如果您要使用,请跳转到APNS离线推送。

注册模式分两种,开放注册和授权注册。

  • 只有开放注册时,才可以客户端注册。开放注册是为了测试使用,正式环境中不推荐使用该方式注册环信账号。
  • 授权注册的流程应该是您服务器通过环信提供的 REST API 注册,之后保存到您的服务器或返回给客户端。
EMError *error = [[EMClient sharedClient] registerWithUsername:@"8001" password:@"111111"]; if (error==nil) { NSLog(@"注册成功"); }

登录:调用 SDK 的登录接口进行的操作。

EMError *error = [[EMClient sharedClient] loginWithUsername:@"8001" password:@"111111"]; if (!error) { NSLog(@"登录成功"); }

自动登录:即首次登录成功后,不需要再次调用登录方法,在下次 APP 启动时,SDK 会自动为您登录。并且如果您自动登录失败,也可以读取到之前的会话信息。

SDK 中自动登录属性默认是关闭的,需要您在登录成功后设置,以便您在下次 APP 启动时不需要再次调用环信登录,并且能在没有网的情况下得到会话列表。

EMError *error = [[EMClient sharedClient] loginWithUsername:@"8001" password:@"111111"]; if (!error) { [[EMClient sharedClient].options setIsAutoLogin:YES]; }

自动登录在以下几种情况下会被取消:

  • 用户调用了 SDK 的登出动作;
  • 用户在别的设备上更改了密码,导致此设备上自动登录失败;
  • 用户的账号被从服务器端删除;
  • 用户从另一个设备登录,把当前设备上登录的用户踢出。

所以,在您调用登录方法前,应该先判断是否设置了自动登录,如果设置了,则不需要您再调用。

BOOL isAutoLogin = [EMClient sharedClient].options.isAutoLogin;
if (!isAutoLogin) { EMError *error = [[EMClient sharedClient] loginWithUsername:@"8001" password:@"111111"]; }

SDK 中,如果发生自动登录,会有以下回调:

/*!*  自动登录返回结果**  @param aError 错误信息*/
- (void)didAutoLoginWithError:(EMError *)aError   //添加回调监听代理: [[EMClient sharedClient] addDelegate:self delegateQueue:nil];

当掉线时,iOS SDK 会自动重连,只需要监听重连相关的回调,无需进行任何操作。

/*!*  SDK连接服务器的状态变化时会接收到该回调**  有以下几种情况,会引起该方法的调用:*  1. 登录成功后,手机无法上网时,会调用该回调*  2. 登录成功后,网络状态变化时,会调用该回调**  @param aConnectionState 当前状态*/
- (void)didConnectionStateChanged:(EMConnectionState)aConnectionState;

退出登录分两种类型:主动退出登录和被动退出登录。

  • 主动退出登录:调用 SDK 的退出接口;
  • 被动退出登录:1. 正在登录的账号在另一台设备上登录;2. 正在登录的账号被从服务器端删除。

logout:YES:是否解除 device token 的绑定,在被动退出时 SDK 内部处理,不需要调用退出方法。

EMError *error = [[EMClient sharedClient] logout:YES]; if (!error) { NSLog(@"退出成功"); }

使用回调方法监听被动退出登录。

/*!*  当前登录账号在其它设备登录时会接收到该回调*/
- (void)didLoginFromOtherDevice;   /*! * 当前登录账号已经被从服务器端删除时会收到该回调 */ - (void)didRemovedFromServer;

 

转载于:https://www.cnblogs.com/LiLihongqiang/p/5749630.html

http://www.lbrq.cn/news/943363.html

相关文章:

  • 英文外贸网站/天天seo站长工具
  • c#网站开发案例大全/思亿欧seo靠谱吗
  • 口碑好的武汉网站建设/公司网站建设需要注意什么
  • WordPress去掉你的位置/百度爱采购优化排名软件
  • 制作手机app需要学什么/seo网站页面优化包含
  • 建筑企业网站模板免费下载/今日的新闻头条10条
  • 上海做网站品牌公司有哪些/推广联盟
  • 求可以做问卷测试的网站/seo网站推广培训
  • 重庆最近新闻大事件/手机游戏性能优化软件
  • 网站被恶意解析/seo关键词优化软件app
  • 大理市政府建设办网站/seo关键词的优化技巧
  • 郴州网站建设公司/网址提交入口
  • 设计装修网站大全/一个完整的营销策划案范文
  • 零基础jsp网站开发/搜索引擎优化核心
  • 专做脚本的网站/seo赚钱方式
  • 网站蓝色/百度爱采购官网首页
  • js与asp.net做的网站/南昌seo报价
  • 吉安做网站的公司/创建网站的软件
  • 网站建设精英/培训学校加盟费用
  • 网站如何在百度上做推广/网站设计公司
  • 一个网站建设大概需要多少费用/推广平台app
  • 泰安城乡建设委员会的网站/买了500元黑科技引流靠谱吗
  • 武汉做网站 古凡/网络营销包括哪些
  • 黑龙江门户网站建设/seo排名培训
  • SEO案例网站建设公司/游戏推广一个月能拿多少钱
  • 做任务网站建设/关键词排名代做
  • 彩票网站怎么做系统/今日头条新闻10条简短
  • 南宁市兴宁区建设局网站/怎么申请网站
  • 做彩网站/福建百度开户
  • 网站建设的系统简介/夫唯老师seo
  • 知识图谱的初步探索
  • 广东省省考备考(第五十七天7.26)——数量、言语(强化训练)
  • window下MySQL安装(三)卸载mysql
  • 基于MySQL实现基础图数据库
  • 详解力扣高频SQL50题之1193. 每月交易 I【简单】
  • 认识编程(3)-语法背后的认知战争:类型声明的前世今生