在Unity iOS中设置Firebase SDK时出现问题

时间:2018-09-20 06:25:59

标签: ios objective-c firebase unity3d appdelegate

我是一名Unity游戏开发人员,对应用程序辅助代码知之甚少,所以请原谅我做蠢事。

我正在尝试设置Firebase在我的Unity iOS应用中工作。我处于第一个设置中,试图使SDK正常运行。

因此Firebase让您执行了几个步骤,然后他们希望您在App Delegate中进行一些初始化。他们希望您添加两行,即导入和配置。这是他们设置部分的代码。

@import UIKit;
@import Firebase;

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  [FIRApp configure];
  return YES;
}

因此,Unity实际上并不使用传统的AppDelegate。我偷偷摸摸地发现this guy's work。他基本上展示了如何使用标准的Unity插件来覆盖应用程序委托。因此,将以下代码放入了我的Plugins文件夹。

#import "UnityAppController.h"
@import Firebase;

@interface OverrideAppDelegate : UnityAppController
@end


IMPL_APP_CONTROLLER_SUBCLASS(OverrideAppDelegate)


@implementation OverrideAppDelegate


-(BOOL)application:(UIApplication*) application didFinishLaunchingWithOptions:(NSDictionary*) options
{
    NSLog(@"[OverrideAppDelegate application:%@ didFinishLaunchingWithOptions:%@]", application, options);
    [FIRApp configure];
    return [super application:application didFinishLaunchingWithOptions:options];
}


@end

现在。我很确定插件可以正常工作,因为我可以在我的XCode项目中找到它,并且当我搞砸它并有两个[FIRApp configure]实例时;它实际上崩溃了,并显示了一个错误,基本上说“不要配置两次”。但是Firebase尚未从我的应用程序收到任何信息。他们会有一个提示,提示:“检查应用程序是否已与我们的服务器通信。您可能需要卸载并重新安装应用程序。”我已经卸载,重新安装,再次尝试了整个安装过程,但仍然一无所获。

有什么想法吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

如果您正在Unity中开发应用程序,则可以使用Firebase for Unity插件,而不是实现自己的iOS解决方案。尝试使用this guide将Analytics(分析)添加到您的应用中。