推送-個推的使用總結(jié)

gt.png

1疤孕、注冊個推平臺賬號拙毫。http://www.getui.com/cn/index.html
2著蛙、創(chuàng)建推送消息應用泌枪,填寫應用信息恼布,android填寫包名螺戳,iOS平臺分開發(fā)環(huán)境和正式環(huán)境,可以分別創(chuàng)建應用折汞,上傳相應的APNs的p12證書和密碼 或者等項目上線時替換成正式環(huán)境證書倔幼,10分鐘生效。
3爽待、項目集成GTSDK损同,配置AppID、AppSecret鸟款、AppKey膏燃。
4、在didFinishLaunchingWithOptions中開啟個推何什。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
   [GeTuiSdk startSdkWithAppId:kGtAppId appKey:kGtAppKey appSecret:kGtAppSecret delegate:self];
}

然后注冊遠程推送蹄梢,順序不能反!

//進行用戶權(quán)限的申請
if ([[UIDevice currentDevice].systemVersion floatValue] >= 10.0) {
    [[UNUserNotificationCenter currentNotificationCenter] requestAuthorizationWithOptions:UNAuthorizationOptionBadge|UNAuthorizationOptionSound|UNAuthorizationOptionAlert|UNAuthorizationOptionCarPlay completionHandler:^(BOOL granted, NSError * _Nullable error) {
        //在block中會傳入布爾值granted富俄,表示用戶是否同意
        if (granted) {
            //如果用戶權(quán)限申請成功禁炒,設置通知中心的代理
            dispatch_async(dispatch_get_main_queue(), ^{
                [[UIApplication sharedApplication] registerForRemoteNotifications];
            });
        }
    }];
}else{
    UIApplication *app = [UIApplication sharedApplication];
    UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound categories:nil];
    
    if ([app respondsToSelector:@selector(registerUserNotificationSettings:)]) {
        NSLog(@"8.0注冊通知");
        [app registerUserNotificationSettings:settings];
    } else {
        NSLog(@"7.0及以下 注冊通知");
        [app registerForRemoteNotificationTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound];
    }
}

5、在注冊成功的方法中處理一下蘋果返回的deviceToken,去掉兩端的尖括號和中間的空格

  - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
      NSString *token = [[deviceToken description] stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"<>"]];
      token = [token stringByReplacingOccurrencesOfString:@" " withString:@""];
      // 向個推服務器注冊deviceToken
      [GeTuiSdk registerDeviceToken:token];
}

6霍比、注冊clientId 綁定別名功能:后臺可以根據(jù)別名進行推送

  - (void)GeTuiSdkDidRegisterClient:(NSString *)clientId {
      [GeTuiSdk bindAlias:alias andSequenceNum:clientId];
  }

7幕袱、收到遠程通知消息

  #if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0
  //  iOS 10: App在前臺獲取到通知
  - (void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions))completionHandler {

      MyLog(@"willPresentNotification:%@", notification.request.content.userInfo);
// 根據(jù)APP需要,判斷是否要提示用戶Badge悠瞬、Sound们豌、Alert
      completionHandler(UNNotificationPresentationOptionBadge | UNNotificationPresentationOptionSound | UNNotificationPresentationOptionAlert);
  }

  //  iOS 10: 點擊通知進入App時觸發(fā)
  - (void)userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)())completionHandler {

      MyLog(@"didReceiveNotification:%@", response.notification.request.content.userInfo);
      // [ GTSdk ]:將收到的APNs信息傳給個推統(tǒng)計
      [GeTuiSdk handleRemoteNotification:response.notification.request.content.userInfo];
      completionHandler(UIBackgroundFetchResultNewData);
  }
  #endif


  - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
      // 將收到的APNs信息傳給個推統(tǒng)計
      [GeTuiSdk handleRemoteNotification:userInfo];
      completionHandler(UIBackgroundFetchResultNewData);
  }

8涯捻、收到透傳消息,個推iOS推送望迎,若app在前臺運行障癌,消息走透傳,若在后臺運行辩尊,消息走通知涛浙,development環(huán)境測試推送,只能走透傳消息摄欲,通知消息僅支持Android轿亮。且收到透傳消息,沒有通知欄提示胸墙。

  - (void)GeTuiSdkDidReceivePayloadData:(NSData *)payloadData andTaskId:(NSString *)taskId andMsgId:(NSString *)msgId andOffLine:(BOOL)offLine fromGtAppId:(NSString *)appId {
         NSDictionary *dict = nil;
          if (payloadData) {
              dict = [NSJSONSerialization JSONObjectWithData:payloadData options:NSJSONReadingAllowFragments error:nil];
              NSLog(@"************接收到透傳消息*************************%@",dict);
          }
  }

最后若是收不到消息我注,問題排查:

(1)檢查一下AppId 、AppKey迟隅、AppSecret是否配置正確
(2)檢查一下deviceToken是否與上傳證書的環(huán)境一致但骨。


檢測deviceToken.png

(3)檢查一下開啟個推和注冊遠程通知的順序
(4)注意測試的時候是沒有通知欄的,可以在接收透傳消息的代理中檢測是否接收到推送消息智袭。

======================================================
我是有底線的======================================================

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末奔缠,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子补履,更是在濱河造成了極大的恐慌,老刑警劉巖剿另,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件箫锤,死亡現(xiàn)場離奇詭異,居然都是意外死亡雨女,警方通過查閱死者的電腦和手機谚攒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來氛堕,“玉大人馏臭,你說我怎么就攤上這事∷现桑” “怎么了括儒?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長锐想。 經(jīng)常有香客問我帮寻,道長,這世上最難降的妖魔是什么赠摇? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任固逗,我火速辦了婚禮浅蚪,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘烫罩。我一直安慰自己惜傲,他們只是感情好,可當我...
    茶點故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布贝攒。 她就那樣靜靜地躺著盗誊,像睡著了一般。 火紅的嫁衣襯著肌膚如雪饿这。 梳的紋絲不亂的頭發(fā)上浊伙,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天,我揣著相機與錄音长捧,去河邊找鬼嚣鄙。 笑死,一個胖子當著我的面吹牛串结,可吹牛的內(nèi)容都是我干的哑子。 我是一名探鬼主播,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼肌割,長吁一口氣:“原來是場噩夢啊……” “哼卧蜓!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起把敞,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤弥奸,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后奋早,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體盛霎,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年耽装,在試婚紗的時候發(fā)現(xiàn)自己被綠了愤炸。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡掉奄,死狀恐怖规个,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情姓建,我是刑警寧澤诞仓,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站速兔,受9級特大地震影響狂芋,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜憨栽,卻給世界環(huán)境...
    茶點故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一帜矾、第九天 我趴在偏房一處隱蔽的房頂上張望翼虫。 院中可真熱鬧,春花似錦屡萤、人聲如沸珍剑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽招拙。三九已至,卻和暖如春措译,著一層夾襖步出監(jiān)牢的瞬間别凤,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工领虹, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留规哪,地道東北人。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓塌衰,卻偏偏與公主長得像诉稍,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子最疆,可洞房花燭夜當晚...
    茶點故事閱讀 42,802評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 許多集成的步驟個推官網(wǎng)都有了杯巨,這里只寫關(guān)于推送的遠程推送和本地通知的步驟和代碼。APP在后臺時:走蘋果的APNS通...
    AllureJM閱讀 2,705評論 1 9
  • 為應用創(chuàng)建 APNs 推送證書努酸,可以按照個推說明的去配置證書和描述文件 證書配置 描述文件配置 到個推注冊應用取得...
    放肆的灑脫閱讀 4,053評論 1 0
  • 極光推送: 1.JPush當前版本是1.8.2服爷,其SDK的開發(fā)除了正常的功能完善和擴展外也緊隨蘋果官方的步伐,SD...
    Isspace閱讀 6,696評論 10 16
  • 不同版本極光推送SDK集成各有差異获诈,集成時一定要注意版本號仍源,樓主已將博文更新成最新的SDK JPush v3.0....
    i順頌時宜閱讀 7,843評論 37 170
  • 所有的風景里镜会,只有努力結(jié)果的最美檬寂。 我們一生會喜歡很多事情终抽,不可能只會喜歡一個,也不可能永遠喜歡很多桶至。但是最后留下...
    九里歸一閱讀 396評論 4 3