【IM集成攻略】手把手教你环信对接离线推送,再搞不定把你头打掉
前提条件
1.macOS系统,安装了xcode,并且配置好了cocoapods第三方管理工具
2.有苹果开发者账号
3.有环信开发者账号
(注册地址:https://console.easemob.com/user/register)
在苹果开发者中心创建项目,注册推送证书.
1.登录苹果开发者中心.
Apple Developer
(请用自己的苹果开发者账号)
2.苹果开发者中心创建 - Identifiers.
(name - empushdemo )
(identifier - com.yyytp.empushdemo )
3.钥匙串 - 从证书颁发机构请求证书
(本机证书)
4.针对刚创建的bundle id开通并注册Certificates push 证书
(注册 可以在开发和生产双环境下使用的推送证书)
5.安装证书到本机,并导出 push - p12
(这里需要格外注意操作步骤!不能展开!!!要闭合的状态导出!!!)
(因为申领的证书是双环境的,所以导出的p12文件直接复制成双份即可)
(开发证书名称 : yyytp_empush_apns_dev)
(生产证书名称 : yyytp_empush_apns_pro)
(密码 : 不告诉你)
以上是在苹果开发者中心做了两件事
1.创建了bundleid为com.yyytp.empushdemo的app
2.创建推送证书 apns-2.cer 并导出了 (.p12) 证书,复制为2份,分别命名为 yyytp_empush_apns_dev 和 yyytp_empush_apns_pro 密码是 123456
其中两份p12证书内容是完全一样的,只是命名不同,都适用于开发和生产环境,不过为了后期导入环信后台时方便辨识
===========分割线===========================
在环信console后台创建一个appkey,顺带创建一个测试username
1.登录环信console后台:https://console.easemob.com/user/login
2.创建appkey
(app_name : showpushdemo )
3.创建一个测试账号
(测试账号 : emtest 密码 1 )
========分割线=======================
在环信console后台中上传推送证书(.p12文件)
注意!!!是在刚才创建的appkey(1168171101115760#showpushdemo)下创建证书!!!
(这里需要注意的细节是:证书名不能有中文和其他特殊符号!!! 建议 字母 + 下划线)
(所以我会采用 yyytp_empush_apns_dev / yyytp_empush_apns_pro 这样的命名方式)
最终效果
=========分割线=======================
在代码中实现
1.创建项目
em_push_showdemo
2.集成环信SDK
pod 'HyphenateChat' , '3.9.0'
3.配置项目
4.代码部分如下:
下面代码是AppDelegate.m的所有代码,可直接复制粘贴
下面代码是AppDelegate.m的所有代码,可直接复制粘贴
下面代码是AppDelegate.m的所有代码,可直接复制粘贴
//
// AppDelegate.m
// em_push_showdemo
//
// Created by flower on 2022/3/14.
//#import "AppDelegate.h"
#import
#import @interface AppDelegate ()@end@implementation AppDelegate- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
/*1.注册环信SDK2.注册推送注册成功之后 绑定至环信SDK3.登录账号*/[self _registerEMCHAT];[self _registerSysPush];[self _loginEMCHAT];
return YES;}- (void)_registerEMCHAT{EMOptions *options = [EMOptions optionsWithAppkey:@"1168171101115760#showpushdemo"];options.apnsCertName = @"yyytp_empush_apns_dev";options.isAutoLogin = false;options.usingHttpsOnly = true;[EMClient.sharedClient initializeSDKWithOptions:options];}- (void)_registerSysPush{[UNUserNotificationCenter.currentNotificationCenterrequestAuthorizationWithOptions:UNAuthorizationOptionBadge|UNAuthorizationOptionSound|UNAuthorizationOptionAlertcompletionHandler:^(BOOL granted, NSError * _Nullable error) {
if (granted) {
dispatch_async(dispatch_get_main_queue(), ^{[UIApplication.sharedApplication registerForRemoteNotifications];});}}];}- (void)_loginEMCHAT{[EMClient.sharedClient loginWithUsername:@"emtest" password:@"1" completion:^(NSString *aUsername, EMError *aError) {
if (aError) {
NSLog(@"登录失败");}else{
NSLog(@"登录成功");
//下面这个updatePushDisplayStyle是设置显示效果,有两种显示效果可以设置.详情可查看枚举值(EMPushDisplayStyleSimpleBanner)的定义[EMClient.sharedClient.pushManager updatePushDisplayStyle:EMPushDisplayStyleSimpleBanner completion:^(EMError * _Nonnull aError) {}];}}];}- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken{
NSLog(@"绑定成功");
dispatch_async(dispatch_get_main_queue(), ^{[EMClient.sharedClient bindDeviceToken:deviceToken];});}- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error{}@end
4.运行至手机,运行完成后,退出APP,发送消息测试推送.
【IM集成攻略】手把手教你环信对接离线推送,再搞不定把你头打掉相关推荐
- rust高墙大门怎么造_《我的世界手游》城堡大门建造图文攻略 手把手教你城堡大门怎么建...
川北在线核心提示:原标题:<我的世界手游>城堡大门建造图文攻略 手把手教你城堡大门怎么建 我的世界手游城堡大门怎么建,盖城堡是个大工程,但是我们可以从盖一座城堡大门开始!只要走进城门,再小 ...
- 环信android手机推送苹果收不到消息,环信iOS端离线推送收不到怎么办?(客服)...
离线推送收不到,按照下面步骤一步一步进行排查: 0.如果你的app之前可以收到离线推送,突然收不到了,那么先到苹果开发者中心查看推送证书是否过期.如果过期了,需要重新制作证书,然后到环信管理后台将旧的 ...
- 我的世界1.14刷雪机java版_我的世界全自动刷雪机图文攻略 手把手教你刷雪机怎么做...
:原标题: 我的世界刷雪机怎么做?我的世界全自动刷雪机做法是什么?想必对于各位初入我的世界的小伙伴来说有些困难,接下来我们一起来看看我的世界全自动刷雪机做法吧. [需要的材料提前准备] 橡木楼梯.南瓜 ...
- css profile填写攻略,手把手教你填写CSS Profile表格
上期我们介绍了填写FAFSA的流程,如果需要申请助学金,所有学校都要求填写FAFSA表格.而CSS Profile只有大约200多所学校需要填写,其中绝大部分是私立学校.我们密西根的Univ. of ...
- ArcBlock 博客 | OCAP超简易集成攻略(Android 篇)
作者: Nate Robinson(ArcBlock 团队移动开发工程师) 5 天后,ArcBlock 第三场.中国的第一场内测版黑客马拉松即将在北京举行,截至本文推送之际,已有 56 人报名,剩余名 ...
- 抖音评论如何放置连接_给你一篇攻略,教你如何玩转抖音!
原标题:给你一篇攻略,教你如何玩转抖音! 教你如何玩转抖音 在现代网络媒体逐渐普及化的今天,深入了解网络媒体运营不可或缺.抖音作为新发展起来的网络媒体备受大众欢迎和认可,抖音的魅力和影响力也备受瞩目. ...
- 面试全攻略,教你解锁程序员面试时的正确姿势
面试全攻略,教你解锁程序员面试时的正确姿势 随着金九银十的到来很多人在考虑跳槽,特地奉上面试攻略,拿到offer不是梦 面试,难还是不难? 取决于面试者的底蕴(气场+技能).心态和认知及沟通技巧. 面 ...
- 手把手教你完成CSDN对接百度统计 看完这篇文章你还不会对接 欢迎您提刀顺着网线来砍我!!!!
大家好,我是:じ☆ve朽木,开发经验都是一步一步慢慢积累的,没有谁生来就具有的,只要我们付出了努力,肯定就会有收获!进入我的博客,带你了解Java知识,js小技巧,带你玩转高端物联网.博客地址为:じ☆ ...
- 【申博攻略】五.专家推荐信模板
文章目录 推荐信一 推荐信二 相关笔记链接: [申博攻略]一.北交计算机学院学术型博士"申请-考核"攻略(招生简章篇) [申博攻略]二.北交计算机学院学术型博士"申请-考 ...
最新文章
- 出租(标记+格式输出)
- 关于构造与析构过程中调用虚函数的问题
- SDWebImage的使用说明
- xmlspy php,XMLSpy使用流程 - tnlzz31985的个人空间 - OSCHINA - 中文开源技术交流社区
- ------webkitformboundary
- Java程序员如何高效学习,才能加快成为架构师的步伐
- AD9371+ZC706 NO-OS初始工程搭建-Vivado2019.2
- Word公式编辑器的使用方法
- 高等数学——驻点,拐点,极值点
- 淘宝手淘首页金字塔流量爬升法|运营狗
- 如何调整DOSBox窗口大小
- Market1501数据集介绍及相关代码
- c语言程序 出圈游戏,【出圈】 (C语言代码)
- oracle空值排到最前面或最后面
- 【重识云原生】第六章容器基础6.4.5.1节——Deployment概述
- javaee之http协议、request请求
- Windows快捷键☞【Win+R】常用命令
- [FOC-Simulink]使用Simulink代码生成工具基于STM32开发板对永磁同步电机进行开环控制
- 创建临时表空间组+查询临时表空间组+临时表空间移动到别的临时表空间组中
- jackson驼峰转下划线注解_springboot与web前端的下划线与驼峰的json转换配置