使用百度云推送,0整合个推例子

如今做一个后台发送新闻推送到app(android和ios)的法力,该意义拔取的是个推接口,基于php的,我用TP5来促成那一个推送流程。先看官方demo吧。可以先参考官方给到的例证来看。

<pre>
1)项目里面不必要环信SDK的太多职能,只是想要聊天和挚友作用,其他都无须,那SDK一定要连接跟着更新么?
a.环信SDK版本都是上前包容并且稳定的,每一次换代安卓只要更新.a包即可。
b.每一次换代的本子都是平安无事可依赖性的,能够放心使用。
2)A用户通过Rest接口添加B为挚友,B的客户端上好友列表上是或不是有?
对的,B那边也添加A为好友了。
3)黄某某(产品事业部)中,怎么把文字取出来? 用XML解析出来。
4)请问一下apns可以安装自定义声音么?
环信的推送不辅助自定义,只能设置开和关,不得以自定义声音,如果有须求能够使用第三方的推送。
5)iOS的demo中删除好友,聊天记录删除的只是一方好友的聊天记录么?
聊天记录不会删除,只是不在UI上出示出来了而已。
6)环信协助@成效么? 不扶助,需求自己去得以完结。
7)发送音信的时候,没有网络,就会立即显得发送不成事,环信会不会像QQ那样有个温馨去不断请求的时日啊?
没有,发送不成事就须求点击叹号重新发送。
8)一个环信应用可以登记多个推送证书吗? 可以注册五个推送证书。
9)环信发送图片这里是断点发送的?假诺断开了,隔了一段时间,怎么重连?
图片发送不会断点续传,发送不成事会现出一个叹号,点击之后会重新发送。
10)如果没有登记过的账号去调用环信的记名接口,是还是不是也能一连聊天服务器?
不是,没有挂号的用户不得以聊聊。
11)在哪设置气泡中度 在sizeThatFits中安装。
12)环信怎么判断当前用户是还是不是登陆?
环信不珍视用户是或不是登录,类似微信同样,即便不在线也可以推送,只能经过Rest在获得好友详情的时候,看到好友是online仍旧offline。
13)用户在报到状态下后台呈现是有证书的,是不是已脱离账号后证书名称在后台就显示为空了?对的,登陆的时候在后台会呈现,退出之后就不出示了。
14)如何设置语音的时长限制?
这么些必要开发者自己去设置,可以做一个用当下录制时间减去先导录制时间的判断。其它,音频部分已经完全退出出来,SDK已经不做了,全体放开UI上供开发者自行决定操作。
15)发送音讯后 actity一贯在打转,是怎么回事?
要求在殡葬成功的回调方法里面刷新UI。
16)在服务端通过rest 删除的知心人的话,环信的server 端会通告client端吗?
会的。
17)ios 可以再一次建群吗?同样的四个体可以建七个群吗? 可以重复建群。
18)环信有相近微信朋友圈的沙盘? 近年来还尚无对象圈的模版。
19)即使用户在两台ios设置上互动踢下线,要怎么革新最终登陆设置的推送设置?
在用户登录的时候,会把用的证书名发到后台,后台就会把证件和app当前用户绑定。
20)环信SDK协助离线新闻啊?
支持的,只要用户在线,则向来把消息发送过去,ios端要是不在线则经过apns推送过去的,Android端若是不在线则聊天新闻先保存在服务器上,等Android登录后直接推送过去。
21)怎么着设置让环信推送突显昵称而不是username呢? 设置方法[[EaseMob
sharedInstance].chatManager setApnsNickname:@”APNS昵称”]。
22)apns上传的是何许文件? apns上传的是p12,并且要求密码。
23)环信的神色可以换成app的啊? 表情就是字符串替换。字符串环信没有定义,
app里协定好了就足以。比如<:)>
那个字符串代表笑脸的图纸,ui上截取了就替换就足以了。
对于环信来说,发的就是一个字符串。
24)怎么判断某条消息是人家发的或者友好发的?
用当前登录人的环信id和message的from做相比较,要是一致,就是投机发的,反之,是对方。
25)[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(loginStateChange:) name:KNOTIFICATION_LOGINCHANGE
object:nil]; 哪天接触?
登录情形改变才会触发的打招呼:登录的时候,退出登录的时候,要退出的时候。
26)[[EaseMob sharedInstance].chatManager
setIsAutoLoginEnabled:YES]; 那么些应该写到何地吧? 要想间接设置自动登录,
就在用户率先次登录成功将来设置。
27)要发透传信息,是或不是先要把推送证书配置好 ?
发透传不用推送证书的,发推送才要阐明的。
28)环信能自己设置心跳包么?180s有点长? 不得以。
29)环信的心跳包每180s发一回,怎么能确保实时收到对么发来的新闻?是或不是做了监听?
有监听回调方法。
30)语音怎么过段时间就播放不了?平昔展现正在下载语言 ,稍后点击 ?
demo的话,
若是是祥和发送的话,就绝不验证是不是下载了,可以一向播放。如果是对方的话,要判断一下。
31)历史数据会有呈现不完全的标题,怎么做?
EMConversation类,有个loadAllMessages,调用该措施就可以博得到存入db的具有音信。
32)透传音讯是否有文字个数限制? 要求在30kb内, 没有个数限制。
33)怎么让未读新闻处于监听形式吧?
未读音信数改变是有回调方法的–(void)didUnreadMessagesCountChanged。
34)群主能更改吗? 近期还无法,但他日会增多那么些接口。
35)图片压缩比用户能调整么?
可以的,这些是iOS的削减方法setCompressionQuality。
36)环信里面 android和ios 里面 message的壮大字段是通用的呢? 是的。
37)iOS和安卓都用的百度地图呢? 安卓是百度地图,iOS是苹果自己的地图。
38)手机端加了个音信免干扰功用,当webim
和手机端都登陆时方可由此这么些效应设置手机是或不是接受音信么?
不得以,免纷扰只是设置推送免纷扰。
39)做了个测试,先用一个部手机发了不胜枚举新闻,然后用另一个有线电话登这么些账号时,发现赢得的聊天记录唯有2条,而且依旧在此往日该账号在该手机上发的?
音讯记录保留到当地了,所以换个手机看不到。
40)不是给各样用户分配100m, 超越100M的数码能获取吗?
超越100M新的记录会顶掉老的记录。
41)环信 SDK协助模拟器吗?如故必必要用真机来测试?
协助,不过多少效益只可以真机测试,比如推送,视频等。
42)IOS 中怎样得到某个聊天组中的成员列表? 用
didFetchGroupOccupantsList方法赢得。
43)环信那边语音能不可能像微信那样:靠近耳朵的时候就听筒,远离耳朵的时候就扬声器播放啊?可以,要在-
(void)proximitySensorChanged:(BOOL)isCloseToUser方法中装置。
44)能否查看离线音讯? 无法,只好查看离线消息未读数。
45)读取临时会话列表的不二法门,有的对象里username 是null,那是为何?
创立会话的时候,是内需chatter 这些目标,chatter不可能为null
,可以去打印下chatter,判断是还是不是为空。
46)想删除客户端本地聊天记录,如何是好? 那是去除聊天记录的章程(参考):
-(NSUInteger)removeConversationsByChatters:(NSArray*)chattersdeleteMessages:(BOOL)aDeleteMessages。
47)后台集团管理员可以改变吗?
后台公司管理员不可能直接删除,邮箱也不可以一向改动,但是足以用新的信箱再添加一个管理,然后把旧的管理人从那些org下移除掉。
48)上传图片后,重返的门道无法下载图片,什么来头?
为了安全,下载进程中还要投入别的参数。不是只经过url就能下载的。须要参数(share-secret)。
49)NSArray *buddyList = [[EaseMob sharedInstance].chatManager
buddyList]; 获取到的都是空的,什么原因?
“那些是取内存值,要博得detail,要去服务器获取,或者设置sdk自动得到。 //
登录成功后,自动去取好友列表// SDK获取截止后,会回调
复制代码12[[EaseMob sharedInstance].chatManager
asyncFetchBuddyListWithCompletion:^(NSArray *buddyList, EMError
*error) { } onQueue:nil]”
50)图文混排怎么落到实处?
自定义的将图片,username以及想要展现的任何情节(通过扩展属性message.ext)一块显示到UI上。
51)播放语音的时候,传感器打开了,但是语音播放完后,传感器还地处打开状态,曾几何时关闭的?
还要加上开启和关闭距离感应。
52)demo总是不弹出键盘,怎么办? 弹出键盘的神速键是Command +
k(可以百度下xcode6的如法泡制器弹出键盘的艺术)。
53)IOS使用环信的demo进行增加开发,上传后被拒
,说是后台播放音乐的原由,那怎么做?
可以考虑去掉声音,假使要完成本地公告播放音响,再去调用localNotification的default
sound就能够了。
54)一个群ID不可以作为一个别人ID? 不可能。
55)音信存到db里面去了 NSArray *chats = [weakSelf.conversation
loadNumbersOfMessages:(currentCount + KPageCount)
before:beforeTime];为啥向来不拿出去呢?
这有根据时间和多少来分别赢得的。打印一下数据。有时候来新信息了,取的如故是后有些条,数据就会难堪了。那几个api是没难点的。db可以取到表明已经存了多少。可能是跟取到的数额和时间有提到。
56)cmd信息,跟聊天的新闻,不设有争辩么?
普通信息回调的不二法门跟这几个不平等,所以不争辨,普通聊天得接受形式didReceiveMessage,cmd音讯的吸纳情势didReceiveCmdMessage。
57)服务器重回登录战败,提醒:logInfalse(null),error
已报到,请先调用logOff 。那是何等来头?
正在登陆的时候又发起了登陆请求。
58)聊天列表是本地保存的照旧从服务器上得到的?
聊天列表都是保存在地面了,是sdk自动保存的。服务器上也有存聊天记录,不过客户端无法取服务器上得聊天记录。聊天记录在沙盒里,地方在/library/easemobDB
里面。
59)在哪修改环信logo(CFBundleDisplayName),如若是安卓要在何地改?
在InfoPlist.string
文件中改变CFBundleDisplayName;安卓中要在SplashAcitivity里面修改。
60)自动登录的回调会调用一次?
程序进入的时候调一次,会调用它的多少个艺术,willAutoLogin和didAtuoLogin。
61)环信的这一个.a文件之中是否有pjsip生成的库文件呢?
有的,但是还未曾揭表露来。
62)iOS发送音讯时,收到EMErrorServer提姆eout 发送信息超时的报错。
网络意况杰出,可能还有其余什么原因促成?
要是是突发性的报错,是有可能的。因为客户端的网络本来就是一个不安定的弱互连网。用户瞧着感觉互连网是有口皆碑的,但实际上会有种种临时中断。
63)语音信息播报之后,未读标识消失,不过关掉页面,再度进入,还有未读提醒,这几个是还是不是是个bug?
这一个是经过增加属性来判定的,播放之后,就修改掉,再一遍跻身的时候,根据这些值来判定是或不是播放过。
64)能够落成每条推送音讯的昵称都自定义么?
环信下一步会支撑自定义推送音信模板。每个app可以有自己一定的模板。但依照备注来推送,这一个估算扶助起来是有困难的。还没想好怎么支持。
65)接收本地通告的时候,通告信息前边突显的是环信id而不是nickname,如何是好?
“NSString *title = message.from; if (message.isGroup) { NSArray
*groupArray = [[EaseMob sharedInstance].chatManager groupList]; for
(EMGroup *group in groupArray) { if ([group.groupId
isEqualToString:message.conversationChatter])
{ title = [NSString stringWithFormat:@””%@(%@)””,
message.groupSenderName, group.groupSubject]; break; } } } NSString
*title = message.from中得到那一个title
再去自己的服务器请求nickname,再显示到UI上。”
66) * Terminating app due to uncaught exception
‘NSInvalidArgumentException’, reason: ‘-[XMPPManager
networkChangedToNone]: unrecognized selector sent to instance
0x15db1ef0’ 然后就夭折了?
这么些报错,一般是用到了环信2.1.3本子里的SDKLite包,后边的2.1.3r3版本有修复,遇到类似的标题,升级到2.1.3r3本子就足以缓解了
67)环信ios的push, inhouse类型的app帮助啊?
inhouse应该是指集团证书的,这么些sdk不珍贵,只要推送证书对应配套就可以推送。
68)点击播放语音的时候,平素呈现正在下载,这一个怎么化解?(message.downloading奥迪(Audi)o)
解决办法是殡葬方不做判断,点击之后直接播放,只在接收方做判定。
69)logininfo有时候为空,是怎么回事? 没有登陆。
70)删除好友后,好友照旧存在于好友列表中,那是干什么?
要先消除缓存,再刷新列表。
71)在签到失利的情景下,仍旧举办其余操作,会冒出什么样提醒消息?
会提醒互连网错误。
72)发送的新闻内容在bubbleView上的哪个地方呀? EMChatTextBubbleView里面。
73)问下ios 自动重连不须求代码设置吗?只须求不难地监督一下吧?
自动重连不须要设置。
74)为何添加好友用户搜索任何字符都可以寻找到吗?
demo没有限制,搜什么都足以搜到,开发者能够友善设定一下。
75)环信是未曾提供好友申请列表的接口,必要做当地数据保存是吧?
好友申请未处理,重启app服务器会再一次给发过来。
76)使用环信sdk录制的口音是哪些编码格式的?
现在的版本,音频部分已经从SDK中退出出去了,SDK已经不做处理了,全体放手UI上供开发者自行处理了。可是录的时候是wmv,转换成amr传过去,接收时再转换过来。
77)消息记录保留的规律?
sdk会保存所有音信,重启app获取的音信记录都是在缓存中的,要调用从db总得到音信记录的措施,加到缓存中,才能显得出来。
78)环信有木有可以博得具有未读信息的接口?
有获得未读音讯数的接口,无法获取到所有的未读信息内容。
79)用户是根据环信的正儿八经配备的, demo在xcode5.1上面也抱错?
Xcode5现行不让提交项目了,必须用Xcode6运行。
80)ios推送可以友善安装Apns呈现内容吧?
可以的,现在环信已经支撑自定义推送内容了,可以接济:1、不显得详情:“alert”:“您有一条新音信”
2、显示详情:“alert”:“ApnsName:XXXXX”
3、自定义。可以参考下环信的连带自定义推送部分的文档。
81)突显详情那里,ApnsName为空时 前面的冒号能不可能去掉?
环信近期已协理自定义推送内容。
82)ios推送字符长度有没有限量?
跟一般音讯无异于,30kb以内。此外,自定义的字段可以全方位显得。
83)好友申请可以发推送音讯么?
好友申请音信不可以推送,好友申请未处理,下次报到的时候服务器会发给用户。
84)集成了环信最新的ios sdk的语音通话功用更新的时候被拒了,因为用户那边须求后台通话的功用的
,所以在工程安装中的后台打开了voico over ip,但是苹果不认账那样做?
不用开那些。或者和苹果解释下,说用到的地点。
85)抓好时语音的时候调用- (EMCallSession
*)asyncCallAudioWithChatter:(NSString *)chatter
timeout:(NSUInteger)timeout error:(EMError
*)pError;那么些函数,报那么些荒唐-[EMCallManager
asyncCallAudioWithChatter:timeout:error:]: unrecognized selector sent
to instance 0x7bea96e0(崩了)是何许原因? 若是用语音实时通话,
就导libEaseMobClientSDK.a那么些库就可以了(不可能导2个库)。
86)环信信息推送,是本土推送,依旧长途推送?
ios长连接没断开是当地通告,断开了走apns。
87)iOS 文件在发送之后, 对方的吸收到新闻后,
对应的文本local路径是指什么? 这些时候文件是不是已经存到对方沙盒内了吗?
对方接受到的时缩略图,原件必要点击查看,才能下载原件。
使用百度云推送,0整合个推例子。88)环信为啥没有@效率?将来有没有协助的陈设?
有。不过还没排期。这么些一定也要做的,是个通用必要。
89)iOS环信新闻下载后的公文无后缀,请问还须求如何处理呢?
不须要,发送的是何许,下载的就是什么。
90)服务端先发送的文本音讯,然后ios端再发文本信息。收到的音讯顺序是先接到ios端的然后在才接受服务端的。
后台发,那么些相应发送功能难点,排序是依照音信接收时间。
91)勾选奥迪o and AirPlay后,上传App被AppStore拒绝。
不勾选这几个,然后在本地推送里安装本地推送提醒音。
92)直接通过app自己的服务器去登录环信,登录成功之后不可能聊天是怎么回事?
必须透过客户端sdk登录才能促膝交谈,客户端跟服务器之间没有长连接不可能聊天。
93)环信SDK哪些数据做了地面储存的?群组列表也是存了的?加好友、参与群组之类的文告呢?im都存了,其余的都亟需开发者自己处理。群组列表不是流行的,只是会报给,这一个最好照旧开发者自己存。加好友、出席群组之类的打招呼sdk不存,ui存了。
94)头像在哪些类里面安装? EMChatViewBaseCell。
95)IOS,唯有退出登录,才终于不在线,对么?
ios不在前台,就是不在线。但要注意进入到后台3秒钟后才不在线,因为ios系统会在进入后台3分钟后,把施用的连接杀死。
96)如今不接济群聊语音电话? 方今是语音单聊。
97)安卓和ios 录音的格式分别是怎么着?
安卓是amr格式,wav格式。iOS5之前有众所周知的求证,不接济amr间接播放。之后就不曾确定性表达了。应该是也不协助。iossdk中
发送: wav->amr; 接收:amr – >
wav,用libopencore这么些库转的。另外,现在iOS端的语音部分已经全副从SDK剥离出去了,全体放手UI上供开发者自行处理。
98)为啥得到不到群组的owner?
获取与自己有关的群组的时候只得见到群组ID,和群组名称,只有调用群详情的方法才能见到,调用群详情的方法,能来看描述和owner。
99)报错:imported from module ‘UI基特…’怎么着改?
没有导入UIKit,#import
100)一个信息发送失利后,使用asyncSendMessage重新发送,新闻的timestamp怎么翻新?
重新发送音讯,是用的在此在此以前的时间,qq处理的也是用的往日的时刻,sdk内部处理的时日。
101)ios的导航栏的颜料在哪改? [[UINavigationBar appearance]
setBarTintColor:RGBACOLOR(78, 188, 211, 1)];
102)iOS要促成一个群聊不播放提醒音或者震动,只可以开发者自己完毕??依然像android那样有对应的接口?
不播放,就是不调用震动和音频就行了,要自己达成。
103)rest接口如果调用次数过大会报什么错? “会重回:503 (服务不可用)
服务器方今不能运用(由于超载或停机维护)。 平日,那只是暂时状态。”
104)[self setupUIDemoDB] 那几个是必须的呢?
不是。这么些是demo中用到的第三方DB,存的是忘年交申请这一类的音讯。不指出使用,可以协调写一个DB举办仓储
105)在模拟器上登陆的时候会报那一个破绽百出,是怎么回事?
应该是用户名多敲了空格。
105)三个客户端,不过却是区其余接纳,为了兑现双方的通讯,用了第四个的appkey,用户也都是在率先个app下报了名的,不过由于推送证书要绑定app,所以第一个没有推送,请问怎么解决?
可以上传多套证书,八个利用之间通讯只要有限援助是同一个appkey 就行,
要是是推送的话 ,要力保项目中的证书名称跟上流传后台的证件名称相同。
106)IOS删除所有聊天记录的方法是哪些? 复制代码123456789101112/
!
@method @brief 删除所有会话对象 @discussion @param aDeleteMessages
是还是不是删除这几个会话对象所涉嫌的拉扯记录 @param append2Chat 是或不是加到内存中。
YES为加到内存中。加到内存中之后, 会有对应的回调被触发从而更新UI;
NO为不加到内存中。即使不加到内存中, 则只会直接助长进DB,
不会有SDK的回调函数被触发从而去更新UI。 @result 是不是中标实施 */-
(BOOL)removeAllConversationsWithDeleteMessages:(BOOL)aDeleteMessages
append2Chat:(BOOL)append2Chat。
107)用户发过来的话音音讯,那边听过后,黄点(未读标识)不收敛,
是怎么回事? “全局搜一下prepareMessage奥迪oModel这一个函数
还有modelWithMessage,把 [[EaseMob sharedInstance].chatManager
insertMessageToDB:chatMessage];
换成[chatMessage?updateMessageExtToDB];”
108)[NSConcreteData AES256Decrypt]: unrecognized selector sent to
instance XXX,如何是好? other link flags 设置-ObjC 注意分寸写。
109)framework not found Metal for architecture armv7s
须要升高到xcode6。
110)SDK太大了,如何是好?
SDK大不影响打包成ipa,打包出ipa安装包后,一般只会增多2MB左右。
111)SDK是还是不是辅助64位? 援救。
112)不能吸纳聊天新闻? “接收聊天等回调,要留心以下几手续:
1、表明已毕IChatManagerDelegate,如: @interface
EaseMobSDKAccountManager ()2、注册当前类接收回调 [[EaseMob
sharedInstance].chatManager addDelegate:self delegateQueue:nil];
3、达成对应回调方法,如: //
收新闻的回调x000D-(void)didReceiveMessage:(EMMessage
*)message{x000D__x000D}”
113)一条音信收到多次,为何?
“一般是由本类数十次挂号了回调导致,请确定以下方式只举办了几次 [[EaseMob
sharedInstance].chatManager addDelegate:self delegateQueue:nil];
并且在类析构时注销回调 -(void)dealloc{ [[EaseMob
sharedInstance].chatManager removeDelegate:self]; “
114)不可能接受好友请求,怎么做?
请确定接受好友请求的类是不是初步化,并声称了IChatManagerDelegate,完毕了挂号回调和回调方法。
115)APP后台时手足无措收到推送,怎么做?
环信将notification分为二种,一种是本地文告,一种是apns。当你后台时,长连接还存在,会走didReceiveMessage方法,必要您自己维护当地通告(即LocalNotification)。
116)APP彻底关闭,不可以吸纳推送? “用户可以透过以下几步检验自己的推送
1.率先须求用户上传APNS推送证书到环信管理后台。
2.在环信iOSSDK开首化时填写用户自己的注解名称。
3.报了名推送。
4.真机登录环信im账号。
5.翻看管理后马赛,对应im账户下是或不是有用户刚刚写的证书名。(如果没有,请检查是不是得到了deviceToken)
6.规定用户眼前注明是还是不是和投机的花色匹配。(开发证书与生育证书须要各样对应)”
117)环信 pod 上面的SDK是最新么? “通过Cocoapods下载地址
不分包实时语音版本SDK(EaseMobClientSDKLite),引用时
#importpod’EaseMobSDK’, :git =>
‘https://github.com/easemob/sdk-ios-cocoapods.git’
包蕴实时语音版本SDK(EaseMobClientSDK),引用时 #importpod
‘EaseMobSDKFull’, :git =>
‘https://github.com/easemob/sdk-ios-cocoapods-integration.git'”
118)注册deviceToken回调出现error,注册推送失利errorCode = 3000?
那是安排有难题,还并未到环信。一般是profile文件难点,或者声明没有打开推送效用。
类似那一个时候报的errorCode,可以百度解决,http://www.educity.cn/wenda/100742.html。
119)为啥设置EMPushNotificationOptions再次来到error 是nil,设置也难堪?
EMPushNotificationOptions设置须要在你取得deviceToken成功后才能设置。请先确定deviceToken获取没难点。
120)为啥提交的APNS昵称和拔取证书名后台看不到?
这七个也是内需用户确定了deviceToken正确获取后才足以。
121)项目中是还是不是足以用其余推送,和环信推送是还是不是有争辩?
不曾争论。
122)是还是不是可以用环信推广告之类的其余音讯?
环信的推送主要为IM服务,如若有这么些须要,提出开发者用专用的推送服务。
123)后台上传证书呈现相当,咋做?
尤其一般是因为证书制作进度不对,或者密码输入有标题,密码为开发者导出证书时设置的密码。
124)证书不设置密码是还是不是可用?
当前要求必须安装密码。
125)项目要付出了,想测下,怎么样操作?
装进时使用ad-hoc方式,可以打包出一个release版本的ipa,用那些测试即可。
126)如若开发者想按home键后及时接过推送,怎样处理?
因为这一个时候用户仍然长连接中,可以监听didReceiveMessage方法,之后开发者自己完毕localNotification。
127)IOS做退出登录有请求超时的难题。
退出登陆时,真机时把isUnbind这些特性设为YES,
解除device_token绑定,即使出现退出解绑战败的情事,可能是绝非网络。
128)群音信ios登录用户发群信息,android的报到用户收不到是何等来头?
拍卖措施:请提供下发送双方的log日志,和这些app的appkey,token,以及丢得信息的id,工作人士会进展排查。
129)把appkey下的拥有用户所有安装成免纷扰。有有关接口么?
不设置推送证书,假如设置了,删掉即可。
130)环信的SDK在xcode7上能用么?
当前的前卫版本2.2.0业已协理。
131)自动登陆的图景如哪一天候设置为no,只有退出登陆才设置吗?
退出的时候自动就成为no了。
132)聊天室中头像和昵称的获得,现在有哪些方案吗?
和群聊的头像昵称方案是如出一辙的,可以参考:http://docs.easemob.com/doku.php?id=start:000quickstart:40nickna
133)1. 2.1.9本子的sdk.a包会有与fmpeg
争持的景色,这么些要怎么处理啊?2.他们用到了那么些http://videojj.com/,视频播放的第三方?
一旦用到了环信的实时语音库,同时也采纳了别样第三方的库,就会冲突。
134)发实时语音 iOS 不走apns?
现阶段还不协助,现在实时语音是因此P2P直连或者Server relay。

1)项目里面不需求环信SDK的太多职能,只是想要聊天和挚友成效,其余都无须,那SDK一定要连接跟着更新么?
a.环信SDK版本都是向前包容并且稳定的,每回换代安卓只要更新.a包即可。
b.每一回换代的本子都是安静可信性的,可以放心使用。
2)A用户通过Rest接口添加B为挚友,B的客户端上好友列表上是或不是有?
对的,B那边也添加A为挚友了。
3)黄某某(产品事业部)中,怎么把文字取出来? 用XML解析出来。
4)请问一下apns能够设置自定义声音么?
环信的推送不支持自定义,只能设置开和关,不得以自定义声音,如若有必要可以运用第三方的推送。
5)iOS的demo中除去好友,聊天记录删除的只是一方好友的聊天记录么?
聊天记录不会去除,只是不在UI上出示出来了罢了。 6)环信援救@成效么?
不协理,需求自己去落到实处。
7)发送音信的时候,没有互连网,就会即时显得发送不成事,环信会不会像QQ那样有个祥和去不断请求的年月吗?
没有,发送不成事就须求点击叹号重新发送。
8)一个环信应用可以注册多少个推送证书吗? 可以挂号八个推送证书。
9)环信发送图片那里是断点发送的?即使断开了,隔了一段时间,怎么重连?
图片发送不会断点续传,发送不成事会现出一个叹号,点击之后会再也发送。
10)假使没有挂号过的账号去调用环信的登录接口,是还是不是也能再三再四聊天服务器?
不是,没有注册的用户不得以聊聊。 11)在哪设置气泡高度在sizeThatFits中安装。 12)环信怎么判断当前用户是或不是登陆?
环信不关怀用户是不是登录,类似微信一模一样,就算不在线也可以推送,只能通过Rest在取得好友详情的时候,看到好友是online如故offline。
13)用户在登录情状下后台突显是有证书的,是或不是已脱离账号后证书名称在后台就显得为空了?对的,登陆的时候在后台会展现,退出之后就不突显了。
14)如何设置语音的时长限制?
那么些须求开发者自己去设置,可以做一个用当下录制时间减去起始录制时间的判定。此外,音频部分已经完全剥离出去,SDK已经不做了,全体放置UI上供开发者自行决定操作。
15)发送音信后 actity平昔在转动,是怎么回事?
必要在殡葬成功的回调方法里面刷新UI。 16)在服务端通过rest
删除的知音的话,环信的server 端会文告client端吗? 会的。 17)ios
可以重新建群吗?同样的三私家可以建八个群吗? 可以另行建群。
18)环信有相近微信朋友圈的模版? 近年来还未曾朋友圈的模板。
19)如果用户在两台ios设置上互动踢下线,要怎么立异最终登陆设置的推送设置?
在用户登录的时候,会把用的评释名发到后台,后台就会把证件和app当前用户绑定。
20)环信SDK协助离线信息呢?
辅助的,只要用户在线,则直接把新闻发送过去,ios端若是不在线则透过apns推送过去的,Android端借使不在线则聊天信息先保存在服务器上,等Android登录后直接推送过去。
21)怎么着设置让环信推送突显昵称而不是username呢? 设置方法[[EaseMob
sharedInstance].chatManager setApnsNickname:@”APNS昵称”]。
22)apns上传的是什么样文件? apns上传的是p12,并且必要密码。
23)环信的神情可以换成app的呢? 表情就是字符串替换。字符串环信没有定义,
app里协定好了就足以。比如<:)> 
这几个字符串代表笑脸的图形,ui上截取了就替换就足以了。
对于环信来说,发的就是一个字符串。
24)怎么判断某条新闻是别人发的要么自己发的?
用当前登录人的环信id和message的from做相比较,假若相同,就是投机发的,反之,是对方。
25)[[NSNotificationCenter defaultCenter] addObserver:self   
selector:@selector(loginStateChange:)    name:KNOTIFICATION_LOGINCHANGE
object:nil]; 几时接触?
登录状态改变才会触发的公告:登录的时候,退出登录的时候,要剥离的时候。
26)[[EaseMob sharedInstance].chatManager
setIsAutoLoginEnabled:YES]; 那么些应该写到哪儿呢? 要想直接设置自动登录,
就在用户率先次登录成功之后设置。
27)要发透传音讯,是或不是先要把推送证书配置好 ?
发透传不用推送证书的,发推送才要讲明的。
28)环信能自己安装心跳包么?180s有点长? 不得以。
29)环信的心跳包每180s发四遍,怎么能担保实时收到对么发来的新闻?是还是不是做了监听?
有监听回调方法。 30)语音怎么过段时间就播放不了?向来呈现正在下载语言
,稍后点击 ? demo的话,
如若是协调发送的话,就毫无验证是还是不是下载了,可以平昔播放。倘若是对方的话,要看清一下。
31)历史数据会有显示不完全的标题,怎么办?
EMConversation类,有个loadAllMessages,调用该格局就足以博得到存入db的具有音信。
32)透传新闻是否有文字个数限制? 要求在30kb内, 没有个数限制。
33)怎么让未读信息处于监听形式呢?
未读消息数改变是有回调方法的–(void)didUnreadMessagesCountChanged。
34)群主能更改吗? 近年来还无法,但他日会追加那个接口。
35)图片压缩比用户能调整么?
可以的,那么些是iOS的减弱方法setCompressionQuality。 36)环信里面
android和ios 里面 message的恢弘字段是通用的呢? 是的。
37)iOS和安卓都用的百度地图呢? 安卓是百度地图,iOS是苹果自己的地图。
38)手机端加了个音信免纷扰作用,当webim
和手机端都登陆时可以透过那几个作用设置手机是还是不是接受新闻么?
不得以,免骚扰只是安装推送免干扰。
39)做了个测试,先用一个部手机发了过多新闻,然后用另一个部手机登这几个账号时,发现赢得的聊天记录只有2条,而且仍旧之前该账号在该手机上发的?
新闻记录保留到地头了,所以换个手机看不到。 40)不是给每个用户分配100m,
超过100M的数据能赢得吗? 当先100M新的记录会顶掉老的笔录。 41)环信
SDK援助模拟器吗?仍旧必须求用真机来测试?
帮衬,可是多少效益只好真机测试,比如推送,视频等。 42)IOS
中什么赢得某个聊天组中的成员列表? 用
didFetchGroupOccupantsList方法得到。
43)环信那边语音能或不能够像微信那样:靠近耳朵的时候就听筒,远离耳朵的时候就扬声器播放啊?可以,要在-
(void)proximitySensorChanged:(BOOL)isCloseToUser方法中设置。
44)能否够查看离线音信? 无法,只能够查看离线音信未读数。
45)读取临时会话列表的艺术,有的对象里username 是null,那是干什么?
创立会话的时候,是亟需chatter 这么些目的,chatter无法为null
,可以去打印下chatter,判断是还是不是为空。
46)想删除客户端本地聊天记录,怎么办? 那是剔除聊天记录的办法(参考): 
-(NSUInteger)removeConversationsByChatters:(NSArray*)chattersdeleteMessages:(BOOL)aDeleteMessages。
47)后台集团管理员可以改变吗?
后台集团管理员不可能直接删除,邮箱也不得以从来改动,然而可以用新的信箱再添加一个管制,然后把旧的管理人从这些org下移除掉。
48)上传图片后,再次来到的门路不可以下载图片,什么原因?
为了安全,下载进度中还要插手此外参数。不是只经过url就能下载的。必要参数(share-secret)。49)NSArray
*buddyList = [[EaseMob sharedInstance].chatManager buddyList]; 
获取到的都是空的,什么来头?
“那些是取内存值,要得到detail,要去服务器获取,或者安装sdk自动获取。  //
登录成功后,自动去取好友列表// SDK获取停止后,会回调
复制代码12[[EaseMob sharedInstance].chatManager
asyncFetchBuddyListWithCompletion:^(NSArray *buddyList, EMError
*error) {  } onQueue:nil]”50)图文混排怎么落到实处?
自定义的将图纸,username以及想要彰显的其余内容(通过增加属性message.ext)一块展现到UI上。
51)播放语音的时候,传感器打开了,可是语音播报完后,传感器还地处打开状态,哪一天关闭的?
还要加上开启和关闭距离感应。 52)demo总是不弹出键盘,怎么做?
弹出键盘的火速键是Command +
k(可以百度下xcode6的如法炮制器弹出键盘的法子)。
53)IOS使用环信的demo进行扩充开发,上传后被拒
,说是后台播放音乐的原委,这如何是好?
可以设想去掉声音,假使要贯彻当地通告播放声音,再去调用localNotification的default
sound就足以了。 54)一个群ID不可能作为一个外人ID? 不可以。
55)音信存到db里面去了  NSArray *chats = [weakSelf.conversation
loadNumbersOfMessages:(currentCount + KPageCount)
before:beforeTime];为啥平昔不拿出去啊?
那有依照时间和数目来分别获得的。打印一下数目。有时候来新音讯了,取的如故是后有点条,数据就会难堪了。那个api是没难点的。db可以取到表达已经存了数量。可能是跟取到的数码和岁月有关联。
56)cmd音讯,跟聊天的新闻,不存在争论么?
普通新闻回调的措施跟那么些不相同,所以不争论,普通聊天得接受情势didReceiveMessage,cmd新闻的收纳格局didReceiveCmdMessage。
57)服务器再次来到登录战败,提醒:logInfalse(null),error
已登录,请先调用logOff 。那是怎么样原因? 正在登陆的时候又发起了登陆请求。
58)聊天列表是本地保存的要么从服务器上赢得的?
聊天列表都是保留在地头了,是sdk自动保存的。服务器上也有存聊天记录,不过客户端无法取服务器上得聊天记录。聊天记录在沙盒里,地方在/library/easemobDB
里面。
59)在哪修改环信logo(CFBundleDisplayName),假使是安卓要在何地改?
在InfoPlist.string
文件中改变CFBundleDisplayName;安卓中要在SplashAcitivity里面修改。
60)自动登录的回调会调用两遍?
程序进入的时候调一回,会调用它的五个方法,willAutoLogin和didAtuoLogin。
61)环信的那么些.a文件之中是否有pjsip生成的库文件呢?
有的,不过还尚无揭露出来。 62)iOS发送音讯时,收到EMErrorServer提姆eout
发送新闻超时的报错。 互联网意况卓越,可能还有别的什么来头造成?
若是是偶然的报错,是有可能的。因为客户端的网络本来就是一个不稳定的弱互联网。用户瞧着感觉网络是顶级的,但实质上会有各样临时中断。
63)语音信息播报之后,未读标识消失,可是关掉页面,再一次进入,还有未读提醒,那些是还是不是是个bug?
那几个是通过增添属性来判定的,播放之后,就修改掉,再几次进入的时候,按照那么些值来判定是或不是播放过。
64)能够已毕每条推送新闻的昵称都自定义么?
环信下一步会支撑自定义推送信息模板。每个app可以有温馨一定的沙盘。但依据备注来推送,那些估计支持起来是有困难的。还没想好怎么协理。
65)接收本地布告的时候,公告音信前面突显的是环信id而不是nickname,咋做?
“NSString *title = message.from;        if (message.isGroup) {         
  NSArray *groupArray = [[EaseMob sharedInstance].chatManager
groupList];            for (EMGroup *group in groupArray) {           
    if ([group.groupId isEqualToString:message.conversationChatter])
{                    title = [NSString stringWithFormat:@””%@(%@)””,
message.groupSenderName, group.groupSubject];                   
break;                }            }        } NSString *title =
message.from中得到这几个title
再去团结的服务器请求nickname,再突显到UI上。” 66) * Terminating app
due to uncaught exception ‘NSInvalidArgumentException’, reason:
‘-[XMPPManager networkChangedToNone]: unrecognized selector sent to
instance 0x15db1ef0′ 然后就夭亡了?
这么些报错,一般是用到了环信2.1.3版本里的SDKLite包,前边的2.1.3r3版本有修复,碰着类似的难题,升级到2.1.3r3版本就足以解决了
67)环信ios的push, inhouse类型的app帮衬吧?
inhouse应该是指公司证书的,那么些sdk不爱护,只要推送证书对应配套就可以推送。
68)点击播放语音的时候,一贯突显正在下载,那几个怎么解决?(message.downloading奥迪(Audi)o)
解决办法是发送方不做判定,点击之后间接播放,只在接收方做判定。
69)logininfo有时候为空,是怎么回事? 没有登陆。
70)删除好友后,好友照旧存在于好友列表中,那是怎么?
要先去掉缓存,再刷新列表。
71)在签到失利的境况下,仍旧举办此外操作,会油但是生哪些提醒音信?
会提醒网络错误。 72)发送的新闻内容在bubbleView上的哪个地方啊?
EMChatTextBubbleView里面。 73)问下ios
自动重连不要求代码设置吗?只要求简单地监督一下啊? 自动重连不须要设置。
74)为何添加好友用户搜索任何字符都足以查找到呢?
demo没有范围,搜什么都可以搜到,开发者可以自己设定一下。
75)环信是没有提供好友申请列表的接口,须求做地点数据保存是吗?
好友申请未处理,重启app服务器会再次给发过来。
76)使用环信sdk录制的语音是什么编码格式的?
现在的版本,音频部分已经从SDK中退出出去了,SDK已经不做拍卖了,全体放权UI上供开发者自行处理了。不过录的时候是wmv,转换成amr传过去,接收时再转换过来。
77)音讯记录保留的原理?
sdk会保存所有音信,重启app获取的新闻记录都是在缓存中的,要调用从db总得到信息记录的措施,加到缓存中,才能显得出来。
78)环信有木有可以收获具有未读音信的接口?
有收获未读音信数的接口,无法取得到拥有的未读音讯内容。
79)用户是根据环信的正经配备的, demo在xcode5.1上边也抱错?
Xcode5现行不让提交项目了,必须用Xcode6运行。
80)ios推送能够协调安装Apns显示内容吧?
能够的,现在环信已经扶助自定义推送内容了,可以支撑:1、不显得详情:“alert”:“您有一条新音讯”
2、显示详情:“alert”:“ApnsName:XXXXX”
3、自定义。可以参照下环信的连带自定义推送部分的文档。
81)突显详情这里,ApnsName为空时 前面的冒号能不可能去掉?
环信近日已支持自定义推送内容。 82)ios推送字符长度有没有限定?
跟日常新闻无异于,30kb以内。别的,自定义的字段可以整个出示。
83)好友申请可以发推送音信么?
好友申请新闻无法推送,好友申请未处理,下次报到的时候服务器会发给用户。
84)集成了环信最新的ios sdk的语音通话成效更新的时候被拒了,因为用户那边须求后台通话的作用的
,所以在工程安装中的后台打开了voico over ip,不过苹果不认同那样做?
不用开这么些。或者和苹果解释下,说用到的地点。 85)加强时语音的时候调用-
(EMCallSession *)asyncCallAudioWithChatter:(NSString *)chatter
timeout:(NSUInteger)timeout error:(EMError
**)pError;这几个函数,报那些荒唐-[EMCallManager
asyncCallAudioWithChatter:timeout:error:]: unrecognized selector sent
to instance 0x7bea96e0(崩了)是什么样原因? 借使用语音实时通话,
就导libEaseMobClientSDK.a那么些库就足以了(不可能导2个库)。
86)环信音信推送,是当地推送,如故长途推送?
ios长连接没断开是地面通告,断开了走apns。 87)iOS 文件在发送之后, 
对方的接受到消息后, 对应的文件local路径是指什么?
那一个时候文件是或不是业已存到对方沙盒内了吧?
对方接受到的时缩略图,原件须要点击查看,才能下载原件。
88)环信为什么没有@作用?将来有没有支撑的布署?
有。不过还没排期。这几个肯定也要做的,是个通用必要。
89)iOS环信消息下载后的文件无后缀,请问还索要怎么样处理啊?
不须求,发送的是怎么样,下载的就是怎么样。
90)服务端先发送的公文新闻,然后ios端再发文本音讯。收到的信息顺序是先接受ios端的然后在才接过服务端的。
后台发,那些理应发送功效难点,排序是遵从新闻接收时间。 91)勾选奥迪(Audi)o and
AirPlay后,上传App被AppStore拒绝。
不勾选那一个,然后在地点推送里安装本地推送提醒音。
92)直接通过app自己的服务器去登录环信,登录成功未来不可能聊天是怎么回事?
必须通过客户端sdk登录才能促膝交谈,客户端跟服务器之间没有长连接不可以聊天。
93)环信SDK哪些数据做了当地储存的?群组列表也是存了的?加好友、加入群组之类的打招呼呢?im都存了,其他的都要求开发者自己处理。群组列表不是前卫的,只是会报给,这么些最好或者开发者自己存。加好友、加入群组之类的通报sdk不存,ui存了。
94)头像在哪些类里面安装? EMChatViewBaseCell。
95)IOS,唯有退出登录,才总算不在线,对么?
ios不在前台,就是不在线。但要注意进入到后台3分钟后才不在线,因为ios系统会在进入后台3分钟后,把利用的总是杀死。
96)近来不协助群聊语音电话? 近来是语音单聊。 97)安卓和ios
录音的格式分别是何等?
安卓是amr格式,wav格式。iOS5原先有明确的注明,不辅助amr直接播放。之后就从未明确表明了。应该是也不匡助。iossdk中
发送: wav->amr;  接收:amr – >
wav,用libopencore那个库转的。其它,现在iOS端的语音部分已经全体从SDK剥离出去了,全体内置UI上供开发者自行处理。
98)为什么得到不到群组的owner?
获取与自我有关的群组的时候只可以看到群组ID,和群组名称,唯有调用群详情的点子才能看到,调用群详情的点子,能观望描述和owner。
99)报错:imported from module ‘UIKit…’如何改?
没有导入UIKit,#import100)一个音讯发送战败后,使用asyncSendMessage重新发送,音讯的timestamp怎么翻新?
重新发送音信,是用的以前的年月,qq处理的也是用的在此此前的岁月,sdk内部处理的岁月。
101)ios的导航栏的水彩在哪改? [[UINavigationBar appearance]
setBarTintColor:RGBACOLOR(78, 188, 211, 1)];
102)iOS要兑现一个群聊不播放指示音或者震动,只能够开发者自己达成??如故像android那样有对应的接口?
不播放,就是不调用震动和韵律就行了,要协调达成。
103)rest接口借使调用次数过大会报什么错? “会回到:503  (服务不可用)
服务器方今无法利用(由于超载或停机维护)。 常常,那只是临时状态。”
104)[self setupUIDemoDB] 这几个是必须的呢?
不是。这一个是demo中用到的第三方DB,存的是好友申请这一类的新闻。不提议选用,可以协调写一个DB举行仓储
105)在模拟器上登陆的时候会报那一个颠倒是非,是怎么回事?
应该是用户名多敲了空格。
105)八个客户端,不过却是分化的拔取,为了兑现两岸的通讯,用了第三个的appkey,用户也都是在首先个app下报了名的,可是由于推送证书要绑定app,所以第三个尚未推送,请问怎么化解?
可以上传多套证书,七个使用之间通讯只要有限支撑是同一个appkey 就行,
即使是推送的话 ,要确保项目中的证书名称跟上传出后台的证书名称一致。
106)IOS删除所有聊天记录的措施是哪位? 复制代码123456789101112/*!
@method @brief 删除所有会话对象 @discussion @param aDeleteMessages
是或不是删除这么些会话对象所提到的闲谈记录 @param append2Chat   
是还是不是加到内存中。        YES为加到内存中。加到内存中之后,
会有相应的回调被触发从而更新UI;       
NO为不加到内存中。即使不加到内存中, 则只会一向助长进DB,
不会有SDK的回调函数被触发从而去更新UI。 @result 是不是中标推行 */-
(BOOL)removeAllConversationsWithDeleteMessages:(BOOL)aDeleteMessages   
                               
append2Chat:(BOOL)append2Chat。107)用户发过来的话音信息,那边听过后,黄点(未读标识)不消退,
是怎么回事? “全局搜一下prepareMessage奥迪(Audi)oModel那几个函数
还有modelWithMessage,把 [[EaseMob sharedInstance].chatManager
insertMessageToDB:chatMessage];
换成[chatMessage?updateMessageExtToDB];” 108)[NSConcreteData
AES256Decrypt]: unrecognized selector sent to instance XXX,如何是好?
other link flags 设置-ObjC 注意分寸写。 109)framework not found Metal
for architecture armv7s 要求进步到xcode6。 110)SDK太大了,如何做?
SDK大不影响打包成ipa,打包出ipa安装包后,一般只会扩展2MB左右。
111)SDK是或不是支持64位? 帮忙。 112)不能吸收聊天音讯?
“接收聊天等回调,要注意以下几步骤:
1、表明落成IChatManagerDelegate,如: @interface
EaseMobSDKAccountManager ()2、注册当前类接收回调 [[EaseMob
sharedInstance].chatManager addDelegate:self delegateQueue:nil];
3、完结对应回调方法,如: //
收音信的回调_x000D_-(void)didReceiveMessage:(EMMessage
*)message{_x000D__x000D_}” 113)一条音讯收到很多次,为何?
“一般是由本类多次报了名了回调导致,请确定以下方式只进行了一次 [[EaseMob
sharedInstance].chatManager addDelegate:self delegateQueue:nil];
并且在类析构时注销回调 -(void)dealloc{  [[EaseMob
sharedInstance].chatManager removeDelegate:self];  ”
114)不能接收好友请求,如何是好?
请确定接受好友请求的类是或不是发轫化,并表明了IChatManagerDelegate,完结了登记回调和回调方法。
115)APP后台时手足无措收到推送,咋办?
环信将notification分为二种,一种是本土文告,一种是apns。当您后台时,长连接还留存,会走didReceiveMessage方法,要求您自己维护当地通告(即LocalNotification)。
116)APP彻底关闭,不可以接收推送? “用户可以通过以下几步检验自己的推送
1.率先必要用户上传APNS推送证书到环信管理后台。
2.在环信iOSSDK初步化时填写用户自己的证件名称。 3.注册推送。
4.真机登录环信im账号。
5.查看管理后夏洛特,对应im账户下是或不是有用户刚刚写的证书名。(若是没有,请检查是还是不是拿走了deviceToken)
6.确定用户眼前讲明是不是和融洽的项目匹配。(开发证书与生育证书须要各样对应)”
117)环信 pod 上面的SDK是最新么? “通过Cocoapods下载地址
不包括实时语音版本SDK(EaseMobClientSDKLite),引用时
#importpod’EaseMobSDK’, :git =>

包括实时语音版本SDK(EaseMobClientSDK),引用时 #importpod
‘EaseMobSDKFull’, :git =>
””

概述

如何叫推送?
粤语名称:推送
英文名称:push
定义:

    描述因特网内容提供者和因特网用户之间工作方式的术语。“推送”指因特网内容提供者定期向预订用户“提供”数据。

出于该APP下载量相比较大,考虑到要推送给持有下载app的用户,所以这边就不可以用针对于单个用户举办推送了,必须针对利用群体展开推送。场景如下:

118)注册deviceToken回调出现error,注册推送失败errorCode = 3000?

推送平台有怎么着

项目中有可能会用到推送。如若协调写一个以来,但是个耗时耗力的时,好在许多第三方商店都提供了推送服务,比如百度云。大家得以在大团结的程序中利用它。

当下常用闻名的推送平台有:

  • 信鸽,腾讯出品
  • 百度云推送, 百度出品
  • 友盟
  • 极光推送
  • Nokia音讯推送服务
  • 个推
  • MoPush

澳门葡京备用网址 1

这是安插有标题,还尚无到环信。一般是profile文件难题,或者表明没有打开推送作用。
类似这么些时候报的errorCode,能够百度化解,

百度云推送

云推送(Push)是百度开放云向开发者提供的新闻推送服务;通过拔取云端与客户端之间建立稳定、可信的长连接来为开发者提供向客户端应用推送实时音讯服务。

百度云推送服务支撑推送三种档次的音信:通告、透传信息及富媒体;帮忙向装有用户或基于标签分类向特定用户群体推送新闻;匡助更加多自定义功效(如自定义内容、后续表现、样式模板等);提供用户音讯及通告音信计算新闻,方便开发者举办持续开发及营业。

百度hi官方技术商讨群:1405944 QQ群:242190646,那里可以获得点匡助。

 

119)为啥设置EMPushNotificationOptions重临error 是nil,设置也不对?

云推送服务具有以下特征:

  1. 增强用户粘性
    通过云和端之间创立的长连接,可以实时的推送音讯到达用户端。保持与用户的牵连,大大升高用户活跃度和留存率。

  2. 节省用度
    在省电省流量上边远超行业水平,基础的信息推送服务永久免费,大大节省开发者推送的财力。

  3. 政通人和安全的推送
    强有力的分布式集群长时间为百度各大出品线提供推送服务,有限援助音信推送服务的平静、可信。

 文档中给到的php例子是那个:

EMPushNotificationOptions设置需求在你取得deviceToken成功后才能安装。请先确定deviceToken获取没难题。

百度推送

百度云推送分两有的:web端和手机端。

咱俩应用web端作为后台管理,管理推送的音信,推送的群落等,使用百度提供的web端sdk开发大家的推送管理,当然也得以利用百度推送提供的后台管理
手机端提供了android的开发包,大家必要在android中安装推送和开行推送,以吸纳推送到的音讯

百度推送帮助自定义音信标题,描述,其余自定义内容。

<?php
//消息推送Demo
header("Content-Type: text/html; charset=utf-8");
require_once(dirname(__FILE__) . '/' . 'IGt.Push.php');
define('APPKEY','请输入您的APPKEY');
define('APPID','请输入您的APPID');
define('MASTERSECRET','请输入您的MASTERSECRET');
define('HOST','http://sdk.open.api.igexin.com/apiex.htm');
define('CID','请输入您的CID');
pushMessageToApp();
function pushMessageToApp(){
    $igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
    $template = IGtLinkTemplateDemo();
    //个推信息体
    //基于应用消息体
    $message = new IGtAppMessage();
    $message->set_isOffline(true);
    $message->set_offlineExpireTime(10 * 60 * 1000);//离线时间单位为毫秒,例,两个小时离线为3600*1000*2
    $message->set_data($template);

    $appIdList=array(APPID);
    $phoneTypeList=array('ANDROID');
    $provinceList=array('浙江');
    $tagList=array('haha');

    $cdt = new AppConditions();
    $cdt->addCondition(AppConditions::PHONE_TYPE, $phoneTypeList);
    $cdt->addCondition(AppConditions::REGION, $provinceList);
    $cdt->addCondition(AppConditions::TAG, $tagList);

    $message->set_appIdList($appIdList);
    $message->set_conditions($cdt);

    $rep = $igt->pushMessageToApp($message);

    var_dump($rep);
    echo ("<br><br>");
}

function IGtLinkTemplateDemo(){
    $template =  new IGtLinkTemplate();
    $template ->set_appId(APPID);//应用appid
    $template ->set_appkey(APPKEY);//应用appkey
    $template ->set_title("请输入通知标题");//通知栏标题
    $template ->set_text("请输入通知内容");//通知栏内容
    $template ->set_logo("");//通知栏logo
    $template ->set_isRing(true);//是否响铃
    $template ->set_isVibrate(true);//是否震动
    $template ->set_isClearable(true);//通知栏是否可清除
    $template ->set_url("http://www.getui.com/");//打开连接地址
    //$template->set_notifyStyle(0);
    //$template->set_duration(BEGINTIME,ENDTIME); //设置ANDROID客户端在此时间区间内展示消息
    //iOS推送需要设置的pushInfo字段
//        $apn = new IGtAPNPayload();
//        $apn->alertMsg = "alertMsg";
//        $apn->badge = 11;
//        $apn->actionLocKey = "启动";
//    //        $apn->category = "ACTIONABLE";
//    //        $apn->contentAvailable = 1;
//        $apn->locKey = "请输入通知栏内容";
//        $apn->title = "请输入通知栏标题";
//        $apn->titleLocArgs = array("titleLocArgs");
//        $apn->titleLocKey = "请输入通知栏标题";
//        $apn->body = "body";
//        $apn->customMsg = array("payload"=>"payload");
//        $apn->launchImage = "launchImage";
//        $apn->locArgs = array("locArgs");
//
//        $apn->sound=("test1.wav");;
//        $template->set_apnInfo($apn);
    return $template;
}
?>

120)为啥提交的APNS昵称和行使证书名后台看不到?

Android端如何做

1.登记百度账户
2.投入 百度开发者
3.创制应用
4.下载sdk
5.导入sdk包,开发应用
6.在AndroidManifest.xml 中登记响应的receiver
7.在主窗体的oncreate中写

    PushManager.startWork(getApplicationContext(),
                    PushConstants.LOGIN_TYPE_API_KEY, 
                    PushServiceUtils.getMetaValue(this, "api_key"));

8.编纂自己的receiver。处理
绑定的连带音信,推送的新闻,布告栏点击后的消息

    public class MyPushMessageReceiver extends BroadcastReceiver {

        private static final String TAG = "BroadcastReceiver";

        @Override
        public void onReceive(final Context context, Intent intent) {

            Log.d(TAG, ">>> Receive intent: \r\n" + intent);

            if (intent.getAction().equals(PushConstants.ACTION_MESSAGE)) {
                // 获取消息内容
                String message = intent.getExtras().getString(
                        PushConstants.EXTRA_PUSH_MESSAGE_STRING);

                // 消息的用户自定义内容读取方式
                Log.i(TAG, "onMessage: " + message);

                // 自定义内容的json串
                Log.d(TAG,
                        "EXTRA_EXTRA = "
                                + intent.getStringExtra(PushConstants.EXTRA_EXTRA));

                // 用户在此自定义处理消息,以下代码为demo界面展示用
                Intent responseIntent = null;
                responseIntent = new Intent(PushServiceUtils.ACTION_MESSAGE);
                responseIntent.putExtra(PushServiceUtils.EXTRA_MESSAGE, message);
                responseIntent.setClass(context, MainActivity.class);
                responseIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                context.startActivity(responseIntent);

            } else if (intent.getAction().equals(PushConstants.ACTION_RECEIVE)) {
                // 处理绑定等方法的返回数据
                // PushManager.startWork()的返回值通过PushConstants.METHOD_BIND得到

                // 获取方法
                final String method = intent
                        .getStringExtra(PushConstants.EXTRA_METHOD);
                // 方法返回错误码。若绑定返回错误(非0),则应用将不能正常接收消息。
                // 绑定失败的原因有多种,如网络原因,或access token过期。
                // 请不要在出错时进行简单的startWork调用,这有可能导致死循环。
                // 可以通过限制重试次数,或者在其他时机重新调用来解决。
                int errorCode = intent.getIntExtra(PushConstants.EXTRA_ERROR_CODE,
                        PushConstants.ERROR_SUCCESS);
                String content = "";
                if (intent.getByteArrayExtra(PushConstants.EXTRA_CONTENT) != null) {
                    // 返回内容
                    content = new String(
                            intent.getByteArrayExtra(PushConstants.EXTRA_CONTENT));
                }

                // 用户在此自定义处理消息,以下代码为demo界面展示用
                Log.d(TAG, "onMessage: method : " + method);
                Log.d(TAG, "onMessage: result : " + errorCode);
                Log.d(TAG, "onMessage: content : " + content);
                Toast.makeText(
                        context,
                        "method : " + method + "\n result: " + errorCode
                                + "\n content = " + content, Toast.LENGTH_SHORT)
                        .show();

                Intent responseIntent = null;
                responseIntent = new Intent(PushServiceUtils.ACTION_RESPONSE);
                responseIntent.putExtra(PushServiceUtils.RESPONSE_METHOD, method);
                responseIntent.putExtra(PushServiceUtils.RESPONSE_ERRCODE,
                        errorCode);
                responseIntent.putExtra(PushServiceUtils.RESPONSE_CONTENT, content);
                responseIntent.setClass(context, MainActivity.class);
                responseIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                context.startActivity(responseIntent);

                // 可选。通知用户点击事件处理
            } else if (intent.getAction().equals(
                    PushConstants.ACTION_RECEIVER_NOTIFICATION_CLICK)) {
                Log.d(TAG, "intent=" + intent.toUri(0));

                // 自定义内容的json串
                String customData = intent
                        .getStringExtra(PushConstants.EXTRA_EXTRA);

                Log.d(TAG,
                        "EXTRA_EXTRA = "
                                + intent.getStringExtra(PushConstants.EXTRA_EXTRA));

                if (customData == null || "".equals(customData)) {
                    return;
                }

                Intent aIntent = new Intent();
                aIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                aIntent.setClass(
                        context,
                        com.pdwy.wulianwang.mobile.main.notification.NotificationDetails_Activity.class);
                String title = intent
                        .getStringExtra(PushConstants.EXTRA_NOTIFICATION_TITLE);
                aIntent.putExtra(PushConstants.EXTRA_NOTIFICATION_TITLE, title);
                String content = intent
                        .getStringExtra(PushConstants.EXTRA_NOTIFICATION_CONTENT);
                aIntent.putExtra(PushConstants.EXTRA_NOTIFICATION_CONTENT, content);

                String detailContent = "";
                try {
                    org.json.JSONObject json = new JSONObject(customData);
                    detailContent = json.getString("detailContent");
                } catch (JSONException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                // 保存在数据库
                NotifyDao dao = new NotifyDao();
                int notifyId = dao.saveNotify(title, content, detailContent);
                // 向消息详细页发送内容
                aIntent.putExtra("notify_id", notifyId);

                context.startActivity(aIntent);

            }
        }
    }

然后下载sdk,下载地址:

那三个也是急需用户确定了deviceToken正确获取后才得以。

web端需求做什么样

1.确立项目
2.下载sdk,引入包 bccs-api-lib-1.0.jar
3.编纂代码

    /*
     * @brief 推送单播通知(Android Push SDK拦截并解析) message_type = 1 (默认为0)
     */

    // 1. 设置developer平台的ApiKey/SecretKey
    String apiKey = "xxxxxxxxxxxxxxxxxx";
    String secretKey = "xxxxxxxxxxxxx";
    ChannelKeyPair pair = new ChannelKeyPair(apiKey, secretKey);

    // 2. 创建BaiduChannelClient对象实例
    BaiduChannelClient channelClient = new BaiduChannelClient(pair);

    // 3. 若要了解交互细节,请注册YunLogHandler类
    channelClient.setChannelLogHandler(new YunLogHandler() {
        @Override
        public void onHandle(YunLogEvent event) {
            System.out.println(event.getMessage());
        }
    });

    try {

        // 4. 创建请求类对象
        PushBroadcastMessageRequest request = new PushBroadcastMessageRequest();
        request.setDeviceType(3); // device_type => 1: web 2: pc 3:android
                                    // 4:ios 5:wp

        // request.setMessage("Hello Channel");
        // 若要通知,
        request.setMessageType(1);
        request.setMessage("{\"title\":\"Notify_title_danbo\",\"description\":\"Notify_description_content\"}");
        //request.setMessage(notify.toString());

        // 5. 调用pushMessage接口
        PushBroadcastMessageResponse response = channelClient
                .pushBroadcastMessage(request);

        // 6. 认证推送成功
        System.out.println("push amount : " + response.getSuccessAmount());

    } catch (ChannelClientException e) {
        // 处理客户端错误异常
        e.printStackTrace();
    } catch (ChannelServerException e) {
        // 处理服务端错误异常
        System.out.println(String.format(
                "request_id: %d, error_code: %d, error_message: %s",
                e.getRequestId(), e.getErrorCode(), e.getErrorMsg()));
    }

然后看我要好已毕流程:

121)项目中是否可以用任何推送,和环信推送是或不是有顶牛?

当自身在后台对某一条新闻举行推送的时候
利用ajax传过来新闻标题和内容,在控制器中用一个措施去接受:

未曾冲突。

//手机推送
    public function pushPhone()
    {
        $this->base();
        if ($this->token == 2) {
            return '';
        }
        $list_id = Request::instance()->param('list_id');
        $list_title = Request::instance()->param('list_title');
        $info = new geTui();//实例化个推类
        $listId = [
            'type' => 'list',
            'value' => $list_id,
            'title' => '消息标题',
            'content' => $list_title,//消息内容
        ];
        $res = $info->pushMessageToApp($listId);/调用推送类

        if ($res['result'] == 'ok') {
            return ['code' => '1', 'msg' => '推送成功!'];
        } else {
            return ['code' => '0', 'msg' => '推送失败!'];
        }
    }

122)是还是不是足以用环信推广告之类的其余新闻?

看一下以此geTui类存放地点以及代码:

环信的推送首要为IM服务,若是有那个须求,提议开发者用专用的推送服务。

自己把下载的sdk放在extend文件夹下了。

123)后台上传证书展现分外,怎么做?

澳门葡京备用网址 2

极度一般是因为证书制作进程不对,或者密码输入有标题,密码为开发者导出证书时设置的密码。

接下来再一次创造了一个名为geTui的php文件

124)证书不安装密码是或不是可用?

<?php
namespace app\push;
use think\Loader;

class GeTui
{
    private $host = 'http://sdk.open.api.igexin.com/apiex.htm';

    //测试
    private $appkey = '';
    private $appid = '';
    private $mastersecret = '';

    //群推接口案例
    function pushMessageToApp($mes,$listId){
        import('getui.IGt', '', '.Push.php');
        $igt = new \IGeTui($this->host, $this->appkey, $this->mastersecret);
        $template = $this->IGtTransmissionTemplateDemos($mes,$listId);
        //$template = IGtLinkTemplateDemo();
        //个推信息体
        //基于应用消息体
        Loader::import('getui\igetui\IGT.AppMessage', EXTEND_PATH);
        $message = new \IGtAppMessage();
        $message->set_isOffline(true);
        $message->set_offlineExpireTime(10 * 60 * 1000);//离线时间单位为毫秒,例,两个小时离线为3600*1000*2
        $message->set_data($template);

        $appIdList=array($this -> appid);
        $phoneTypeList=array('ANDROID');//忽略了
        $provinceList=array('浙江');//这个也忽略了
        $tagList=array('haha');
        //用户属性
        //$age = array("0000", "0010");


        //$cdt = new AppConditions();
        // $cdt->addCondition(AppConditions::PHONE_TYPE, $phoneTypeList);
        // $cdt->addCondition(AppConditions::REGION, $provinceList);
        //$cdt->addCondition(AppConditions::TAG, $tagList);
        //$cdt->addCondition("age", $age);

        $message->set_appIdList($appIdList);
        //$message->set_conditions($cdt->getCondition());

        $rep = $igt->pushMessageToApp($message);

        return $rep;
    }

//所有推送接口均支持四个消息模板,依次为通知弹框下载模板,通知链接模板,通知透传模板,透传模板
//注:IOS离线推送需通过APN进行转发,需填写pushInfo字段,目前仅不支持通知弹框下载功能

    function IGtTransmissionTemplateDemos($mes,$listId){
        import('getui.IGt', '', '.Push.php');//引入sdk文件
        $template =  new \IGtTransmissionTemplate();
        $template->set_appId($this -> appid);//应用appid
        $template->set_appkey($this->appkey);//应用appkey
        $template->set_transmissionType(2);//透传消息类型
        $template->set_transmissionContent(json_encode($listId));//透传内容

        //APN高级推送
        Loader::import('getui\igetui\IGT.APNPayload', EXTEND_PATH);
        $apn = new \IGtAPNPayload();
        $alertmsg=new \DictionaryAlertMsg();
        $alertmsg->body=$mes['content'];
        $alertmsg->actionLocKey="查看";
        $alertmsg->locKey=$listId['content'];
        $alertmsg->locArgs=array("locargs");
        $alertmsg->launchImage="launchimage";
//        IOS8.2 支持
        $alertmsg->title=$mes['title'];
        $alertmsg->titleLocKey="电力头条";
        $alertmsg->titleLocArgs=array("TitleLocArg");

        $apn->alertMsg=$alertmsg;
        $apn->badge=1;
        $apn->sound="";
        $apn->add_customMsg("payload","payload");
        $apn->contentAvailable=1;
        $apn->category="ACTIONABLE";
        $template->set_apnInfo($apn);

        //PushApn老方式传参
//    $template = new IGtAPNTemplate();
//          $template->set_pushInfo("", 10, "", "com.gexin.ios.silence", "", "", "", "");

        return $template;
    }

}

眼下要求必须设置密码。

好了,如若前端(android和ios)都以及办好选用处理的话,应该是没难点的了,该案例应用场景于所以下载app的客户,包蕴注册和未注册的,如若是对准于拥有以及登记的用户进行推送的话
提议采纳对单个用户展开推送音信。

125)项目要付出了,想测下,如何操作?

 

装进时采纳ad-hoc情势,可以打包出一个release版本的ipa,用这么些测试即可。

澳门葡京备用网址 ,正文属原创内容,为了珍贵别人劳动,转发请表明本文地址:

126)要是开发者想按home键后马上接过推送,怎么样处理?

http://www.cnblogs.com/luokakale/p/9047032.html

因为那一个时候用户如故长连接中,可以监听didReceiveMessage方法,之后开发者自己已毕localNotification。

127)IOS做退出登录有请求超时的标题。

剥离登陆时,真机时把isUnbind那些特性设为YES,
解除device_token绑定,如果出现退出解绑战败的气象,可能是从未有过互联网。

128)群音信ios登录用户发群音信,android的记名用户收不到是怎么样原因?

处理格局:请提供下发送双方的log日志,和这一个app的appkey,token,以及丢得信息的id,工作人士会开展排查。

129)把appkey下的富有用户所有设置成免骚扰。有连带接口么?

不安装推送证书,借使设置了,删掉即可。

130)环信的SDK在xcode7上能用么?

眼前的摩登版本2.2.0曾经支撑。

131)自动登陆的情景怎样时候设置为no,唯有退出登陆才设置吗?

退出的时候自动就改为no了。

132)聊天室中头像和昵称的收获,现在有啥方案吧?

和群聊的头像昵称方案是同样的,可以参考:

133)1.  2.1.9本子的sdk.a包会有与fmpeg
顶牛的情景,这几个要怎么处理啊?2.他们用到了这几个

若是用到了环信的实时语音库,同时也使用了其余第三方的库,就会冲突。

134)发实时语音 iOS 不走apns?

当前还不帮忙,现在实时语音是透过P2P直连或者Server relay。

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website