手记

极光推送-别名篇

开发环境和生产环境区别

开发环境和生产环境

这里的解释下,我们设置别名就是为了生产环境,可以简单的理解为产品上架,或者打包供用户下载的版本,设置别名则是为了区分每一个用户(会和后台联动)。而开发环境又称测试环境,就是我们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


0人推荐
随时随地看视频
慕课网APP