Firebase 调研

编程入门 行业动态 更新时间:2024-10-19 20:31:37

<a href=https://www.elefans.com/category/jswz/34/1771328.html style=Firebase 调研"/>

Firebase 调研

介绍视频

费用

(eee 图片挂了)

崩溃分析是完全免费的

接入

将Firebase添加到App中

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uvyO227R-1618198940705)(media/16167457880417/16167461702939.jpg)]

按照上面的流程走完 添加完pod之后就可以到控制台查看相关的内容

使用

  1. 在控制台关联应用

  2. 添加到应用

    pod 'Firebase/Crashlytics'
    # Recommended: Add the Firebase pod for Google Analytics
    pod 'Firebase/Analytics'------
    pod install
    
    @import Firebase;
    // Use the Firebase library to configure APIs.
    [FIRApp configure];
    
  3. 初始化
    添加sh

        # Firebase Crashlytics run & upload DYSM# 运行FirebaseCrashlytics
    "${PODS_ROOT}/FirebaseCrashlytics/run"# DEBUG & ADHOC
    if [ "${CONFIGURATION}" == "DEUBG" || "${CONFIGURATION}" == "ADHOC" ]; then
    # 上传DSYM
    "${PODS_ROOT}/FirebaseCrashlytics/upload-symbols" -gsp "${PROJECT_DIR}/CoachAI/GoogleService-Info-debug.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"
    fi
    

问题

  1. 配置的过程中需要添加配置文件到项目的根目录
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" ".0.dtd">
<plist version="1.0">
<dict><key>CLIENT_ID</key><string>237864503345-281aqr0i672hb0o98jbh3rvn2ibir2kf.apps.googleusercontent</string><key>REVERSED_CLIENT_ID</key><string>com.googleusercontent.apps.237864503345-281aqr0i672hb0o98jbh3rvn2ibir2kf</string><key>API_KEY</key><string>AIzaSyD9uZBGsdtg7tODHfTCKjpGUSaIruCPBPE</string><key>GCM_SENDER_ID</key><string>237864503345</string><key>PLIST_VERSION</key><string>1</string><key>BUNDLE_ID</key><string>com.CoachView.CoachAI.lilele</string><key>PROJECT_ID</key><string>coachai-dev</string><key>STORAGE_BUCKET</key><string>coachai-dev.appspot</string><key>IS_ADS_ENABLED</key><false></false><key>IS_ANALYTICS_ENABLED</key><false></false><key>IS_APPINVITE_ENABLED</key><true></true><key>IS_GCM_ENABLED</key><true></true><key>IS_SIGNIN_ENABLED</key><true></true><key>GOOGLE_APP_ID</key><string>1:237864503345:ios:9426e88567e6b6783aed10</string>
</dict>
</plist>

在不同的环境(release adhoc)下接入Firebase的话需要不同的key 需要动态的改变这个Xml的API_KEY参数

  1. 创建项目需要的BundleId 并且需要bundle不能重复

解决

  1. 通过预编译头参数和xcconfig文件配置 动态的修改当前的xml文件
  2. 也可以通过一的方式解决

最终通过
在对个项目下创建不同环境下的应用 可以使用同一个bundleid

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hCPGp2lh-1618198940707)(media/16167457880417/16169022711643.jpg)]
在初始化的时候通过option读取不同的plist文件

在上传dysm的时候通过sh脚本区分不同的plist而文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GGrw2BCq-1618198940708)(media/16167457880417/16169024271159.jpg)]

注意事项

  • CocoaPod 版本
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9xK9Q950-1618198940710)(media/16167457880417/16167470962526.jpg)]

  • 因为不是实时上报的我们调试的时候可以通过提供的debugView能力进行多环境的测试
    参考链接 打开debugview

总结

以下为具体操作步骤 :

  • 在Firebase开发者账号中添加配置项目;
  • 点击Crashlytics选中对应项目来开通Crashlytics服务;
  • 在项目设置里下载GoogleService-Info.plist文件添加到Xcode项目中去;
  • 在项目中添加pod ‘Firebase/Analytics’ 、pod ‘Firebase/Crashlytics’,pod install
  • 在AppDelegate中的didFinishLaunchingWithOptions中添加FirebaseApp.configure()
    • 添加配置文件根据预编译条件做区分
      #if defined (DEBUG) || defined (ADHOC) [Bugly startWithAppId:@"96d46f3976"]; filePath = [[NSBundle mainBundle] pathForResource:@"GoogleService-Info-debug" ofType:@"plist"]; #else filePath = [[NSBundle mainBundle] pathForResource:@"GoogleService-Info" ofType:@"plist"]; [Bugly startWithAppId:@"70f6b8df87"]; #endif
  • 对Xcode项目配置脚本,selecte ProjectTarget -> BuildPhases -> + 添加 New Run Script
    • 同样也是通过预编译条件做区分

done

参考链接

参考链接

firebase 多环境配置
参考链接

更多推荐

Firebase 调研

本文发布于:2024-03-23 19:35:46,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1741993.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Firebase

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!