配置分发平台
要允许 Android 上的app分发平台使用凭据,services必须在项目上启用该插件。这需要修改Android目录中的两个文件。
演示:s.appwin.top
首先,将services插件添加为文件中的依赖项/android/build.gradle:
buildscript {
dependencies {
// ... other dependencies
classpath 'com.gms:services:4.3.12'
// Add me --- /\
}
}
最后,通过将以下内容添加到/android/app/build.gradle文件中来执行插件:
apply plugin: 'com.android.application'
apply plugin: 'com.gms.services' // <- Add this line
iOS 设置
为了让 iOS 应用安全地连接到您的app分发平台项目,必须下载配置文件并将其添加到您的项目中,并且您必须在 CocoaPods 中启用框架
生成 iOS 凭据
在app分发平台控制台上,添加一个新的 iOS 应用程序并输入您的项目详细信息。“iOS 捆绑包 ID”必须与您的本地项目捆绑包 ID 匹配。使用 Xcode 打开项目时,可以在“常规”选项卡中找到捆绑 ID。
下载Service-Info.plist文件。
使用 Xcode,打开项目/ios/{projectName}.xcodeproj文件(或者/ios/{projectName}.xcworkspace如果使用 Pods)。
右键单击项目名称和“添加文件”到项目中,如下所示:
通过 Xcode 添加文件
从您的计算机中选择下载的GoogleService-Info.plist文件,并确保启用“如果需要,复制项目”复选框。
选择“如果需要,复制项目”
使用 iOS 凭据配置分发平台
要允许 iOS 上的app分发平台使用凭据,必须在应用程序的引导阶段配置app分发平台iOS SDK。
为此,请打开您的/ios/{projectName}/AppDelegate.m文件,并添加以下内容:
在文件顶部,导入app分发平台SDK:
#import
在您现有的didFinishLaunchingWithOptions方法中,将以下内容添加到方法的顶部:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Add me --- \/
[App configure];
// Add me --- /\
// ...
}
改变 CocoaPods 以使用框架
从 ios-sdk v9+ (react-native v15+) 开始,您必须告诉 CocoaPods 使用框架。
打开文件./ios/Podfile并在目标中添加这一行:
use_frameworks!
要在 iOS 上使用静态框架,您还需要为项目手动启用此功能,并在/ios/Podfile文件顶部使用以下全局代码:
$RNFirebaseAsStaticFramework = true
Expo 用户可以使用expo-build-properties来开启use_frameworks. 我们不确定 Expo 用户如何将变量添加到 Podfile,并且可能需要社区对此处的配置插件做出贡献!
Noteuse_frameworks 与Flipper、Hermes、React Native New Architecture 或 react-native 0.69.0不兼容。已经有一个可用于 0.69.0 的补丁包补丁,使其可以在有和没有 Hermes 的情况下工作,它将与 0.69.1 一起发布。欢迎社区支持以帮助修复use_frameworks对 Hermes 和 New Architecture 的支持!
4. 自动链接和重建
完成上述步骤后,必须将app分发平台源码库链接到您的项目,并且需要重新构建您的应用程序。
React Native 0.60+的用户自动可以访问“自动链接”,不需要进一步的手动安装步骤。要自动链接包,请重建您的项目:
# Android apps
npx react-native run-android# iOS apps
cd ios/
pod install --repo-update
cd ..
npx react-native run-ios
成功链接和重建后,您的应用程序将使用该@react-native/app模块连接到 Firebase。该模块没有提供太多功能,因此要使用其他app分发平台服务,各个app分发平台服务的每个模块都需要单独安装。
手动链接
如果您使用的是不支持自动链接的旧版本的 React Native,或者希望集成到现有项目中,您可以按照iOS和Android的手动安装步骤进行操作。
各种各样的
Android 启用 Multidex
随着您的应用程序开始随着更多本机依赖项而增长,您的构建可能会开始失败并出现常见 Execution failed for task ':app:mergeDexDebug'错误。当 Android 达到 64k 方法限制时会发生此错误。
一种常见的解决方案是为 Android启用 multidex支持。这是解决问题的常用解决方案,但建议您阅读 Android 文档以了解它可能如何影响您的应用程序。
Hermes支持
要支持Hermes JavaScript 引擎,需要 React Native 0.64.0 或更高版本。但是,我们不能保证app分发平台源码可以在上面完美运行,所以请仔细测试您的项目。
覆盖本机 SDK 版本
React Nativeapp分发平台在内部设置每个模块使用的原生 SDK 的版本。该库的每个版本都针对一组固定的 SDK 版本(例如app分发平台SDK)进行了测试,让我们确信该库支持的每个功能都按预期工作。
有时需要更改这些版本才能很好地与其他 React Native 库配合使用;因此我们允许手动覆盖这些原生 SDK 版本。
通常不建议使用您自己的 SDK 版本,因为它可能会导致应用程序发生重大更改。谨慎行事。
安卓
在您的项目 /android/build.gradle 文件中,通过指定如下所示的任何选项来提供您自己的版本:
project.ext {
set('react-native', [
versions: [
// Overriding Build/Android SDK Versions
android : [
minSdk: 19,
targetSdk : 31,
compileSdk: 31,
buildTools: "31.0.0"
],// Overriding Library SDK Versions
firebase: [bom: "30.2.0"
],
],
])
}
更改后,使用npx react-native run-android.
iOS
打开您的项目/ios/Podfile并将下面显示的任何全局变量添加到文件顶部:
$FirebaseSDKVersion = '9.2.0'
更改后,通过 pod install 重新安装您的项目 pod 并使用npx react-native run-ios.
增加 Android 构建内存
随着您添加更多app分发平台模块,对 Android 构建系统的需求非常惊人,默认内存设置将不起作用。为避免OutOfMemory在 Android 构建期间出现错误,您应该取消注释存在于以下位置的备用 Gradle 内存设置/android/gradle.properties:
# Specifies the JVM arguments used for the daemon process.# The setting is particularly useful for tweaking memory settings.# Default value: -Xmx10248m -XX:MaxPermSize=256morg.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
【app分发平台源码|开源应用分发搭建】安卓性能
在 Android 上,React Nativeapp分发平台使用线程池执行器来提供改进的性能和托管资源。firebase.json为了提高吞吐量,您可以通过项目根目录中的文件调整线程池执行器:
// /firebase.json
{
"react-native": {
"android_task_executor_maximum_pool_size": 10,
"android_task_executor_keep_alive_seconds": 3
}
}
推荐阅读
- java|第十六课(Android打包发布)
- 支付|支付宝小程序(支付)
- app封装源码|app分发平台源码
- Alsa|Linux ALSA声卡驱动之一(ALSA架构简介)
- Jetpack|MAD,现代安卓开发技术(Android 领域开发方式的重大变革~)
- APP|被裁的38岁互联网人(10年赔偿18万、半年花光、他打算送快递)
- 从第一代到第五代,App加固技术详解
- APP开发从0到1|webview[detail] does not exist【BUG解决】【MUI+VUE】