开发环境和生产环境区别
开发环境和生产环境
这里的解释下,我们设置别名就是为了生产环境,可以简单的理解为产品上架,或者打包供用户下载的版本,设置别名则是为了区分每一个用户(会和后台联动)。而开发环境又称测试环境,就是我们Xcode跑在真机上的版本。具体在极光上附上如下截图:
开发环境截图
生产环境截图
下面我们就代码展示如何设置别名
首先我们在激光初始化完成的基础上设置,apsForProduction为YES
* @abstract 启动SDK * * @param launchingOption 启动参数. * @param appKey 一个JPush 应用必须的,唯一的标识. 请参考 JPush 相关说明文档来获取这个标识. * @param channel 发布渠道. 可选. * @param isProduction 是否生产环境. 如果为开发状态,设置为 NO; 如果为生产状态,应改为 YES. * App 证书环境取决于profile provision的配置,此处建议与证书环境保持一致. * @param advertisingIdentifier 广告标识符(IDFA) 如果不需要使用IDFA,传nil. * * @discussion 提供SDK启动必须的参数, 来启动 SDK. * 此接口必须在 App 启动时调用, 否则 JPush SDK 将无法正常工作. */ + (void)setupWithOption:(NSDictionary *)launchingOption appKey:(NSString *)appKey channel:(NSString *)channel apsForProduction:(BOOL)isProduction;
在登录成功的时候实现如下代码(设置别名)
//极光推送(登录)user.id为个人id即绑定的别名/** 设置Alias @param alias 需要设置的alias @param completion 响应回调 @param seq 请求序列号 */ [JPUSHService setAlias:[NSString stringWithFormat:@"DC%@",user.id] completion:^(NSInteger iResCode, NSString *iAlias, NSInteger seq) { NSLog(@"rescode: %ld, \ntags: %@, \nalias: %@\n", (long)iResCode, @"tag" , iAlias); } seq:0];
在退出登录成功的时候实现如下代码(取消别名)
//极光推送 (退出)/** 删除alias @param completion 响应回调 @param seq 请求序列号 */[JPUSHService deleteAlias:^(NSInteger iResCode, NSString *iAlias, NSInteger seq) { NSLog(@"rescode: %ld, \ntags: %@, \nalias: %@\n", (long)iResCode, @"tag" , iAlias); } seq:0];
注意:退出的时候一定要取消别名,以防用户退出登录的状态下仍接受通知消息。
作者:RocketsChen
链接:https://www.jianshu.com/p/f1d49e6c9da9