cocos creator 发布IOS版本(四) Firebase Analytics 接入

官方文档:

https://firebase.google.com/docs/ios/setup?authuser=0

 1、在Firebase 中添加iOS项目,将GoogleService-Info.plist放入Xcode项目中

2、将 Firebase SDK 添加到您的应用(使用Cocoapods 可按官方文档)

不使用Cocoapods:

SDK下载链接:

https://firebase.google.com/download/ios?authuser=0

具体包含的sdk有如下这些,根据需求添加相应的sdk,本次接入的是Firebase 的统计所以加入FirebaseAnalytics下的文件加入XCode跟目录即可

 如果和我前几篇一样先接入了Admob广告的SDK,则记得将这些Admob也替换成下载的,不然版本不统一

记得检查下lib库中是否包含

 如果没包含,选中库在右边勾选上即可

 3、初始化SDK

找到程序入口,在AppController.mm文件中application函数里添加初始化代码,

#import <FirebaseCore/FIRApp.h>

[FIRApp configure];

 添加自定义统计接口,创建DataAnalytics 类

DataAnalytics.h

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface DataAnalytics : NSObject
+ (instancetype)sharedSingleton;

+ (void)AnalyticsEventName:(NSString *)eventName andParmName1:(NSString *)parmName1 andParmValue1:(NSString *)parmValue1;

+ (void)Vibrate:(NSNumber *)value;

@end

NS_ASSUME_NONNULL_END

DataAnalytics.m

#import "DataAnalytics.h"
#import <FirebaseAnalytics/FIRAnalytics.h>
#import <AudioToolbox/AudioToolbox.h>
@interface DataAnalytics()

@end

@implementation DataAnalytics

+ (instancetype)sharedSingleton {
   static DataAnalytics *_sharedSingleton = nil;
   static dispatch_once_t onceToken;
   dispatch_once(&onceToken, ^{
       //不能再使用alloc方法
       //因为已经重写了allocWithZone方法,所以这里要调用父类的分配空间的方法
       if (_sharedSingleton==nil) {
           _sharedSingleton = [[super allocWithZone:NULL] init];
       }
       
       //[_sharedSingleton initDelegate];
       //[_sharedSingleton checkTransaction];
   });
   return _sharedSingleton;
}

//自定统计接口
+ (void)AnalyticsEventName:(NSString *)eventName andParmName1:(NSString *)parmName1 andParmValue1:(NSString *)parmValue1 {
    //NSLog(@"------调用 AnalyticsEventName----------");
    //以下是您想要开发的功能
    
    [FIRAnalytics logEventWithName:eventName
                       parameters:@{
                                    parmName1: parmValue1
                                    }];
}

@end

cocos调用接口

     * 数据打点 
     * @param eventName 事件名
     * @param paramerterName 数据名
     * @param parameterValue 数据
     */
    Analytics(eventName:string,paramerterName:string, parameterValue:string)
    {
        if (cc.sys.os == cc.sys.OS_IOS) {
            //console.log("cocos---Analytics---");
            jsb.reflection.callStaticMethod("DataAnalytics", "AnalyticsEventName:andParmName1:andParmValue1:", eventName,paramerterName, parameterValue);

        }
    }

还有其他统计需求可查看官方文档

https://firebase.google.com/docs/analytics/events?authuser=0&platform=ios

猜你喜欢

转载自blog.csdn.net/weixin_41843959/article/details/120057788