初始化
這里就不在說明如何初始化極光推送了,附上極光官方文檔極光官方文檔黄伊。
開發(fā)環(huán)境和生產(chǎn)環(huán)境區(qū)別
這里的解釋下,我們設(shè)置別名就是為了生產(chǎn)環(huán)境变骡,可以簡單的理解為產(chǎn)品上架,或者打包供用戶下載的版本芭逝,設(shè)置別名則是為了區(qū)分每一個用戶(會和后臺聯(lián)動)塌碌。而開發(fā)環(huán)境又稱測試環(huán)境,就是我們Xcode跑在真機(jī)上的版本旬盯。具體在極光上附上如下截圖:
下面我們就代碼展示如何設(shè)置別名
首先我們在激光初始化完成的基礎(chǔ)上設(shè)置誊爹,apsForProduction為YES
* @abstract 啟動SDK
*
* @param launchingOption 啟動參數(shù).
* @param appKey 一個JPush 應(yīng)用必須的,唯一的標(biāo)識. 請參考 JPush 相關(guān)說明文檔來獲取這個標(biāo)識.
* @param channel 發(fā)布渠道. 可選.
* @param isProduction 是否生產(chǎn)環(huán)境. 如果為開發(fā)狀態(tài),設(shè)置為 NO; 如果為生產(chǎn)狀態(tài),應(yīng)改為 YES.
* App 證書環(huán)境取決于profile provision的配置,此處建議與證書環(huán)境保持一致.
* @param advertisingIdentifier 廣告標(biāo)識符(IDFA) 如果不需要使用IDFA瓢捉,傳nil.
*
* @discussion 提供SDK啟動必須的參數(shù), 來啟動 SDK.
* 此接口必須在 App 啟動時調(diào)用, 否則 JPush SDK 將無法正常工作.
*/
+ (void)setupWithOption:(NSDictionary *)launchingOption
appKey:(NSString *)appKey
channel:(NSString *)channel
apsForProduction:(BOOL)isProduction;
在登錄成功的時候?qū)崿F(xiàn)如下代碼(設(shè)置別名)
//極光推送(登錄)user.id為個人id即綁定的別名
/**
設(shè)置Alias
@param alias 需要設(shè)置的alias
@param completion 響應(yīng)回調(diào)
@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];
在退出登錄成功的時候?qū)崿F(xiàn)如下代碼(取消別名)
//極光推送 (退出)
/**
刪除alias
@param completion 響應(yīng)回調(diào)
@param seq 請求序列號
*/
[JPUSHService deleteAlias:^(NSInteger iResCode, NSString *iAlias, NSInteger seq) {
NSLog(@"rescode: %ld, \ntags: %@, \nalias: %@\n", (long)iResCode, @"tag" , iAlias);
} seq:0];
注意:退出的時候一定要取消別名,以防用戶退出登錄的狀態(tài)下仍接受通知消息办成。
-
這樣極光推送的別名設(shè)置就完成了~