JPush設置別名不走成功回調的解決辦法


     在參考了極光推送的文檔之后,對個推(單個推送)有設置別名的方法,方法如下

   [JPUSHService setTags:tags alias:alias fetchCompletionHandle:^(int iResCode, NSSet *iTags, NSString *iAlias) {
                NSLog(@"%d----%@---",iResCode,iAlias);
                
            }];

    可是當我們按照極光的DEMO正確配置之后確發現怎么也不走回調方法,此時控制台打印的是

2016-05-18 17:36:31.045 | JPUSH | E - [JPUSHService] app not registed, give up set tag:(null) alias:86

通過打印信息我們可以看到此時JpushService由於網絡的原因可能沒有很快的注冊成功(在我們公司是這樣的,網速非常慢),這里我的解決辦法是在主線程延遲調用設置別名的方法,調用如下

        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0f * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
            [JPUSHService setTags:tags alias:alias fetchCompletionHandle:^(int iResCode, NSSet *iTags, NSString *iAlias) {
                NSLog(@"%d----%@---",iResCode,iAlias);
                
            }];
        });

這里我設置的延時為1秒,通過這樣操作之后,我們就能很好的獲取回調,設置別名了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM