您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“iOS如何利用Runtime實(shí)現(xiàn)友盟頁(yè)面數(shù)據(jù)統(tǒng)計(jì)功能”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“iOS如何利用Runtime實(shí)現(xiàn)友盟頁(yè)面數(shù)據(jù)統(tǒng)計(jì)功能”這篇文章吧。
一、概念
1.實(shí)現(xiàn)頁(yè)面的統(tǒng)計(jì),需要在每一個(gè)類(lèi)中實(shí)現(xiàn)這個(gè)方法:
- (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [MobClick beginLogPageView:@"控制器類(lèi)名"]; //當(dāng)然這里也可以使用self.title作為頁(yè)面的名稱(chēng),這樣在友盟后臺(tái)查看的時(shí)候更加方便些 //[MobClick beginLogPageView:self.title]; }
- (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [MobClick endLogPageView:@"控制器類(lèi)名"]; //當(dāng)然這里也可以使用self.title作為頁(yè)面的名稱(chēng),這樣在友盟后臺(tái)查看的時(shí)候更加方便些 //[MobClick endLogPageView:self.title]; }
2.用runmine + 分類(lèi)+ load 實(shí)現(xiàn)一次性統(tǒng)計(jì)頁(yè)面的訪(fǎng)問(wèn)次數(shù)
#import "UIViewController+UMTool.h" #import #import "RuntimeKit.h" @implementation UIViewController (UMTool)
+ (void)load { //創(chuàng)建新的viewWillAppear方法 [RuntimeKit methodSwap:[self class] firstMethod:@selector(viewWillAppear:) secondMethod:@selector(sh_viewWillAppear:)]; //創(chuàng)建新的viewWillDisappear方法 [RuntimeKit methodSwap:[self class] firstMethod:@selector(viewWillDisappear:) secondMethod:@selector(sh_viewWillDisappear:)]; }
- (void)sh_viewWillAppear:(BOOL)animated { [self sh_viewWillAppear:animated]; //開(kāi)始友盟頁(yè)面統(tǒng)計(jì) [MobClick beginLogPageView:[RuntimeKit fetchClassName:[self class]]]; }
//新的viewWillDisappear方法 - (void)sh_viewWillDisappear:(BOOL)animated { [self sh_viewWillDisappear:animated]; //結(jié)束友盟頁(yè)面統(tǒng)計(jì) [MobClick endLogPageView:[RuntimeKit fetchClassName:[self class]]]; } @end
原理:是利用 runtime 把新建的sh_viewWillDisappear方法和系統(tǒng)的viewWillDisappear方法交換一下實(shí)現(xiàn)
3.自定義每個(gè)界面中 SEL 的訪(fǎng)問(wèn)頁(yè)面次數(shù)和時(shí)長(zhǎng)
提供思路:
1.首先建一個(gè)類(lèi),這個(gè)類(lèi)專(zhuān)門(mén)寫(xiě)友盟的相關(guān)方法
2.把所有的方法封裝好,然后讓別的類(lèi)統(tǒng)一調(diào)用這個(gè)方法
好處:
方便團(tuán)隊(duì)管理和維護(hù),相當(dāng)于是業(yè)務(wù)層,
以上是“iOS如何利用Runtime實(shí)現(xiàn)友盟頁(yè)面數(shù)據(jù)統(tǒng)計(jì)功能”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。